1/*! For license information please see index.min.js.LICENSE.txt */ 2(self.webpackChunkekomilk_html=self.webpackChunkekomilk_html||[]).push([[57],{4602:()=>{},6850:()=>{},6292:()=>{},2266:()=>{},882:()=>{},3746:()=>{},4386:()=>{},322:()=>{},4626:()=>{},2446:()=>{},7566:()=>{},6006:()=>{},2942:()=>{},9946:()=>{},7538:()=>{},1396:()=>{},1374:()=>{},4834:()=>{},3282:()=>{},8382:()=>{},2598:()=>{},1814:()=>{},3496:()=>{},1438:()=>{},7016:()=>{},344:()=>{},928:()=>{},4874:()=>{},6358:()=>{},5630:()=>{},3290:()=>{},4624:()=>{},2243:()=>{},1798:()=>{},7426:()=>{},868:()=>{},3118:()=>{},9250:()=>{},2986:()=>{},4476:()=>{},9730:()=>{},8958:()=>{},2690:()=>{},8516:()=>{},612:()=>{},3542:()=>{},4490:()=>{},2454:()=>{},9062:()=>{},1186:()=>{},2546:()=>{},7362:()=>{},476:()=>{},2930:()=>{},3228:()=>{},858:()=>{},3438:()=>{},7372:()=>{},9402:()=>{},9852:()=>{},4854:()=>{},1966:()=>{},9764:()=>{},1516:()=>{},8716:()=>{},9758:()=>{},1566:()=>{},8410:()=>{},2510:()=>{},1072:()=>{},6506:()=>{},534:()=>{},3806:()=>{},7355:()=>{},7293:function(e){"undefined"!=typeof self&&self,e.exports=(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}},713:e=>{e.exports=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(e,n,t)=>{var s=t(646),i=t(860),a=t(206);e.exports=function(e){return s(e)||i(e)||a()}},8:e=>{function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n}},n={};function t(s){var i=n[s];if(void 0!==i)return i.exports;
vendor: 22,122 bytes, line 2
2var a=n[s]={exports:{}};return e[s](a,a.exports,t),a.exports}t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var s in n)t.o(n,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:n[s]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{"use strict";t.r(s),t.d(s,{VueSelect:()=>f,default:()=>b,mixins:()=>_});var e=t(319),n=t.n(e),i=t(8),a=t.n(i),r=t(713),o=t.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var n=this;this.autoscroll&&e&&this.$nextTick((function(){return n.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,n=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(n){var t=this.getDropdownViewport(),s=n.getBoundingClientRect(),i=s.top,a=s.bottom,r=s.height;if(i<t.top)return this.$refs.dropdownMenu.scrollTop=n.offsetTop;if(a>t.bottom)return this.$refs.dropdownMenu.scrollTop=n.offsetTop-(t.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var e=0;e<this.filteredOptions.length;e++)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},open:function(e){e&&this.typeAheadToLastSelected()},selectedValue:function(){this.open&&this.typeAheadToLastSelected()}},methods:{typeAheadUp:function(){for(var e=this.typeAheadPointer-1;e>=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e<this.filteredOptions.length;e++)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadSelect:function(){var e=this.filteredOptions[this.typeAheadPointer];e&&this.selectable(e)&&this.select(e)},typeAheadToLastSelected:function(){var e=0!==this.selectedValue.length?this.filteredOptions.indexOf(this.selectedValue[this.selectedValue.length-1]):-1;-1!==e&&(this.typeAheadPointer=e)}}},d={props:{loading:{type:Boolean,default:!1}},data:function(){return{mutableLoading:!1}},watch:{search:function(){this.$emit("search",this.search,this.toggleLoading)},loading:function(e){this.mutableLoading=e}},methods:{toggleLoading:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function u(e,n,t,s,i,a,r,o){var l,c="function"==typeof e?e.options:e;if(n&&(c.render=n,c.staticRenderFns=t,c._compiled=!0),s&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=o?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(e,n){return l.call(n),d(e,n)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}const p={Deselect:u({},(function(){var e=this.$createElement,n=this._self._c||e;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[n("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])}),[],!1,null,null,null).exports,OpenIndicator:u({},(function(){var e=this.$createElement,n=this._self._c||e;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[n("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])}),[],!1,null,null,null).exports},h={inserted:function(e,n,t){var s=t.context;if(s.appendToBody){var i=s.$refs.toggle.getBoundingClientRect(),a=i.height,r=i.top,o=i.left,l=i.width,c=window.scrollX||window.pageXOffset,d=window.scrollY||window.pageYOffset;e.unbindPosition=s.calculatePosition(e,s,{width:l+"px",left:c+o+"px",top:d+r+a+"px"}),document.body.appendChild(e)}},unbind:function(e,n,t){t.context.appendToBody&&(e.unbindPosition&&"function"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};var m=0;function v(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);n&&(s=s.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,s)}return t}function g(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?v(Object(t),!0).forEach((function(n){o()(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}const f=u({components:g({},p),directives:{appendToBody:h},mixins:[l,c,d],props:{value:{},components:{type:Object,default:function(){return{}}},options:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:function(e){return e}},selectable:{type:Function,default:function(e){return!0}},getOptionLabel:{type:Function,default:function(e){return"object"===a()(e)?e.hasOwnProperty(this.label)?e[this.label]:console.warn('[vue-select warn]: Label key "option.'.concat(this.label,'" does not')+" exist in options object ".concat(JSON.stringify(e),".\n")+"https://vue-select.org/api/props.html#getoptionlabel"):e}},getOptionKey:{type:Function,default:function(e){if("object"!==a()(e))return e;try{return e.hasOwnProperty("id")?e.id:function(e){var n={};return Object.keys(e).sort().forEach((function(t){n[t]=e[t]})),JSON.stringify(n)}(e)}catch(n){return console.warn("[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option.\nhttps://vue-select.org/api/props.html#getoptionkey",e,n)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default:function(e,n,t){return(n||"").toLocaleLowerCase().indexOf(t.toLocaleLowerCase())>-1}},filter:{type:Function,default:function(e,n){var t=this;return e.filter((function(e){var s=t.getOptionLabel(e);return"number"==typeof s&&(s=s.toString()),t.filterBy(e,s,n)}))}},createOption:{type:Function,default:function(e){return"object"===a()(this.optionList[0])?o()({},this.label,e):e}},resetOnOptionsChange:{default:!1,validator:function(e){return["function","boolean"].includes(a()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var n=e.clearSearchOnSelect,t=e.multiple;return n&&!t}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(e,n){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,n,t){var s=t.width,i=t.top,a=t.left;e.style.top=i,e.style.left=a,e.style.width=s}},dropdownShouldOpen:{type:Function,default:function(e){var n=e.noDrop,t=e.open,s=e.mutableLoading;return!n&&t&&!s}},uid:{type:[String,Number],default:function(){return++m}}},data:function(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&""!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,n={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:g({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":"vs".concat(this.uid,"__combobox"),"aria-controls":"vs".concat(this.uid,"__listbox"),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(n){return e.search=n.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:n,listFooter:n,header:g({},n,{deselect:this.deselect}),footer:g({},n,{deselect:this.deselect})}},childComponents:function(){return g({},p,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return e;var n=this.search.length?this.filter(e,this.search,this):e;if(this.taggable&&this.search.length){var t=this.createOption(this.search);this.optionExists(t)||n.unshift(t)}return n},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,n){var t=this;!this.taggable&&("function"==typeof t.resetOnOptionsChange?t.resetOnOptionsChange(e,n,t.selectedValue):t.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?"open":"close")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var n=this;Array.isArray(e)?this.$data._value=e.map((function(e){return n.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit("option:selecting",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit("option:created",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit("option:selected",e)),this.onAfterSelect(e)},deselect:function(e){var n=this;this.$emit("option:deselecting",e),this.updateValue(this.selectedValue.filter((function(t){return!n.optionComparator(t,e)}))),this.$emit("option:deselected",e)},clearSelection:function(){this.updateValue(this.multiple?[]:null)},onAfterSelect:function(e){var n=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick((function(){return n.$refs.search.focus()}))},updateValue:function(e){var n=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return n.reduce(e)})):this.reduce(e)),this.$emit("input",e)},toggleDropdown:function(e){var t=e.target!==this.searchEl;t&&e.preventDefault();var s=[].concat(n()(this.$refs.deselectButtons||[]),n()([this.$refs.clearButton]||0));void 0===this.searchEl||s.filter(Boolean).some((function(n){return n.contains(e.target)||n===e.target}))?e.preventDefault():this.open&&t?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var n=this;return this.selectedValue.some((function(t){return n.optionComparator(t,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},optionComparator:function(e,n){return this.getOptionKey(e)===this.getOptionKey(n)},findOptionFromReducedValue:function(e){var t=this,s=[].concat(n()(this.options),n()(this.pushedTags)).filter((function(n){return JSON.stringify(t.reduce(n))===JSON.stringify(e)}));return 1===s.length?s[0]:s.find((function(e){return t.optionComparator(e,t.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=n()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var n=this;return this.optionList.some((function(t){return n.optionComparator(t,e)}))},normalizeOptionForSlot:function(e){return"object"===a()(e)?e:o()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,n=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:n})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onSearchKeyDown:function(e){var n=this,t=function(e){return e.preventDefault(),!n.isComposing&&n.typeAheadSelect()},s={8:function(e){return n.maybeDeleteValue()},9:function(e){return n.onTab()},27:function(e){return n.onEscape()},38:function(e){if(e.preventDefault(),n.open)return n.typeAheadUp();n.open=!0},40:function(e){if(e.preventDefault(),n.open)return n.typeAheadDown();n.open=!0}};this.selectOnKeyCodes.forEach((function(e){return s[e]=t}));var i=this.mapKeydown(s,this);if("function"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"v-select",class:e.stateClasses,attrs:{dir:e.dir}},[e._t("header",null,null,e.scope.header),e._v(" "),t("div",{ref:"toggle",staticClass:"vs__dropdown-toggle",attrs:{id:"vs"+e.uid+"__combobox",role:"combobox","aria-expanded":e.dropdownOpen.toString(),"aria-owns":"vs"+e.uid+"__listbox","aria-label":"Search for option"},on:{mousedown:function(n){return e.toggleDropdown(n)}}},[t("div",{ref:"selectedOptions",staticClass:"vs__selected-options"},[e._l(e.selectedValue,(function(n){return e._t("selected-option-container",[t("span",{key:e.getOptionKey(n),staticClass:"vs__selected"},[e._t("selected-option",[e._v("\n "+e._s(e.getOptionLabel(n))+"\n ")],null,e.normalizeOptionForSlot(n)),e._v(" "),e.multiple?t("button",{ref:"deselectButtons",refInFor:!0,staticClass:"vs__deselect",attrs:{disabled:e.disabled,type:"button",title:"Deselect "+e.getOptionLabel(n),"aria-label":"Deselect "+e.getOptionLabel(n)},on:{click:function(t){return e.deselect(n)}}},[t(e.childComponents.Deselect,{tag:"component"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(n),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(" "),e._t("search",[t("input",e._g(e._b({staticClass:"vs__search"},"input",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(" "),t("div",{ref:"actions",staticClass:"vs__actions"},[t("button",{directives:[{name:"show",rawName:"v-show",value:e.showClearButton,expression:"showClearButton"}],ref:"clearButton",staticClass:"vs__clear",attrs:{disabled:e.disabled,type:"button",title:"Clear Selected","aria-label":"Clear Selected"},on:{click:e.clearSelection}},[t(e.childComponents.Deselect,{tag:"component"})],1),e._v(" "),e._t("open-indicator",[e.noDrop?e._e():t(e.childComponents.OpenIndicator,e._b({tag:"component"},"component",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator),e._v(" "),e._t("spinner",[t("div",{directives:[{name:"show",rawName:"v-show",value:e.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[e._v("Loading...")])],null,e.scope.spinner)],2)]),e._v(" "),t("transition",{attrs:{name:e.transition}},[e.dropdownOpen?t("ul",{directives:[{name:"append-to-body",rawName:"v-append-to-body"}],key:"vs"+e.uid+"__listbox",ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{id:"vs"+e.uid+"__listbox",role:"listbox",tabindex:"-1"},on:{mousedown:function(n){return n.preventDefault(),e.onMousedown(n)},mouseup:e.onMouseUp}},[e._t("list-header",null,null,e.scope.listHeader),e._v(" "),e._l(e.filteredOptions,(function(n,s){return t("li",{key:e.getOptionKey(n),staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--deselect":e.isOptionDeselectable(n)&&s===e.typeAheadPointer,"vs__dropdown-option--selected":e.isOptionSelected(n),"vs__dropdown-option--highlight":s===e.typeAheadPointer,"vs__dropdown-option--disabled":!e.selectable(n)},attrs:{id:"vs"+e.uid+"__option-"+s,role:"option","aria-selected":s===e.typeAheadPointer||null},on:{mouseover:function(t){e.selectable(n)&&(e.typeAheadPointer=s)},click:function(t){t.preventDefault(),t.stopPropagation(),e.selectable(n)&&e.select(n)}}},[e._t("option",[e._v("\n "+e._s(e.getOptionLabel(n))+"\n ")],null,e.normalizeOptionForSlot(n))],2)})),e._v(" "),0===e.filteredOptions.length?t("li",{staticClass:"vs__no-options"},[e._t("no-options",[e._v("\n Sorry, no matching options.\n ")],null,e.scope.noOptions)],2):e._e(),e._v(" "),e._t("list-footer",null,null,e.scope.listFooter)],2):t("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs"+e.uid+"__listbox",role:"listbox"}})]),e._v(" "),e._t("footer",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,_={ajax:d,pointer:c,pointerScroll:l},b=f})(),s})()},2226:(e,n,t)=>{"use strict";e.exports=t.p+"assets/api/product-offers.json"},8033:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/sprite.svg"},7296:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/arrow-right-sm.svg"},5539:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/arrow-right.svg"},9621:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/artw.svg"},3063:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/clock.svg"},7777:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/close.svg"},2380:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/drop.svg"},4389:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/footer-ok.svg"},3642:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/footer-vk.svg"},9882:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/home.svg"},5967:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/info.svg"},3926:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/logo.svg"},5393:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/plate.svg"},110:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/play.svg"},3162:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-all.svg"},2617:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-brine-cheese.svg"},7879:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-butter.svg"},8548:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-coctail.svg"},701:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-creme-cheese.svg"},3995:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-curd.svg"},6644:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-fused-cheese.svg"},4012:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-kefir.svg"},8292:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-milk.svg"},3221:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-sour-creme-product.
2svg"},6671:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-sour-creme.svg"},1455:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/recipes-yogurt.svg"},7180:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/tg.svg"},963:(e,n,t)=>{"use strict";e.exports=t.p+"assets/images/sprites/svg/wu.svg"},5010:(e,n,t)=>{"use strict";e.exports=t.p+"components/Advantages/Advantages.json"},9976:(e,n,t)=>{"use strict";e.exports=t.p+"components/BrandListCarousel/BrandListCarousel.json"},5688:(e,n,t)=>{"use strict";e.exports=t.p+"components/Catalog/Catalog.json"},7464:(e,n,t)=>{"use strict";e.exports=t.p+"components/CompanyHistory/CompanyHistory.json"},4824:(e,n,t)=>{"use strict";e.exports=t.p+"components/Contacts/Contacts.json"},7932:(e,n,t)=>{"use strict";e.exports=t.p+"components/Footer/Footer.json"},3392:(e,n,t)=>{"use strict";e.exports=t.p+"components/GallerySlider/GallerySlider.json"},4840:(e,n,t)=>{"use strict";e.exports=t.p+"components/Header/Header.json"},2274:(e,n,t)=>{"use strict";e.exports=t.p+"components/HistoryNumbers/HistoryNumbers.json"},6872:(e,n,t)=>{"use strict";e.exports=t.p+"components/MediaBlock/MediaBlock.json"},5900:(e,n,t)=>{"use strict";e.exports=t.p+"components/Nutrients/Nutrients.json"},2004:(e,n,t)=>{"use strict";e.exports=t.p+"components/Partners/Partners.json"},9892:(e,n,t)=>{"use strict";e.exports=t.p+"components/ProductDetail/ProductDetail.json"},5806:(e,n,t)=>{"use strict";e.exports=t.p+"components/ProductsCarousel/ProductsCarousel.json"},8686:(e,n,t)=>{"use strict";e.exports=t.p+"components/PromoCatalog/PromoCatalog.json"},2500:(e,n,t)=>{"use strict";e.exports=t.p+"components/Qualities/Qualities.json"},1600:(e,n,t)=>{"use strict";e.exports=t.p+"components/ReadAlso/ReadAlso.json"},3620:(e,n,t)=>{"use strict";e.exports=t.p+"components/RecipeDetail/RecipeDetail.json"},7816:(e,n,t)=>{"use strict";e.exports=t.p+"components/Recipes/Recipes.json"},1202:(e,n,t)=>{"use strict";e.exports=t.p+"components/RecipesPromo/RecipesPromo.json"},6736:(e,n,t)=>{"use strict";e.exports=t.p+"components/Reviews/Reviews.json"},6892:(e,n,t)=>{"use strict";e.exports=t.p+"components/SectionListCarousel/SectionListCarousel.json"},5816:(e,n,t)=>{"use strict";e.exports=t.p+"components/Sharing/Sharing.json"},2616:(e,n,t)=>{"use strict";e.exports=t.p+"components/TitleSection/TitleSection.json"},8008:(e,n,t)=>{"use strict";e.exports=t.p+"components/VideoSlider/VideoSlider.json"},4519:(e,n,t)=>{"use strict";e.exports=t.p+"data/index.json"},3294:(e,n,t)=>{"use strict";e.exports=t.p+"data/news.json"},6730:(e,n,t)=>{"use strict";e.exports=t.p+"shared/ui/Pagination/Pagination.json"},1614:e=>{"use strict";e.exports='\n\n\n<section\n class="about"\n >\n <div class="about__content">\n <img\n class="about__bg-logo"\n src="/assets/images/about/bg-logo.svg"\n alt="Ñкомилк"\n loading="lazy"\n >\n\n <picture class="about__image-container">\n <source media="(min-width: 768px)" srcset="/assets/images/about/cows-desktop.webp">\n <img class="about__image" src="/assets/images/about/cows-mobile.webp" alt="Ñкомилк">\n </picture>\n\n <div class="about__info">\n \n\n\n \n<div\n class="number-item about__info-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">6</span>\n </div>\n <div class="number-item__caption">\n ÑоÑговÑÑ
маÑок\n </div>\n </div>\n \n\n\n \n<div\n class="number-item about__info-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">50</span>\n <span class="number-item__addition">+</span>\n </div>\n <div class="number-item__caption">\n наименований\n </div>\n </div>\n \n\n\n \n<div\n class="number-item about__info-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">15</span>\n </div>\n <div class="number-item__caption">\n Ð»ÐµÑ Ð½Ð° ÑÑнке\n </div>\n </div>\n </div>\n </div>\n</section>\n'},5766:e=>{"use strict";e.exports='\n\n\n<div\n class="advantage-card "\n >\n <div class="advantage-card__name"></div>\n <div class="advantage-card__text">\n \n </div>\n\n <img src="" alt="" class="advantage-card__picture">\n</div>\n'},2792:e=>{"use strict";e.exports='\n\n\n\n<section\n class="advantages"\n >\n <h2 class="advantages__heading">ÐаÑи ÑенноÑÑи</h2>\n\n <div class="advantages__slider swiper js-advantages-carousel">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="advantage-card "\n >\n <div class="advantage-card__name">ÐнеÑгиÑ</div>\n <div class="advantage-card__text">\n ÐÑ Ñеним пÑоÑеÑÑионализм и иниÑиаÑивÑ, коÑоÑÑе помогаÑÑ ÑеÑаÑÑ ÑложнÑе задаÑи, вдоÑ
новлÑÑÑ Ð½Ð° поÑÑоÑнное движение впеÑÑд. ÐÑ ÑвеÑенÑ, ÑÑо ÑабоÑа должна пÑиноÑиÑÑ ÑадоÑÑÑ. ÐÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ Ð² ÑинеÑгии Ñ ÑелеÑÑÑÑомелÑнноÑÑÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ ÑдвигаÑÑ Ð³Ð¾ÑÑ.\n </div>
2\n\n <img src="assets/images/advantages/milk-or-yogurt-realistic-splashes-on-blue-backgrou.webp" alt="ÐнеÑгиÑ" class="advantage-card__picture">\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="advantage-card advantage-card_theme_dark"\n >\n <div class="advantage-card__name">Ðоманда</div>\n <div class="advantage-card__text">\n ÐÑ Ð´Ð¾ÑÑигаем ÑезÑлÑÑаÑа вмеÑÑе и Ñеним вклад каждого. ÐаÑа оÑÐ¾Ð±Ð°Ñ Ð³Ð¾ÑдоÑÑÑ â ÑÑо по-наÑÑоÑÑÐµÐ¼Ñ Ð´ÑÑжеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð°ÑмоÑÑеÑа, в коÑоÑой опÑÑнÑе пÑоÑеÑÑионалÑ, наÑинаÑÑие ÑпеÑиалиÑÑÑ Ð¸ ÑобÑÑвенники бизнеÑа могÑÑ Ñвободно обÑаÑÑÑÑ Ð¸ ÑлÑÑаÑÑ Ð´ÑÑг дÑÑга.\n </div>\n\n <img src="assets/images/advantages/white-heart-shape-milk-splash-isolated-on-white-ba.webp" alt="Ðоманда" class="advantage-card__picture">\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="advantage-card advantage-card_theme_primary"\n >\n <div class="advantage-card__name">ÐÑкÑÑÑоÑÑÑ</div>\n <div class="advantage-card__text">\n ÐÑ Ð¾ÑкÑÑÑо и ÑеÑÑно вÑÑказÑваем ÑÐ²Ð¾Ñ Ð¼Ð½ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð»ÑÑÑиÑ
ÑезÑлÑÑаÑов. ÐÑ Ð¿Ñедлагаем новÑе идеи, инвеÑÑиÑÑем в оÑвоение пеÑедовÑÑ
ÑеÑ
нологий Ð´Ð»Ñ ÑеализаÑии амбиÑиознÑÑ
пÑоекÑов. ÐеÑÑандаÑÑнÑй подÑ
од, лÑбознаÑелÑноÑÑÑ Ð´Ð°ÑÑ Ð½Ð°Ð¼ возможноÑÑÑ Ð²Ð¸Ð´ÐµÑÑ Ð¿ÐµÑÑпекÑÐ¸Ð²Ñ Ð¸ новÑе гоÑизонÑÑ.\n </div>\n\n <img src="assets/images/advantages/cow.webp" alt="ÐÑкÑÑÑоÑÑÑ" class="advantage-card__picture">\n</div>\n </div>\n </div>\n </div>\n</section>\n'},8214:e=>{"use strict";e.exports='\n\n\n<a\n class="brand-card brand-card_theme_white "\n href=""\n >\n <div class="brand-card__text">\n \n </div>\n\n <img\n class="brand-card__image"\n src=""\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n'},7798:e=>{"use strict";e.exports='\n\n\n\n<div\n class="brand-list-carousel js-brand-list-carousel"\n >\n <div\n class="brand-list-carousel__all-mobile"\n data-popup-invoker="brands-filter"\n >\n <span class="brand-list-carousel__all-mobile-text">ÐÑе бÑендÑ</span>\n\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon brand-list-carousel__all-mobile-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" />\n</svg>\n </div>\n\n \n\n\n\n<div\n class="popup popup_type_ordinary"\n data-popup="brands-filter"\n >\n <div class="popup__wrapper">\n <div class="popup__content">\n <button type="button" class="popup__close js-popup-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon popup__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </button>\n\n <div class="brand-popup__inner">\n <div class="brand-popup__title">\n ФилÑÑÑ\n </div>\n\n <div class="brand-popup__brands">\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/ecomilk.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/cheese.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/dessert.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/courtyard.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/altai.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/cow.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n \n <a\n class="brand-popup__brand-all"\n href="#"\n >
2\n <span class="brand-popup__brand-all-text">ÐÑе бÑендÑ</span>\n\n <img\n class="brand-popup__brand-all-image"\n src="/assets/images/brand-list-popup/all.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n \n\n \n<a\n class="brand-card brand-card_theme_white isActive brand-list-carousel__all"\n href="#"\n class="brand-list-carousel__all"\n >\n <div class="brand-card__text">\n ÐÑе бÑендÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/all-brands.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n\n <div class="brand-list-carousel__slider js-brand-list-carousel-slider swiper">\n <div class="brand-list-carousel__slider-wrapper swiper-wrapper">\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/ecomilk.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк. СÑÑÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/cheese.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк Oh!Dessert\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/dessert.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐеÑевенÑкое подвоÑÑе\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/courtyard.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐлÑайÑÐºÐ°Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑиÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/altai.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐлÑпийÑÐºÐ°Ñ ÐºÐ¾Ñовка\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/cow.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n </div>\n </div>\n</div>\n'},9782:e=>{"use strict";e.exports='\n\n\n\n\n<div\n class="catalog"\n >\n <div class="catalog__carousels">\n \n\n\n\n<div\n class="brand-list-carousel js-brand-list-carousel"\n >\n <div\n class="brand-list-carousel__all-mobile"\n data-popup-invoker="brands-filter"\n >\n <span class="brand-list-carousel__all-mobile-text">ÐÑе бÑендÑ</span>\n\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon brand-list-carousel__all-mobile-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" />\n</svg>\n </div>\n\n \n\n\n\n<div\n class="popup popup_type_ordinary"\n data-popup="brands-filter"\n >\n <div class="popup__wrapper">\n <div class="popup__content">\n <button type="button" class="popup__close js-popup-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon popup__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </button>\n\n <div class="brand-popup__inner">\n <div class="brand-popup__title">\n ФилÑÑÑ\n </div>\n\n <div class="brand-popup__brands">\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/ecomilk.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/cheese.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/dessert.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/courtyard.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/altai.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/cow.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n \n <a\n class="brand-popup__brand-all"\n href="#"\n >
2\n <span class="brand-popup__brand-all-text">ÐÑе бÑендÑ</span>\n\n <img\n class="brand-popup__brand-all-image"\n src="/assets/images/brand-list-popup/all.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n \n\n \n<a\n class="brand-card brand-card_theme_white isActive brand-list-carousel__all"\n href="#"\n class="brand-list-carousel__all"\n >\n <div class="brand-card__text">\n ÐÑе бÑендÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/all-brands.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n\n <div class="brand-list-carousel__slider js-brand-list-carousel-slider swiper">\n <div class="brand-list-carousel__slider-wrapper swiper-wrapper">\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/ecomilk.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк. СÑÑÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/cheese.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк Oh!Dessert\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/dessert.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐеÑевенÑкое подвоÑÑе\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/courtyard.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐлÑайÑÐºÐ°Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑиÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/altai.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐлÑпийÑÐºÐ°Ñ ÐºÐ¾Ñовка\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/cow.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n </div>\n </div>\n</div>\n \n\n\n\n\n<div\n class="section-list-carousel js-section-list-carousel"\n >\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse section-list-carousel__prev js-section-list-carousel-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white isActive section-list-carousel__all"\n href="#"\n class="section-list-carousel__all"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-all" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑе ÑоваÑÑ\n </div>\n</a>\n\n <div class="section-list-carousel__slider js-section-list-carousel-slider swiper">\n <div class="section-list-carousel__slider-wrapper swiper-wrapper">\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-butter" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐеÑиÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-curd" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ТвоÑог\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑана\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-fused-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-brine-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑаÑÑолÑнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-creme-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑвоÑожнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-yogurt" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑÑÑой йогÑÑÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-coctail" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐокÑейли\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme-product" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑаннÑй пÑодÑкÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n </div>\n </div>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light section-list-carousel__next js-section-list-carousel-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n</div>\n </div>\n\n <div class="catalog__cards">\n <picture class="catalog__banner">\n <source media="(min-width: 1680px)" srcset="/assets/images/catalog-list/catalog-banner-desktop.webp">\n <source media="(min-width: 1280px)" srcset="/assets/images/catalog-list/catalog-banner-desktop-sm.webp">\n <source media="(min-width: 768px)" srcset="/assets/images/catalog-list/catalog-banner-tablet.webp">\n <img class="catalog__banner-image" src="/assets/images/catalog-list/catalog-banner-mobile.webp" alt="вÑÐ±Ð¾Ñ Ð¿Ð¾ÐºÑпаÑелей">\n </picture>\n\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-4.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ÐогÑÑÑ Ñ ÐºÐ»ÐµÐ½Ð¾Ð²Ñм ÑиÑопом <br>и гÑеÑким оÑеÑ
ом 4,2%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 130 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n\n \n\n \n<div\n class="pagination pagination_theme_white catalog__pagination"\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_white pagination__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n</div>\n'},8898:e=>{"use strict";e.exports='\n\n\n\n<section\n class="company-history js-company-history"\n >\n <div class="company-history__slider swiper js-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 1999 год\n </h2>\n \n <p class="info-block__text">ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2007 год\n </h2>\n \n <p class="info-block__text">ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2015 год\n </h2>\n \n <p class="info-block__text">
2222 ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2017 год\n </h2>\n \n <p class="info-block__text">222 ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2020 год\n </h2>\n \n <p class="info-block__text">2020 ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n </div>\n </div>\n\n <div class="company-history__scale js-scale">\n <div class="company-history__scale-wrapper">\n <div\n data-step="0"\n class="company-history__scale-step isActive"\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">1999</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="1"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2007</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="2"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2015</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="3"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2017</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="4"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2020</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n </div>\n </div>\n</section>\n'},774:e=>{"use strict";e.exports='<div\n class="contacts js-contacts"\n data-pin="assets/images/contacts/mark.svg"\n>\n <h1 class="contacts__title">ÐонÑакÑÑ</h1>\n\n \n\n \n<div\n class="switch-box contacts__switcher js-contacts-switch-box"\n >\n <div class="switch-box__highlights js-switch-highlight"></div>\n <button\n type="button"\n data-value="contacts-office"\n class="switch-box__button"\n >\n ÐÑиÑ\n </button>\n <button\n type="button"\n data-value="contacts-factory"\n class="switch-box__button"\n >\n Ðавод\n </button>\n </div>\n\n <div\n data-id="contacts-office"\n class="js-contacts-tab contacts__item isActive"\n >\n <div class="contact-box">\n <p>ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»</p>\n <div class="contacts__address">ÐоÑква, Ñл. ÐеÑейÑкаÑ, д.17, оÑÐ¸Ñ 213</div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_outline-white contacts__button"\n \n\t href="https://yandex.ru/maps/?rtext=~55.710661, 37.443703&rtt=mt"\n target="_blank"\n >
2\n\n <span class="button__text">ÐÑоложиÑÑ Ð¼Ð°ÑÑÑÑÑ</span>\n \n</a>\n </div>\n\n <div class="contact-box">\n <p>ÐÑдел пÑодаж</p>\n <a href="tel:+7 495 771-74-23">+7 495 771-74-23</a>\n <br>\n <a href="mailto:[email protected]">[email protected]</a>\n </div>\n </div>\n <div\n data-id="contacts-factory"\n class="js-contacts-tab contacts__item "\n >\n <div class="contact-box">\n <p>ÐÐÐ ÐзеÑеÑкий молоÑнÑй комбинаÑ</p>\n <div class="contacts__address">ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_outline-white contacts__button"\n \n\t href="https://yandex.ru/maps/?rtext=~56.063273, 37.3955&rtt=mt"\n target="_blank"\n >\n\n <span class="button__text">ÐÑоложиÑÑ Ð¼Ð°ÑÑÑÑÑ</span>\n \n</a>\n </div>\n\n <div class="contact-box">\n <p>ÐонÑакÑÑ Ð·Ð°Ð²Ð¾Ð´Ð°</p>\n <a href="tel:+7 495 987 45 17">+7 495 987 45 17</a>\n <br>\n <a href="mailto:[email protected]">[email protected]</a>\n </div>\n </div>\n \n <div class="contact-box">\n <p>ÐÑдел HR</p>\n <a href="mailto:[email protected]">[email protected]</a>\n </div>\n\n <div class="contact-box">\n <p>ÐоÑмоÑÑеÑÑ Ð°ÐºÑÑалÑнÑе ваканÑии</p>\n <a\n href="https://hh.ru"\n target="_blank"\n class="button button_theme_outline-white contacts__button"\n >
2\n <span class="button__text">ÐеÑейÑи на hh.ru</span>\n <img src="assets/images/hh-logo.svg" alt="HeadHunter логоÑип">\n </a>\n </div>\n\n <div id="map-container" class="contacts__map"></div>\n</div>\n'},3670:e=>{"use strict";e.exports='\n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n'},234:e=>{"use strict";e.exports='\n\n\n<div\n class="error"\n >\n <picture class="error__image-container">\n <source media="(min-width: 768px)" srcset="/assets/images/404/404-desktop.webp" />\n <img class="error__image" src="/assets/images/404/404-mobile.webp" alt="404" />\n </picture>\n\n <div class="error__text">\n ÐажеÑÑÑ, данной ÑÑÑаниÑÑ Ð½Ðµ ÑÑÑеÑÑвÑеÑ.\n <br />ÐопÑобÑйÑе ÑÑоÑниÑÑ Ð°Ð´ÑÐµÑ Ð¸Ð»Ð¸Ð½Ð°ÑниÑе Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾.\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_transparent-light error__button"\n \n\t href="main.html"\n >\n\n <span class="button__text">ÐеÑейÑи на главнÑÑ</span>\n \n</a>\n</div>\n'},4470:e=>{"use strict";e.exports='\n\n\n<section\n id="feedback-app"\n class="feedback"\n >\n <div class="feedback__wrapper">\n <h2 class="feedback__heading">\n ÐÑÑÑ Ð²Ð¾Ð¿ÑоÑÑ? СвÑжиÑеÑÑ Ñ Ð½Ð°Ð¼Ð¸\n </h2>\n\n <feedback\n action="https://ecomilk.artw.dev/ajax/forms/feedback"\n class="feedback__form"\n ></feedback>\n\n <div class="feedback__picture">\n <img src="/assets/images/feedback/cow-big.webp" alt="ÐоÑова">\n </div>\n </div>\n</section>\n'},2806:e=>{"use strict";e.exports='\n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n'},9526:e=>{"use strict";e.exports='\n\n\n<div\n class="full-page-slider swiper"\n >\n <div class="full-page-slider__wrapper swiper-wrapper">\n </div>\n</div>\n'},8910:e=>{"use strict";e.exports='\n\n\n\n \n<div class="gallery-slider js-gallery-slider">\n <div class="gallery-slider__wrapper swiper-wrapper">\n <div class="gallery-slider__slide swiper-slide">\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="0"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/slider/image-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n <div class="gallery-slider__slide swiper-slide">\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="1"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/slider/image-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="2"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/slider/image-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n <div class="gallery-slider__slide swiper-slide">\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="3"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/sli
2der/image-4.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n </div>\n\n <div class="gallery-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse gallery-slider__prev js-gallery-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light gallery-slider__next js-gallery-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n\n<div\n class="popup popup_type_gallery"\n data-popup="newsGallery"\n >\n <div class="popup__wrapper">\n <div class="popup__content">\n <button type="button" class="popup__close js-popup-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon popup__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </button>\n\n <div class="gallery-popup-slider js-gallery-popup-slider">\n <div class="gallery-popup-slider__wrapper swiper-wrapper">\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-4.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n\n <div class="gallery-popup-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-white round-button_reverse gallery-popup-slider__prev js-gallery-popup-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-white gallery-popup-slider__next js-gallery-popup-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n</div>\n'},3366:e=>{"use strict";e.exports='\n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n'},6780:e=>{"use strict";e.exports='\n\n\n\n<section\n class="history-numbers"\n >\n <div class="history-numbers__content">\n <div class="history-numbers__info">\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">6</span>\n </div>\n <div class="number-item__caption">\n ÑоÑговÑÑ
маÑок\n </div>\n </div>\n </div>\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">50</span>\n <span class="number-item__addition">+</span>\n </div>\n <div class="number-item__caption">\n наименований\n </div>\n </div>\n </div>\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">15</span>\n </div>\n <div class="number-item__caption">\n Ð»ÐµÑ Ð½Ð° ÑÑнке\n </div>\n </div>\n </div>\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">89</span>\n </div>\n <div class="number-item__caption">\n Ñегионов РоÑÑии\n </div>\n </div>\n </div>\n </div>\n\n <div class="history-numbers__media">\n <img\n class="history-numbers__media-text"\n src="/assets/images/nutrients/text.svg"\n alt="нежноÑÑÑ, лÑÐ±Ð¾Ð²Ñ Ð¸ полÑза в каждой Ñпаковке"\n loading="lazy"\n >\n\n <img\n class="history-numbers__media-picture"\n src="/assets/images/history-numbers/cow-promo.webp"\n alt="коÑова"\n loading="lazy"\n >\n </div>\n </div>\n</section>\n'},3842:e=>{"use strict";e.exports='\n\n\n<div\n class="info-block "\n >\n \n \n \n </div>\n'},126:e=>{"use strict";e.exports='\n\n\n\n<div\n class="language-buttons "\n >\n </div>\n'},7626:e=>{"use strict";e.exports='\n\n\n<div\n class="media-block"\n >\n <img\n src=""\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n'},2502:e=>{"use strict";e.exports='\n\n\n<section\n class="milk-family"\n >\n \n\n\n\n\n<div\n class="split-blocks "\n >\n <div class="split-blocks__block">\n <div class="milk-family__block">\n \n\n\n<div\n class="info-block "\n >\n \n \n \n </div>\n\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src=""\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n</section>\n'},7142:e=>{"use strict";e.exports='<div class="news-list">\n\t<div class="news-list__posts">\n \n \n\n \n<a\n class="post-card post-card_size_large news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии.</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024 Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии.</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024» Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024 Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n\n \n\n \n<div\n class="pagination news-list__pagination"\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_transparent-primary pagination__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n</div>\n'},7866:e=>{"use strict";e.exports='\n\n\n\n\n<section\n class="nutrients"\n >\n <div class="nutrients__content">\n <picture class="nutrients__image-container">\n <source\n media="(min-width: 768px)"\n srcset="/assets/images/nutrients/sour-cream-desktop.webp"\n >\n <img\n class="nutrients__image"\n src="/assets/images/nutrients/sour-cream-mobile.webp"\n alt="ÑмеÑана ÑливоÑнаÑ"\n >\n </picture>\n\n <img\n class="nutrients__text-image"\n src="/assets/images/nutrients/text.svg"\n alt="нежноÑÑÑ, лÑÐ±Ð¾Ð²Ñ Ð¸ полÑза в каждой Ñпаковке"\n loading="lazy"\n >\n\n <div class="nutrients__info nutrients__info_name_composition">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/composition.svg"\n alt="ÐаÑÑÑалÑнÑй ÑоÑÑав"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_microelements">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/microelements.svg"\n alt="ÐолезнÑе микÑоÑлеменÑÑ"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_b9">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/b9.svg"\n alt="B9"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_b12">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/b12.svg"\n alt="B12"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_ca">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/ca.svg"\n alt="Ca"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_zn">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/zn.svg"\n alt="Zn"\n loading="lazy"\n >\n </div>\n \n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_light nutrients__button"\n \n\t href="#"\n >
2\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</section>\n'},5516:e=>{"use strict";e.exports='\n\n\n<div\n class="page-header"\n >\n \n\n\n \n<ul\n class="breadcrumbs breadcrumbs_light page-header__breadcrumbs"\n >\n </ul>\n\n <h1 class="page-header__title"></h1>\n <div class="page-header__text">\n \n </div>\n\n </div>\n'},8646:e=>{"use strict";e.exports='\n\n\n\n<div\n class="partners "\n >\n <div class="partners__list">\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n </div>\n <div class="partners__gradient"></div>\n</div>\n'},356:e=>{"use strict";e.exports='\n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url();"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime=""></time>\n <div class="post-card__title"></div>\n <p class="post-card__text"></p>\n </div>\n</a>\n'},5812:e=>{"use strict";e.exports='<div class="post-card-banner">\n <div class="post-card-banner__text">ÐеÑнÑÑÑÑÑ ÐºÐ¾ вÑем новоÑÑÑм</div>\n</div>'},7492:e=>{"use strict";e.exports='\n\n\n\n<div\n class="post-card-carousel js-post-card-carousel"\n >\n <div\n data-count-slides="grid"\n class="swiper js-post-card-carousel-slider"\n >\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/recipes/slider/slide-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime=""></time>\n <div class="post-card__title">ÐоÑлеÑÑ Ð¸Ð· индейки</div>\n <p class="post-card__text">ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/recipes/slider/slide-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime=""></time>\n <div class="post-card__title">ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼</div>\n <p class="post-card__text">ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/recipes/slider/slide-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime=""></time>\n <div class="post-card__title">ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼</div>\n <p class="post-card__text">ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/recipes/slider/slide-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime=""></time>\n <div class="post-card__title">ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼</div>\n <p class="post-card__text">ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/recipes/slider/slide-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime=""></time>\n <div class="post-card__title">ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼</div>\n <p class="post-card__text">ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ</p>\n </div>\n</a>\n </div>\n </div>\n </div>\n</div>\n'},7222:e=>{"use strict";e.exports='\n\n\n<div\n class="post-header "\n >\n <div class="post-header__top">\n <h1 class="post-header__title"></h1>\n\n </div>\n\n \n \n </div>\n'},1578:e=>{"use strict";
2e.exports='\n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n <div class="product-card__image">\n\t <img src="" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title"></div>\n\n <div class="product-card__row">\n </div>\n </div>\n</a>\n'},2258:e=>{"use strict";e.exports='\n <div class="product-detail js-product-detail">\n \n\n\n\n<ul\n class="breadcrumbs breadcrumbs_light"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="products.html"\n class="breadcrumbs__link"\n >ÐÑодÑкÑиÑ</a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="category.html"\n class="breadcrumbs__link"\n >ÐеÑиÑ</a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="prodcts-detail.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐеÑÐ¸Ñ Ðкомилк</a></li></ul>\n\n <div class="product-detail__card product-detail-card">\n <h1 class="product-detail-card__name">ÐеÑÐ¸Ñ Ðкомилк</h1>\n\n <div class="product-detail-card__picture">\n <img\n class="js-product-image"\n src="/assets/images/product-detail/product-detail-1.webp"\n alt="ÐзобÑажение пÑодÑкÑа"\n />\n </div>\n\n <div class="product-detail-card__properties">\n \n\n \n<div\n class="product-property product-property_size_xs product-detail-card__properties-award"\n >\n <strong>РоÑкаÑеÑÑво</strong>\n <span>2024</span>\n</div>\n \n <div class="product-detail-card__properties-list js-product-props">\n \n\n\n<div\n class="product-property "\n >\n <strong>1%</strong>\n <span>жиÑноÑÑи</span>\n</div>\n \n\n\n<div\n class="product-property "\n >\n <strong>955</strong>\n <span>мл, обÑем</span>\n</div>\n \n\n\n<div\n class="product-property "\n >\n <strong>ÐоÑÑ</strong>\n <span>по ÑÑандаÑÑам</span>\n</div>\n </div>\n </div>\n\n \n\n \n<div\n class="product-nutrients product-detail-card__nutrients"\n >\n <div class="product-nutrients__group">\n <div class="product-nutrients__title">ÐиÑÐµÐ²Ð°Ñ ÑенноÑÑÑ Ð½Ð° 100 Ð³Ñ Ð¿ÑодÑкÑа</div>\n <div class="product-nutrients__props">\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">Ðелки</span>\n <div class="product-nutrients__property-value">0,6 г</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">ÐиÑÑ</span>\n <div class="product-nutrients__property-value">82,5 г</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">УглеводÑ</span>\n <div class="product-nutrients__property-value">0,8 г</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">Ðкал</span>\n <div class="product-nutrients__property-value">748</div>\n </div>\n </div>\n </div>\n <div class="product-nutrients__group">\n <div class="product-nutrients__title">УÑÐ»Ð¾Ð²Ð¸Ñ Ñ
ÑанениÑ</div>\n <div class="product-nutrients__props">\n <div class="product-nutrients__property">
2\n <span class="product-nutrients__property-name">180 ÑÑÑок</span>\n <div class="product-nutrients__property-value">16±2°C</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">120 ÑÑÑок</span>\n <div class="product-nutrients__property-value">6±2°C</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">60 ÑÑÑок</span>\n <div class="product-nutrients__property-value">3±2°C</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class="product-detail-card__text">\n ÐолезнÑй киÑломолоÑнÑй пÑодÑкÑ, пÑигоÑовленнÑй из наÑÑÑалÑнÑÑ
ингÑедиенÑов. ÐлагодаÑÑ Ð¼Ð¾Ð»Ð¾ÑнокиÑлÑм бакÑеÑиÑм, он благоÑвоÑно влиÑÐµÑ Ð½Ð° микÑоÑлоÑÑ ÐºÐ¸ÑеÑника и ÑабоÑÑ Ð¾Ñганов пиÑеваÑениÑ, Ñ
оÑоÑо оÑиÑÐ°ÐµÑ Ð¾Ñганизм Ð¾Ñ Ñлаков и ÑокÑинов, ÑегÑлиÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½ веÑеÑÑв и ÑпоÑобÑÑвÑÐµÑ Ð¿Ð¾Ñ
ÑдениÑ.\n </div>\n\n <div class="product-detail-card__offers">\n <button\n data-index="0"\n class="product-detail-card__offers-item js-product-offer isActive"\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-1.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">955 мл 1%</span>\n </button>\n <button\n data-index="1"\n class="product-detail-card__offers-item js-product-offer "\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-2.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">944 мл 3.2%</span>\n </button>\n <button\n data-index="2"\n class="product-detail-card__offers-item js-product-offer "\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-1.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">1000 мл 5%</span>\n </button>\n <button\n data-index="3"\n class="product-detail-card__offers-item js-product-offer "\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-2.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">1200 мл 5%</span>\n </button>\n </div>\n </div>\n </div>\n'},2270:e=>{"use strict";e.exports='\n\n\n<div\n class="product-nutrients"\n >\n </div>\n'},4316:e=>{"use strict";e.exports='\n\n\n\n<section\n class="products-carousel js-products-carousel "\n >\n <h2 class="products-carousel__title">\n \n </h2>\n\n <div class="products-carousel__slider swiper js-products-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-4.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ÐогÑÑÑ Ñ ÐºÐ»ÐµÐ½Ð¾Ð²Ñм ÑиÑопом <br>и гÑеÑким оÑеÑ
ом 4,2%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 130 г\n </div>\n </div>\n </div>\n</a>\n </div>\n </div>\n </div>\n\n <div class="products-carousel__bottom">\n <div class="products-carousel__slider-controls">\n \n\n\n\n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-products-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n\n\n\t\n<button\n\tclass="round-button round-button_theme_light js-products-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n <div\n class="products-carousel__slider-pagination swiper-pagination js-products-slider-pagination"\n ></div>\n\n \n\n\n\n\t\n\t\n<a\n\tclass="button button_theme_primary products-carousel__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</section>\n'},20:e=>{"use strict";e.exports='\n\n\n\n\n<section\n class="promo-catalog js-promo-catalog"\n >\n <div class="promo-catalog__content">\n <div class="promo-catalog__top">\n <h2 class="promo-catalog__title">ÐаÑалог</h2>\n <div class="promo-catalog__brands-slider js-promo-catalog-brands-slider">\n <div class="promo-catalog__brands-slider-wrapper swiper-wrapper">\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="ecomilk">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/ecomilk.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/ecomilk-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="cheese">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/cheese.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/cheese-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="dessert">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/dessert.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/dessert-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="altai">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/altai.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/altai-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="cow">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/cow.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/cow-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="dp">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/dp.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/dp-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="horeca">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/horeca.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/horeca-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n </div>\n </div>\n </div>\n <div class="promo-catalog__bottom">\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-sli
2der="ecomilk"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-2.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-3.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-4.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-5.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-6.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-7.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="cheese"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="dessert"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="altai"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="cow"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="dp"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="horeca"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-2.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-3.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-4.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-5.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-6.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-7.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n </div>\n </div>\n</section>\n'},6:e=>{"use strict";e.exports='\n\n\n\n<div\n class="promo-catalog-slider js-promo-catalog-slider-container"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n'},5118:e=>{"use strict";e.exports='\n\n\n<section\n class="promo-picture-banner"\n >\n <div class="promo-picture-banner__content">\n <img\n src="/assets/images/about/family.webp"\n alt="ÐзобÑажение"\n class="promo-picture-banner__picture"\n >\n\n <div class="promo-picture-banner__title">\n ÐолоÑÐ½Ð°Ñ ÑемÑÑ Ñкомилк\n </div>\n </div>\n</section>\n'},2508:e=>{"use strict";e.exports='\n\n\n<section\n class="promo-video"\n >\n \n\n \n<div\n class="video js-video promo-video__video"\n >\n <video\n class="video__player js-player"\n loop\n controls\n preload="auto"\n poster=""\n >\n </video>\n\n <div class="video__screen js-screen">\n <img\n class="video__screen-preview"\n src=""\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button\n class="video__play-button"\n type="button"\n >\n <img\n class="video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n </button>\n </div>\n</div>\n</section>\n'},682:e=>{"use strict";e.exports='\n\n\n\n<section\n class="qualities"\n >\n <h2 class="qualities__heading">\n ÐаÑанÑии каÑеÑÑва\n </h2>\n\n <div class="qualities__slider swiper js-qualities-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="quality-card "\n >\n <div class="quality-card__picture">\n <img src="/assets/images/qualities/1.webp" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 01\n </div>\n <div class="quality-card__title">\n ТеÑ
нологиÑное и ÑÑÑекÑивное обоÑÑдование\n </div>\n </div>\n\n <div class="quality-card__text">\n <p>ÐÑо позволÑÐµÑ Ð½Ð°Ð¼ не ÑолÑко ÑоблÑдаÑÑ Ð²Ñе ÑÑандаÑÑÑ ÐÐСТ, но и ÑледоваÑÑ ÐµÐ²ÑопейÑким ÑкологиÑеÑким ÑÑебованиÑм по заÑиÑе окÑÑжаÑÑей ÑÑедÑ. ÐÑе ÑÑо Ð´ÐµÐ»Ð°ÐµÑ Ð½Ð°Ñе маÑло, молоко и ÑмеÑÐ°Ð½Ñ Ð°Ð¿Ð¿ÐµÑиÑнÑми и полезнÑми — Ñакими, какими Ð²Ñ Ð»ÑбиÑе!</p>\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="quality-card quality-card_theme_light"\n >\n <div class="quality-card__picture">\n <img src="/assets/images/qualities/2.webp" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 02\n </div>\n <div class="quality-card__title">\n ÐÑÑоÑайÑий ÑÑÐ¾Ð²ÐµÐ½Ñ ÐºÐ°ÑеÑÑва пÑодÑкÑии\n </div>\n </div>\n\n <div class="quality-card__text">\n <p>ÐÑ Ð³Ð¾ÑдимÑÑ Ð½Ð°Ñей ÑобÑÑвенной лабоÑаÑоÑией, ÑоÑÑÑдники коÑоÑой ÑÑаÑелÑно ÑледÑ
2Ñ Ð·Ð° каждÑм ÑÑапом пÑиÑмки ÑÑÑÑÑ Ð¸ пÑоизводÑÑва пÑодÑкÑии.</p>\n<p>ÐакÑÑÑÑй Ñикл ÑабоÑÑ Ð½Ð°Ñего обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑазÑÐ¼ÐµÐ²Ð°ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñное ÑÑаÑÑие Ñеловека в вÑпÑÑке молоÑной пÑодÑкÑии — оÑибки иÑклÑÑенÑ.</p>\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="quality-card "\n >\n <div class="quality-card__picture">\n <img src="/assets/images/qualities/3.webp" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 03\n </div>\n <div class="quality-card__title">\n СплоÑÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n </div>\n </div>\n\n <div class="quality-card__text">\n <p>Ðа каждÑм наÑим пÑодÑкÑом — лÑди, коÑоÑÑе иÑкÑенне лÑбÑÑ Ñо, Ñем они занимаÑÑÑÑ. </p>\n<p>ÐÑ Ð½Ð°Ð·Ñваем наÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ñемейной за ÑÑ ÑеплоÑÑ Ð¸ комÑоÑÑ, коÑоÑÑе Ð¼Ñ Ð¸ÑпÑÑÑваем каждÑй денÑ, ÑабоÑÐ°Ñ Ð´Ð»Ñ Ð²Ð°Ñ. ÐаждÑй Ñеловек в наÑем коллекÑиве важен, и он ÑÑо знаеÑ.</p>\n </div>\n </div>\n</div>\n </div>\n </div>\n\n <div class="qualities__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-prev-btn"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-next-btn"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n <div\n class="qualities__slider-pagination swiper-pagination js-pagination"\n ></div>\n </div>\n</section>\n'},5862:e=>{"use strict";e.exports='\n\n\n<div\n class="quality-card "\n >\n <div class="quality-card__picture">\n <img src="" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 0\n </div>\n <div class="quality-card__title">\n \n </div>\n </div>\n\n <div class="quality-card__text">\n \n </div>\n </div>\n</div>\n'},7230:e=>{"use strict";e.exports='\n<section class="read-also">\n <h2 class="read-also__title">ЧиÑайÑе Ñакже</h2>\n\n \n \n\n \n\n<div\n class="post-card-carousel js-post-card-carousel read-also__slider"\n >\n <div\n data-count-slides="grid"\n class="swiper js-post-card-carousel-slider"\n >\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2025»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2026»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2027»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2028»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2029»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2030»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n </div>\n </div>\n</div>\n </section>\n\n'},4224:e=>{"use strict";e.exports='\n\n\n<a\n class="recipe-card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="" alt="">\n </div>\n\n <div class="recipe-card__title">\n \n </div>\n\n <div class="recipe-card__text">\n \n </div>\n\n <div class="recipe-card__options">\n </div>\n</a>\n\n\n'},8470:e=>{"use strict";e.exports='\n\n\n<a\n class="recipe-card-promo "\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n \n </div>\n\n <div class="recipe-card-promo__text">\n \n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n'},7974:e=>{"use strict";e.exports='\n\n<section class="recipe-detail page-content">\n <div class="recipe-detail__content">\n <h3>РблÑде</h3>\n\n <div class="recipe-detail__text">\n <p>\n \n </p>\n </div>\n\n <div class="recipe-detail__ingredients recipe-ingredients">\n <div class="recipe-ingredients__title">\n ÐнгÑедиенÑÑ <span>(0)</span>\n </div>\n </div>\n\n \n \n \n<div class="sharing">\n\t<div class="sharing__text">ÐоделиÑÑÑÑ</div>\n\t\t\t<a class="sharing__link" href="https://vk.com/ecomilkru">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon sharing__link-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-footer-vk" />\n</svg>\n\t\t</a>\n\t</div>\n </div>\n</section>\n'},950:e=>{"use strict";e.exports='\n\n\n<div\n class="recipes"\n >\n <div class="recipes__list">\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card-promo recipes__card"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card-promo recipes__card"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets-2" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets-2) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n \n\n \n<div\n class="video-tag recipe-card-promo__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео\n </span>\n </div>\n</div>\n </a>\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n </div>\n\n \n\n \n<div\n class="pagination recipes__pagination"\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n\n\t\n\t\n<a\n\tclass="button button_theme_transparent-primary pagination__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n</div>\n'},5112:e=>{"use strict";e.exports='\n\n\n\n<section\n class="recipes-promo js-recipes-promo"\n >\n <div class="recipes-promo__info">\n <h2 class="recipes-promo__title">ÐвÑоÑÑкие ÑеÑепÑÑ</h2>\n <p>\n ÐелимÑÑ Ñ Ð²Ð°Ð¼Ð¸ авÑоÑÑкими кÑлинаÑнÑми\n ÑеÑепÑами пÑоÑÑÑÑ
домаÑниÑ
блÑд,\n коÑоÑÑе бÑдÑÑ ÑадоваÑÑ Ð²Ð°ÑÑ ÑемÑÑ\n и гоÑÑей на завÑÑак, обед или Ñжин!\n </p>\n </div>\n\n <div class="recipes-promo__slider swiper js-recipes-slider">\n <div class="swiper-wrapper">\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-1" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-1) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-2" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-2) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-3" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-3) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-4" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-4) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n </div>\n </div>\n\n <div class="recipes-promo__bottom">\n <div class="recipes-promo__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-recipes-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-recipes-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary recipes-promo__button"\n \n\t href="recipes.html"\n >\n\n <span class="button__text">ÐÑкÑÑÑÑ Ð²Ñе</span>\n \n</a>\n </div>\n</section>\n'},9628:e=>{"use strict";e.exports='\n\n\n\n<div\n class="review-card review-card_theme_primary "\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src=""\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n \n </div>\n <a class="review-card__social-link" href="">\n \n </a>\n </div>\n </div>\n <div class="review-card__text">\n \n </div>\n </div>\n\n \n </div>\n'},546:e=>{"use strict";e.exports='<div class="review-card-video" data-href="">\n <img\n class="review-card-video__preview"\n src=""\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >
2\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n'},5078:e=>{"use strict";e.exports='\n\n\n\n\n<section\n class="reviews js-reviews-slider-container"\n >\n <h2 class="reviews__title">ÐаÑи гоÑÑи на пÑоизводÑÑве</h2>\n\n <div class="reviews__slider js-reviews-slider">\n <div class="reviews__slider-wrapper swiper-wrapper">\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_soft reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n Ðван Ðванов\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >
2\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-4.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n Ðван Ðванов\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_soft review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/
2avatar-5.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ.ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_soft reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n Ðван Ðванов\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаÐ
2»Ð¾Ð²Ð°ÑÑ ÑемÑÑ.ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ.ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n </div>\n </div>\n\n <div class="reviews__slider-pagination js-reviews-slider-pagination"></div>\n\n <div class="reviews__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-reviews-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-reviews-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n</section>\n'},3682:e=>{"use strict";e.exports='\n\n\n\n<a\n class="section-item section-item_theme_white "\n href=""\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-" />\n</svg>\n </div>\n\n <div class="section-item__text">\n \n </div>\n</a>\n'},2898:e=>{"use strict";e.exports='\n\n\n\n\n<div\n class="section-list-carousel js-section-list-carousel"\n >\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse section-list-carousel__prev js-section-list-carousel-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n<a\n class="section-item section-item_theme_white isActive section-list-carousel__all"\n href="#"\n class="section-list-carousel__all"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-all" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑе ÑоваÑÑ\n </div>\n</a>\n\n <div class="section-list-carousel__slider js-section-list-carousel-slider swiper">\n <div class="section-list-carousel__slider-wrapper swiper-wrapper">\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-butter" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐеÑиÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-curd" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ТвоÑог\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑана\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-fused-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-brine-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑаÑÑолÑнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-creme-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑвоÑожнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-yogurt" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑÑÑой йогÑÑÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-coctail" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐокÑейли\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme-product" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑаннÑй пÑодÑкÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n </div>\n </div>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light section-list-carousel__next js-section-list-carousel-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n</div>\n'},5510:e=>{"use strict";e.exports='\n<div class="sharing">\n\t<div class="sharing__text">ÐоделиÑÑÑÑ</div>\n\t\t\t<a class="sharing__link" href="https://vk.com/ecomilkru">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon sharing__link-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-footer-vk" />\n</svg>\n\t\t</a>\n\t</div>\n'},7254:e=>{"use strict";e.exports='\n\n\n\n\n<div\n class="split-blocks "\n >\n <div class="split-blocks__block">\n </div>\n\n <div class="split-blocks__block">\n </div>\n</div>\n'},6010:e=>{"use strict";e.exports='\n\n\n\n\n<section\n class="title-section js-split-slider"\n >\n <div class="title-section__videos-slider js-title-section-videos-slider">\n <div class="title-section__videos-slider-wrapper swiper-wrapper">\n <div class="title-section__video swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n muted\n autoplay loop muted preload="auto"\n >\n <source src="/assets/video/video-slider/about.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/about.webm" type="video/webm">\n </video>\n </div>\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n <div class="title-section__video swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n muted\n autoplay loop muted preload="auto"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n </div>\n\n <div class="title-section__slider-navigation">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary round-button_reverse js-title-video-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary js-title-video-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n \n <div class="title-section__slider js-title-section-slider">\n <div class="title-section__slider-wrapper swiper-wrapper">\n <div class="title-section__slide swiper-slide">\n <img\n class="title-section__slide-image"\n src="/assets/images/title-screen/slides/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n <div class="title-section__slide swiper-slide">\n <img\n class="title-section__slide-image"\n src="/assets/images/title-screen/slides/slide-2.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n <a href="@" class="button button_theme_outline-light title-section__slide-link">
2\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n <div class="title-section__slide swiper-slide">\n <img\n class="title-section__slide-image"\n src="/assets/images/title-screen/slides/slide-3.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n </div>\n\n <div class="title-section__slider-navigation">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary round-button_reverse js-title-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary js-title-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n</section>\n'},3076:e=>{"use strict";e.exports='\n<div class="video-modal js-video-modal ">\n <div class="video-modal__layout">\n </div>\n\n <button\n type="button"\n class="video-modal__close js-video-modal-close"\n >\n <svg aria-hidden="true" class="svg-icon popup__close-icon">\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n </svg>\n </button>\n\n <div class="video-modal__video">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n preload="auto"\n controls >\n <source src="/assets/video/promo/about.mp4" type="video/mp4">\n <source src="/assets/video/promo/about.webm" type="video/webm">\n </video>\n </div>\n </div>\n</div>\n'},1950:e=>{"use strict";e.exports='\n\n\n\n\n<section\n class="video-slider js-video-slider"\n >\n \n\n\n\n\n<div\n class="split-blocks split-blocks_reverse "\n >\n <div class="split-blocks__block">\n <div class="video-slider__main-slider">\n <div class="swiper js-video-slider-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/nature.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h2 ">\n ÐаÑа визиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка\n </h2>\n \n <p class="info-block__text">ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло, коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.</p>\n \n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/nature.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h2 ">\n ÐаÑа каÑÑоÑка\n </h2>\n \n <p class="info-block__text">ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло, коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.</p>\n \n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/nature.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h2 ">\n ÐаÑа визиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка\n </h2>\n \n <p class="info-block__text">ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло, коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.</p>\n \n </div>\n </div>\n </div>\n </div>\n\n <div class="video-slider__slider-navigation">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary round-button_reverse js-video-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary js-video-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n <div class="video-slider__thumbs-slider swiper js-video-slider-thumbs-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n data-hls-src="https://ecomilk.artw.dev/upload/video/HSL/example_0/master.m3u8"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n data-hls-src="https://ecomilk.artw.dev/upload/video/HSL/example_1/master.m3u8"\n >\n <source src="/assets/video/video-slider/about.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/about.webm" type="video/webm">\n </video>\n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n data-hls-src="https://ecomilk.artw.dev/upload/video/HSL/example_0/master.m3u8"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n</section>\n'},4352:e=>{"use strict";e.exports='\n\n\n<section\n class="where-to-buy "\n\t>\n <h1 class="where-to-buy__title">\n Ðде кÑпиÑÑ\n </h1>\n\n <div class="where-to-buy__content">\n <div class="where-to-buy__text">\n <p>\n С пÑовеÑеннÑми пÑодÑкÑами гоÑовиÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие.\n Ðни не подведÑÑ, они гаÑанÑиÑÑÑÑ ÑезÑлÑÑаÑ.\n Ðменно поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ вдоÑ
новлÑÑÑ Ð½Ð° новÑе кÑлинаÑнÑе ÑвеÑÑениÑ.\n </p>\n </div>\n\n \n\n\n \n<div\n class="partners partners_primary where-to-buy__partners"\n >\n <div class="partners__list">\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n </div>\n <div class="partners__gradient"></div>\n</div>\n\n <div class="where-to-buy__image">\n <img src="/assets/images/partners/where-to-buy-bg.webp" alt="">\n </div>\n </div>\n</section>\n'},3187:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_brand">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-error">\n \n\n\n\n<ul\n class="breadcrumbs breadcrumbs_light"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="404.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >404</a></li></ul>\n\n \n\n\n<div\n class="error"\n >\n <picture class="error__image-container">\n <source media="(min-width: 768px)" srcset="/assets/images/404/404-desktop.webp" />\n <img class="error__image" src="/assets/images/404/404-mobile.webp" alt="404" />\n </picture>\n\n <div class="error__text">\n ÐажеÑÑÑ, данной ÑÑÑаниÑÑ Ð½Ðµ ÑÑÑеÑÑвÑеÑ.\n <br />ÐопÑобÑйÑе ÑÑоÑниÑÑ Ð°Ð´ÑÐµÑ Ð¸Ð»Ð¸Ð½Ð°ÑниÑе Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾.\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_transparent-light error__button"\n \n\t href="main.html"\n >\n\n <span class="button__text">ÐеÑейÑи на главнÑÑ</span>\n \n</a>\n</div>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>
2\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},8546:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-about">\n \n\n\n<section\n class="promo-picture-banner"\n >\n <div class="promo-picture-banner__content">\n <img\n src="/assets/images/about/family.webp"\n alt="ÐзобÑажение"\n class="promo-picture-banner__picture"\n >\n\n <div class="promo-picture-banner__title">\n ÐолоÑÐ½Ð°Ñ ÑемÑÑ Ñкомилк\n </div>\n </div>\n</section>\n\n \n\n\n<section\n class="milk-family"\n >\n \n\n\n\n\n<div\n class="split-blocks split-blocks_reverse "\n >\n <div class="split-blocks__block">\n <div class="milk-family__block">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/know_love.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n СливоÑное маÑло\n </h2>\n \n <p class="info-block__text">\n ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло,\n коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй\n вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.\n <br><br>\n Ðз года в год Ð¼Ñ ÑÑановимÑÑ Ð»Ð¸Ð´ÐµÑами по обÑÐµÐ¼Ñ Ð¿Ñодаж\n в РоÑÑии, в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ â за ÑÑÐµÑ Ð¿Ð¾ÑÑоÑнного\n конÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва наÑей пÑодÑкÑии.\n </p>\n \n </div>\n\n <div class="milk-family__hint">*Ðо даннÑм измеÑÐµÐ½Ð¸Ñ Ð¾Ð¼Ð½Ð¸ÐºÐ°Ð½Ð°Ð»Ñного ÑÑнка ÐилÑÑен (оÑлайн ÑÑнок, ÑозниÑнÑе ÑеÑи), 2024г</div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n </div>\n</div>\n</section>\n\n \n\n\n\n<section\n class="advantages"\n >\n <h2 class="advantages__heading">ÐаÑи ÑенноÑÑи</h2>\n\n <div class="advantages__slider swiper js-advantages-carousel">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="advantage-card "\n >\n <div class="advantage-card__name">ÐнеÑгиÑ</div>\n <div class="advantage-card__text">\n ÐÑ Ñеним пÑоÑеÑÑионализм и иниÑиаÑивÑ, коÑоÑÑе помогаÑÑ ÑеÑаÑÑ ÑложнÑе задаÑи, вдоÑ
новлÑÑÑ Ð½Ð° поÑÑоÑнное движение впеÑÑд. ÐÑ ÑвеÑенÑ, ÑÑо ÑабоÑа должна пÑиноÑиÑÑ ÑадоÑÑÑ. ÐÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ Ð² ÑинеÑгии Ñ ÑелеÑÑÑÑомелÑнноÑÑÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ ÑдвигаÑÑ Ð³Ð¾ÑÑ.\n </div>\n\n <img src="assets/images/advantages/milk-or-yogurt-realistic-splashes-on-blue-backgrou.webp" alt="ÐнеÑгиÑ" class="advantage-card__picture">\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="advantage-card advantage-card_theme_dark"\n >\n <div class="advantage-card__name">Ðоманда</div>\n <div class="advantage-card__text">\n ÐÑ Ð´Ð¾ÑÑигаем ÑезÑлÑÑаÑа вмеÑÑе и Ñеним вклад каждого. ÐаÑа оÑÐ¾Ð±Ð°Ñ Ð³Ð¾ÑдоÑÑÑ â ÑÑо по-наÑÑоÑÑÐµÐ¼Ñ Ð´ÑÑжеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð°ÑмоÑÑеÑа, в коÑоÑой опÑÑнÑе пÑоÑеÑÑионалÑ, наÑинаÑÑие ÑпеÑиалиÑÑÑ Ð¸ ÑобÑÑвенники бизнеÑа могÑÑ Ñвободно обÑаÑÑÑÑ Ð¸ ÑлÑÑаÑÑ Ð´ÑÑг дÑÑга.\n <
2/div>\n\n <img src="assets/images/advantages/white-heart-shape-milk-splash-isolated-on-white-ba.webp" alt="Ðоманда" class="advantage-card__picture">\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="advantage-card advantage-card_theme_primary"\n >\n <div class="advantage-card__name">ÐÑкÑÑÑоÑÑÑ</div>\n <div class="advantage-card__text">\n ÐÑ Ð¾ÑкÑÑÑо и ÑеÑÑно вÑÑказÑваем ÑÐ²Ð¾Ñ Ð¼Ð½ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð»ÑÑÑиÑ
ÑезÑлÑÑаÑов. ÐÑ Ð¿Ñедлагаем новÑе идеи, инвеÑÑиÑÑем в оÑвоение пеÑедовÑÑ
ÑеÑ
нологий Ð´Ð»Ñ ÑеализаÑии амбиÑиознÑÑ
пÑоекÑов. ÐеÑÑандаÑÑнÑй подÑ
од, лÑбознаÑелÑноÑÑÑ Ð´Ð°ÑÑ Ð½Ð°Ð¼ возможноÑÑÑ Ð²Ð¸Ð´ÐµÑÑ Ð¿ÐµÑÑпекÑÐ¸Ð²Ñ Ð¸ новÑе гоÑизонÑÑ.\n </div>\n\n <img src="assets/images/advantages/cow.webp" alt="ÐÑкÑÑÑоÑÑÑ" class="advantage-card__picture">\n</div>\n </div>\n </div>\n </div>\n</section>\n\n \n\n\n<section\n class="promo-video"\n >\n \n\n \n<div\n class="video js-video promo-video__video"\n >\n <video\n class="video__player js-player"\n loop\n controls\n preload="auto"\n poster="/assets/images/promo-video/video-poster.webp"\n >\n <source src="/assets/video/promo/about.mp4" type="video/mp4">\n <source src="/assets/video/promo/about.webm" type="video/webm">\n </video>\n\n <div class="video__screen js-screen">\n <img\n class="video__screen-preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button\n class="video__play-button"\n type="button"\n >\n <img\n class="video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n </button>\n </div>\n</div>\n</section>\n\n \n\n\n\n<section\n class="qualities"\n >\n <h2 class="qualities__heading">\n ÐаÑанÑии каÑеÑÑва\n </h2>\n\n <div class="qualities__slider swiper js-qualities-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="quality-card "\n >\n <div class="quality-card__picture">\n <img src="/assets/images/qualities/1.webp" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 01\n </div>\n <div class="quality-card__title">\n ТеÑ
нологиÑное и ÑÑÑекÑивное обоÑÑдование\n </div>\n </div>\n\n <div class="quality-card__text">\n <p>ÐÑо позволÑÐµÑ Ð½Ð°Ð¼ не ÑолÑко ÑоблÑдаÑÑ Ð²Ñе ÑÑандаÑÑÑ ÐÐСТ, но и ÑледоваÑÑ ÐµÐ²ÑопейÑким ÑкологиÑеÑким ÑÑебованиÑм по заÑиÑе окÑÑжаÑÑей ÑÑедÑ. ÐÑе ÑÑо Ð´ÐµÐ»Ð°ÐµÑ Ð½Ð°Ñе маÑло, молоко и ÑмеÑÐ°Ð½Ñ Ð°Ð¿Ð¿ÐµÑиÑнÑми и полезнÑми — Ñакими, какими Ð²Ñ Ð»ÑбиÑе!</p>\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="quality-card quality-card_theme_light"\n >\n <div class="quality-card__picture">\n <img src="/assets/images/qualities/2.webp" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 02\n </div>\n <div class="quality-card__title">\n ÐÑÑоÑайÑий ÑÑÐ¾Ð²ÐµÐ½Ñ ÐºÐ°ÑеÑÑва пÑодÑкÑии\n </div>\n </div>\n\n <div class="quality-card__text">\n <p>ÐÑ Ð³Ð¾ÑдимÑÑ Ð½Ð°Ñей ÑобÑÑвенной лабоÑаÑоÑией, ÑоÑÑÑдники коÑоÑой ÑÑаÑелÑно ÑледÑ
2Ñ Ð·Ð° каждÑм ÑÑапом пÑиÑмки ÑÑÑÑÑ Ð¸ пÑоизводÑÑва пÑодÑкÑии.</p>\n<p>ÐакÑÑÑÑй Ñикл ÑабоÑÑ Ð½Ð°Ñего обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑазÑÐ¼ÐµÐ²Ð°ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñное ÑÑаÑÑие Ñеловека в вÑпÑÑке молоÑной пÑодÑкÑии — оÑибки иÑклÑÑенÑ.</p>\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="quality-card "\n >\n <div class="quality-card__picture">\n <img src="/assets/images/qualities/3.webp" alt="ÐзобÑажение">\n </div>\n\n <div class="quality-card__block">\n <div class="quality-card__header">\n <div class="quality-card__number">\n 03\n </div>\n <div class="quality-card__title">\n СплоÑÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n </div>\n </div>\n\n <div class="quality-card__text">\n <p>Ðа каждÑм наÑим пÑодÑкÑом — лÑди, коÑоÑÑе иÑкÑенне лÑбÑÑ Ñо, Ñем они занимаÑÑÑÑ. </p>\n<p>ÐÑ Ð½Ð°Ð·Ñваем наÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ñемейной за ÑÑ ÑеплоÑÑ Ð¸ комÑоÑÑ, коÑоÑÑе Ð¼Ñ Ð¸ÑпÑÑÑваем каждÑй денÑ, ÑабоÑÐ°Ñ Ð´Ð»Ñ Ð²Ð°Ñ. ÐаждÑй Ñеловек в наÑем коллекÑиве важен, и он ÑÑо знаеÑ.</p>\n </div>\n </div>\n</div>\n </div>\n </div>\n\n <div class="qualities__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-prev-btn"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-next-btn"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n <div\n class="qualities__slider-pagination swiper-pagination js-pagination"\n ></div>\n </div>\n</section>\n\n \n\n\n<section\n class="milk-family"\n >\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="milk-family__block">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/command.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h3 ">\n ÐаÑе пÑоизводÑÑво\n </h2>\n \n <p class="info-block__text">Ð Ñвоем пÑоизводÑÑве Ð¼Ñ Ð¸ÑполÑзÑем Ñамое ÑÑÑекÑивное и ÑеÑ
нологиÑное обоÑÑдование, ÑÑо позволÑÐµÑ Ð½Ð°Ð¼ не ÑолÑко ÑоблÑдаÑÑ Ð²Ñе ÑÑандаÑÑÑ ÐÐСТ, но и ÑледоваÑÑ ÐµÐ²ÑопейÑким ÑкологиÑеÑким ÑÑебованиÑм по заÑиÑе окÑÑжаÑÑей ÑÑедÑ.</p>\n \n </div>\n\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/track.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n</section>\n\n \n\n\n\n<section\n class="history-numbers"\n >\n <div class="history-numbers__content">\n <div class="history-numbers__info">\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">6</span>\n </div>\n <div class="number-item__caption">\n ÑоÑговÑÑ
маÑок\n </div>\n </div>\n </div>\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">50</span>
2\n <span class="number-item__addition">+</span>\n </div>\n <div class="number-item__caption">\n наименований\n </div>\n </div>\n </div>\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">15</span>\n </div>\n <div class="number-item__caption">\n Ð»ÐµÑ Ð½Ð° ÑÑнке\n </div>\n </div>\n </div>\n <div class="history-numbers__info-item">\n \n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">89</span>\n </div>\n <div class="number-item__caption">\n Ñегионов РоÑÑии\n </div>\n </div>\n </div>\n </div>\n\n <div class="history-numbers__media">\n <img\n class="history-numbers__media-text"\n src="/assets/images/nutrients/text.svg"\n alt="нежноÑÑÑ, лÑÐ±Ð¾Ð²Ñ Ð¸ полÑза в каждой Ñпаковке"\n loading="lazy"\n >\n\n <img\n class="history-numbers__media-picture"\n src="/assets/images/history-numbers/cow-promo.webp"\n alt="коÑова"\n loading="lazy"\n >\n </div>\n </div>\n</section>\n\n \n\n\n\n<section\n class="company-history js-company-history"\n >\n <div class="company-history__slider swiper js-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 1999 год\n </h2>\n \n <p class="info-block__text">ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2007 год\n </h2>\n \n <p class="info-block__text">ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2015 год\n </h2>\n \n <p class="info-block__text">
2222 ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2017 год\n </h2>\n \n <p class="info-block__text">222 ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n <div class="swiper-slide">\n \n\n\n\n\n<div\n class="split-blocks split-blocks_last-show"\n >\n <div class="split-blocks__block">\n <div class="info-block-container">\n \n\n\n<div\n class="info-block info-block_size_xs"\n >\n \n \n\n\n \n<div\n class="circle-brand-icon circle-brand-icon_size_xs info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/cow-head-white.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/history-white.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n 2020 год\n </h2>\n \n <p class="info-block__text">2020 ÐÑоÑÑм пÑодÑкÑом, коÑоÑÑй Ð¼Ñ Ð²Ñвели на ÑÑнок, ÑÑала ÑмеÑана. ÐÑÐ¾Ñ Ð²Ð°Ð¶Ð½Ñй Ñаг бÑл Ñделан в 2007 годÑ, и Ñ ÑеÑ
Ð¿Ð¾Ñ Ð½Ð°Ñа ÑмеÑана завоевала лÑÐ±Ð¾Ð²Ñ Ð¿Ð¾ÐºÑпаÑелей, благодаÑÑ ÑÐ²Ð¾ÐµÐ¼Ñ Ð½ÐµÐ¶Ð½Ð¾Ð¼Ñ Ð²ÐºÑÑÑ Ð¸ наÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑоÑÑавÑ.</p>\n \n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n </div>\n </div>\n </div>\n\n <div class="company-history__scale js-scale">\n <div class="company-history__scale-wrapper">\n <div\n data-step="0"\n class="company-history__scale-step isActive"\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">1999</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="1"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2007</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="2"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2015</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="3"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2017</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n <div\n data-step="4"\n class="company-history__scale-step "\n >\n <div class="company-history__scale-step-value">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon company-history__scale-step-value-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-drop" />\n</svg>\n <div class="company-history__scale-step-value-text">2020</div>\n </div>\n <div class="company-history__scale-step-track"></div>\n </div>\n </div>\n </div>\n</section>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">
2\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},5988:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_light">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-catalog">\n \n\n\n<div\n class="page-header"\n >\n \n\n\n \n<ul\n class="breadcrumbs breadcrumbs_light page-header__breadcrumbs"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="catalog.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐаÑалог</a></li></ul>\n\n <h1 class="page-header__title">ÐаÑалог</h1>\n <div class="page-header__text">\n <p>С пÑовеÑеннÑми пÑодÑкÑами гоÑовиÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие. Ðни не подведÑÑ, они гаÑанÑиÑÑÑÑ ÑезÑлÑÑаÑ. Ðменно поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ вдоÑ
новлÑÑÑ Ð½Ð° новÑе кÑлинаÑнÑе ÑвеÑÑениÑ.</p>\n </div>\n\n <img src="/assets/images/page-header/catalog.webp" alt="" class="page-header__picture">\n </div>\n\n \n\n\n\n\n<div\n class="catalog"\n >\n <div class="catalog__carousels">\n \n\n\n\n<div\n class="brand-list-carousel js-brand-list-carousel"\n >\n <div\n class="brand-list-carousel__all-mobile"\n data-popup-invoker="brands-filter"\n >\n <span class="brand-list-carousel__all-mobile-text">ÐÑе бÑендÑ</span>\n\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon brand-list-carousel__all-mobile-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" />\n</svg>\n </div>\n\n \n\n\n\n<div\n class="popup popup_type_ordinary"\n data-popup="brands-filter"\n >\n <div class="popup__wrapper">\n <div class="popup__content">\n <button type="button" class="popup__close js-popup-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon popup__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </button>\n\n <div class="brand-popup__inner">\n <div class="brand-popup__title">\n ФилÑÑÑ\n </div>\n\n <div class="brand-popup__brands">\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/ecomilk.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/cheese.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/dessert.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/courtyard.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/altai.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n <a\n class="brand-popup__brand"\n href="#"\n >\n <img\n class="brand-popup__brand-image"\n src="/assets/images/brand-list-popup/cow.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n \n <a\n class="brand-popup__brand-all"\n href="#"\n >
2\n <span class="brand-popup__brand-all-text">ÐÑе бÑендÑ</span>\n\n <img\n class="brand-popup__brand-all-image"\n src="/assets/images/brand-list-popup/all.webp"\n alt="логоÑип бÑÑнда"\n loading="lazy"\n >\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n \n\n \n<a\n class="brand-card brand-card_theme_white isActive brand-list-carousel__all"\n href="#"\n class="brand-list-carousel__all"\n >\n <div class="brand-card__text">\n ÐÑе бÑендÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/all-brands.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n\n <div class="brand-list-carousel__slider js-brand-list-carousel-slider swiper">\n <div class="brand-list-carousel__slider-wrapper swiper-wrapper">\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/ecomilk.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк. СÑÑÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/cheese.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n Ðкомилк Oh!Dessert\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/dessert.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐеÑевенÑкое подвоÑÑе\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/courtyard.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐлÑайÑÐºÐ°Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑиÑ\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/altai.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n <div class="brand-list-carousel__slide swiper-slide">\n \n\n \n<a\n class="brand-card brand-card_theme_white brand-list-carousel__slide-content"\n href="#"\n class="brand-list-carousel__slide-content"\n >\n <div class="brand-card__text">\n ÐлÑпийÑÐºÐ°Ñ ÐºÐ¾Ñовка\n </div>\n\n <img\n class="brand-card__image"\n src="/assets/images/brand-list-carousel/cow.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n</a>\n\n\n </div>\n </div>\n </div>\n</div>\n \n\n\n\n\n<div\n class="section-list-carousel js-section-list-carousel"\n >\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse section-list-carousel__prev js-section-list-carousel-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white isActive section-list-carousel__all"\n href="#"\n class="section-list-carousel__all"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-all" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑе ÑоваÑÑ\n </div>\n</a>\n\n <div class="section-list-carousel__slider js-section-list-carousel-slider swiper">\n <div class="section-list-carousel__slider-wrapper swiper-wrapper">\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-butter" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐеÑиÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-curd" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ТвоÑог\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑана\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-fused-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-brine-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑаÑÑолÑнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-creme-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑвоÑожнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-yogurt" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑÑÑой йогÑÑÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-coctail" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐокÑейли\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme-product" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑаннÑй пÑодÑкÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-item_mobile-text-white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n </div>\n </div>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light section-list-carousel__next js-section-list-carousel-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n</div>\n </div>\n\n <div class="catalog__cards">\n <picture class="catalog__banner">\n <source media="(min-width: 1680px)" srcset="/assets/images/catalog-list/catalog-banner-desktop.webp">\n <source media="(min-width: 1280px)" srcset="/assets/images/catalog-list/catalog-banner-desktop-sm.webp">\n <source media="(min-width: 768px)" srcset="/assets/images/catalog-list/catalog-banner-tablet.webp">\n <img class="catalog__banner-image" src="/assets/images/catalog-list/catalog-banner-mobile.webp" alt="вÑÐ±Ð¾Ñ Ð¿Ð¾ÐºÑпаÑелей">\n </picture>\n\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-4.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ÐогÑÑÑ Ñ ÐºÐ»ÐµÐ½Ð¾Ð²Ñм ÑиÑопом <br>и гÑеÑким оÑеÑ
ом 4,2%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 130 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n\n \n\n \n<div\n class="pagination pagination_theme_white catalog__pagination"\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_white pagination__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n</div>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>
2\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},9106:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_brand">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-contacts">\n \n\n\n\n<ul\n class="breadcrumbs breadcrumbs_light"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="contacts.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐонÑакÑÑ</a></li></ul>\n\n <div\n class="contacts js-contacts"\n data-pin="assets/images/contacts/mark.svg"\n>\n <h1 class="contacts__title">ÐонÑакÑÑ</h1>\n\n \n\n \n<div\n class="switch-box contacts__switcher js-contacts-switch-box"\n >\n <div class="switch-box__highlights js-switch-highlight"></div>\n <button\n type="button"\n data-value="contacts-office"\n class="switch-box__button"\n >\n ÐÑиÑ\n </button>\n <button\n type="button"\n data-value="contacts-factory"\n class="switch-box__button"\n >\n Ðавод\n </button>\n </div>\n\n <div\n data-id="contacts-office"\n class="js-contacts-tab contacts__item isActive"\n >\n <div class="contact-box">\n <p>ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»</p>\n <div class="contacts__address">ÐоÑква, Ñл. ÐеÑейÑкаÑ, д.17, оÑÐ¸Ñ 213</div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_outline-white contacts__button"\n \n\t href="https://yandex.ru/maps/?rtext=~55.710661, 37.443703&rtt=mt"\n target="_blank"\n >\n\n <span class="button__text">ÐÑоложиÑÑ Ð¼Ð°ÑÑÑÑÑ</span>\n \n</a>\n </div>\n\n <div class="contact-box">\n <p>ÐÑдел пÑодаж</p>\n <a href="tel:+7 495 771-74-23">+7 495 771-74-23</a>\n <br>\n <a href="mailto:[email protected]">[email protected]</a>\n </div>\n </div>\n <div\n data-id="contacts-factory"\n class="js-contacts-tab contacts__item "\n >\n <div class="contact-box">\n <p>ÐÐÐ ÐзеÑеÑкий молоÑнÑй комбинаÑ</p>\n <div class="contacts__address">ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_outline-white contacts__button"\n \n\t href="https://yandex.ru/maps/?rtext=~56.063273, 37.3955&rtt=mt"\n target="_blank"\n >\n\n <span class="button__text">ÐÑоложиÑÑ Ð¼Ð°ÑÑÑÑÑ</span>\n \n</a>\n </div>\n\n <div class="contact-box">\n <p>ÐонÑакÑÑ Ð·Ð°Ð²Ð¾Ð´Ð°</p>\n <a href="tel:+7 495 987 45 17">+7 495 987 45 17</a>\n <br>\n <a href="mailto:[email protected]">[email protected]</a>\n </div>\n </div>\n \n <div class="contact-box">\n <p>ÐÑдел HR</p>\n <a href="mailto:[email protected]">[email protected]</a>\n </div>\n\n <div class="contact-box">\n <p>ÐоÑмоÑÑеÑÑ Ð°ÐºÑÑалÑнÑе ваканÑии</p>\n <a\n href="https://hh.ru"\n target="_blank"\n class="button button_theme_outline-white contacts__button"\n >
2\n <span class="button__text">ÐеÑейÑи на hh.ru</span>\n <img src="assets/images/hh-logo.svg" alt="HeadHunter логоÑип">\n </a>\n </div>\n\n <div id="map-container" class="contacts__map"></div>\n</div>\n \n\n\n<section\n id="feedback-app"\n class="feedback"\n >\n <div class="feedback__wrapper">\n <h2 class="feedback__heading">\n ÐÑÑÑ Ð²Ð¾Ð¿ÑоÑÑ? СвÑжиÑеÑÑ Ñ Ð½Ð°Ð¼Ð¸\n </h2>\n\n <feedback\n action="https://ecomilk.artw.dev/ajax/forms/feedback"\n class="feedback__form"\n ></feedback>\n\n <div class="feedback__picture">\n <img src="/assets/images/feedback/cow-big.webp" alt="ÐоÑова">\n </div>\n </div>\n</section>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},1019:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n \t<section class="page page-content">\n \n <h2>ÐÑблиÑнÑе ÑÑÑаниÑÑ</h2>\n <ol class="box">\n <li>\n <a href="main.html" class="true" target="_blank">\n ÐÐ»Ð°Ð²Ð½Ð°Ñ ÑÑÑаниÑа\n </a>\n </li>\n <li>\n <a href="user-agreement.html" class="true" target="_blank">\n ÐолÑзоваÑелÑÑкое ÑоглаÑение\n </a>\n </li>\n <li>\n <a href="privacy-policy.html" class="true" target="_blank">\n ÐолиÑика конÑиденÑиалÑноÑÑи\n </a>\n </li>\n <li>\n <a href="personal-data-processing-policy.html" class="true" target="_blank">\n ÐолиÑика обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
\n </a>\n </li>\n <li>\n <a href="news.html" class="true" target="_blank">\n ÐовоÑÑи\n </a>\n </li>\n <li>\n <a href="news-detail.html" class="true" target="_blank">\n ÐовоÑÑÑ Ð´ÐµÑалÑÐ½Ð°Ñ ÑÑÑаниÑа\n </a>\n </li>\n <li>\n <a href="catalog.html" class="true" target="_blank">\n ÐаÑалог\n </a>\n </li>\n <li>\n <a href="product-detail.html" class="true" target="_blank">\n ÐÑодÑÐºÑ Ð´ÐµÑалÑÐ½Ð°Ñ ÑÑÑаниÑа\n </a>\n </li>\n <li>\n <a href="recipes.html" class="true" target="_blank">\n РеÑепÑÑ\n </a>\n </li>\n <li>\n <a href="recipe-detail.html" class="true" target="_blank">\n РеÑÐµÐ¿Ñ Ð´ÐµÑалÑÐ½Ð°Ñ ÑÑÑаниÑа\n </a>\n </li>\n <li>\n <a href="404.html" class="true" target="_blank">\n 404\n </a>\n </li>\n <li>\n <a href="where-to-buy.html" class="true" target="_blank">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li>\n <a href="about.html" class="true" target="_blank">\n Ркомпании\n </a>\n </li>\n <li>\n <a href="contacts.html" class="true" target="_blank">\n ÐонÑакÑÑ\n </a>\n </li>\n </ol>\n \t</section>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>
2\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},642:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n<head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n<body>\n \n <div id="app" class="page-layout page-layout_fullpage js-full-page page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n <main class="page-layout__page">\n <div class="page page-index">\n \n\n\n<div\n class="full-page-slider swiper"\n >\n <div class="full-page-slider__wrapper swiper-wrapper">\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n\n \n\n<section\n class="title-section js-split-slider pill-animation"\n >\n <div class="title-section__videos-slider js-title-section-videos-slider">\n <div class="title-section__videos-slider-wrapper swiper-wrapper">\n <div class="title-section__video swiper-slide">\n \n\n \n<div\n class="media-block pill-animation"\n >\n <video\n class="media-block__video"\n autoplay\n muted\n autoplay loop muted preload="auto"\n >\n <source src="/assets/video/video-slider/about.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/about.webm" type="video/webm">\n </video>\n </div>\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n <div class="title-section__video swiper-slide">\n \n\n \n<div\n class="media-block pill-animation"\n >\n <video\n class="media-block__video"\n autoplay\n muted\n autoplay loop muted preload="auto"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n </div>\n\n <div class="title-section__slider-navigation">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary round-button_reverse js-title-video-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary js-title-video-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n \n <div class="title-section__slider js-title-section-slider">\n <div class="title-section__slider-wrapper swiper-wrapper">\n <div class="title-section__slide swiper-slide">\n <img\n class="title-section__slide-image"\n src="/assets/images/title-screen/slides/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n <div class="title-section__slide swiper-slide">\n <img\n class="title-section__slide-image"\n src="/assets/images/title-screen/slides/slide-2.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n <a href="@" class="button button_theme_outline-light title-section__slide-link">
2\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n <div class="title-section__slide swiper-slide">\n <img\n class="title-section__slide-image"\n src="/assets/images/title-screen/slides/slide-3.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n <a href="@" class="button button_theme_outline-light title-section__slide-link">\n <span class="button__text">ÐодÑобнее</span>\n </a>\n </div>\n </div>\n\n <div class="title-section__slider-navigation">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary round-button_reverse js-title-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary js-title-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n\n \n\n<section\n class="promo-catalog js-promo-catalog pill-animation"\n >\n <div class="promo-catalog__content">\n <div class="promo-catalog__top">\n <h2 class="promo-catalog__title">ÐаÑалог</h2>\n <div class="promo-catalog__brands-slider js-promo-catalog-brands-slider">\n <div class="promo-catalog__brands-slider-wrapper swiper-wrapper">\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="ecomilk">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/ecomilk.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/ecomilk-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="cheese">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/cheese.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/cheese-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="dessert">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/dessert.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/dessert-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="altai">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/altai.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/altai-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="cow">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/cow.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/cow-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="dp">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/dp.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/dp-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n <div class="promo-catalog__logo-wrapper promo-catalog__brands-slide swiper-slide" data-brand="horeca">\n <img\n class="promo-catalog__logo-image"\n src="/assets/images/catalog/logotypes/horeca.svg"\n alt="логоÑип"\n loading="lazy"\n >\n\n <img\n class="promo-catalog__logo-image promo-catalog__logo-active-image"\n src="/assets/images/catalog/logotypes/horeca-active.svg"\n alt="логоÑип"\n loading="lazy"\n >\n </div>\n </div>\n </div>\n </div>\n <div class="promo-catalog__bottom">\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-sli
2der="ecomilk"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-2.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-3.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-4.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-5.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-6.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-7.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="cheese"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="dessert"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="altai"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="cow"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="dp"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n \n\n\n \n<div\n class="promo-catalog-slider js-promo-catalog-slider-container promo-catalog__slider"\n data-slider="horeca"\n >\n <div class="swiper js-promo-catalog-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-1.webp"\n alt="Ñлайд 1"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СмеÑана ÑливоÑÐ½Ð°Ñ 20%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 315 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 5 кг\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-2.webp"\n alt="Ñлайд 2"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-3.webp"\n alt="Ñлайд 3"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐеÑÐ¸Ñ 2,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 925 мл\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-4.webp"\n alt="Ñлайд 4"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-5.webp"\n alt="Ñлайд 5"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 200 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 400 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-6.webp"\n alt="Ñлайд 6"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ÐаÑло ÑливоÑное 82,5%\n </div>\n\n <div class="promo-catalog-card__caption">\n <span class="\n promo-catalog-card__caption-item\n ">\n 10 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n <div class="swiper-slide">\n <a href="product-detail.html" class="promo-catalog-card">\n <div class="promo-catalog-card__image">\n <img\n src="/assets/images/catalog/sliders/slider-1/slide-7.webp"\n alt="Ñлайд 7"\n loading="lazy"\n >\n </div>\n\n <div class="promo-catalog-card__bottom">\n <div class="promo-catalog-card__text">\n ТвоÑог 0,5%\n </div>\n\n <div class="promo-catalog-card__caption">
2\n <span class="\n promo-catalog-card__caption-item\n ">\n 100 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n promo-catalog-card__caption-item_selected ">\n 180 г\n </span>\n <span class="\n promo-catalog-card__caption-item\n ">\n 380 г\n </span>\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <div class="promo-catalog-slider__bottom">\n <div class="promo-catalog-slider__pagination js-promo-catalog-slider-pagination"></div>\n\n <div class="promo-catalog-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white round-button_reverse js-promo-catalog-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_white js-promo-catalog-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary promo-catalog-slider__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</div>\n </div>\n </div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n\n \n\n<section\n class="nutrients pill-animation"\n >\n <div class="nutrients__content">\n <picture class="nutrients__image-container">\n <source\n media="(min-width: 768px)"\n srcset="/assets/images/nutrients/sour-cream-desktop.webp"\n >\n <img\n class="nutrients__image"\n src="/assets/images/nutrients/sour-cream-mobile.webp"\n alt="ÑмеÑана ÑливоÑнаÑ"\n >\n </picture>\n\n <img\n class="nutrients__text-image"\n src="/assets/images/nutrients/text.svg"\n alt="нежноÑÑÑ, лÑÐ±Ð¾Ð²Ñ Ð¸ полÑза в каждой Ñпаковке"\n loading="lazy"\n >\n\n <div class="nutrients__info nutrients__info_name_composition">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/composition.svg"\n alt="ÐаÑÑÑалÑнÑй ÑоÑÑав"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_microelements">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/microelements.svg"\n alt="ÐолезнÑе микÑоÑлеменÑÑ"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_b9">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/b9.svg"\n alt="B9"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_b12">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/b12.svg"\n alt="B12"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_ca">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/ca.svg"\n alt="Ca"\n loading="lazy"\n >\n </div>\n <div class="nutrients__info nutrients__info_name_zn">\n <img\n class="nutrients__info-image"\n src="/assets/images/nutrients/zn.svg"\n alt="Zn"\n loading="lazy"\n >\n </div>\n \n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_light nutrients__button"\n \n\t href="#"\n >
2\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n \n<section\n class="milk-family pill-animation"\n >\n \n\n\n\n\n<div\n class="split-blocks "\n >\n <div class="split-blocks__block">\n <div class="milk-family__block">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image"\n >\n <img src="/assets/images/split-blocks/cow-head.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/love_prof.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n ">\n ÐолоÑÐ½Ð°Ñ ÑемÑÑ Ñкомилк\n </h2>\n \n <p class="info-block__text">\n Ðз года в год Ð¼Ñ ÑÑановимÑÑ Ð»Ð¸Ð´ÐµÑами\n по обÑÐµÐ¼Ñ Ð¿Ñодаж в РоÑÑии,\n в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ â за ÑÑÐµÑ Ð¿Ð¾ÑÑоÑнного\n конÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва наÑей пÑодÑкÑии.\n </p>\n \n \n\n\n \n\t\n\n<a\n\tclass="button button_theme_transparent-primary "\n \n\t href="#"\n >\n\n <span class="button__text">ÐодÑобнее о компании</span>\n \n</a>\n </div>\n\n </div>\n </div>\n\n <div class="split-blocks__block">\n \n\n\n<div\n class="media-block"\n >\n <img\n src="/assets/images/split-blocks/curd.webp"\n alt="каÑÑинка"\n loading="lazy"\n class="media-block__picture"\n >\n </div>\n </div>\n</div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n \n<section\n class="promo-video pill-animation"\n >\n \n\n \n<div\n class="video js-video promo-video__video"\n >\n <video\n class="video__player js-player"\n loop\n controls\n preload="auto"\n poster="/assets/images/promo-video/video-poster.webp"\n >\n <source src="/assets/video/promo/about.mp4" type="video/mp4">\n <source src="/assets/video/promo/about.webm" type="video/webm">\n </video>\n\n <div class="video__screen js-screen">\n <img\n class="video__screen-preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button\n class="video__play-button"\n type="button"\n >\n <img\n class="video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n </button>\n </div>\n</div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n\n \n\n<section\n class="reviews js-reviews-slider-container pill-animation"\n >\n <h2 class="reviews__title">ÐаÑи гоÑÑи на пÑоизводÑÑве</h2>\n\n <div class="reviews__slider js-reviews-slider">\n <div class="reviews__slider-wrapper swiper-wrapper">\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаÐ
2»Ð¾Ð²Ð°ÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_soft reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n Ðван Ðванов\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаÐ
2»Ð¾Ð²Ð°ÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-4.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n Ðван Ðванов\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_soft review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-5.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ. ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/
2avatar-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ.ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_soft reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/avatar-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n Ðван Ðванов\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ.ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n \n <div class="reviews__slide reviews__slide_even swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_light review-card__video-review reviews__slide-content"\n >\n <div class="review-card-video" data-href="/assets/video/promo/about.webm">\n <img\n class="review-card-video__preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button class="review-card-video__play-button js-video-reviews-button">\n <img\n class="review-card-video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n />\n </button>\n</div>\n </div>\n </div>\n \n <div class="reviews__slide swiper-slide">\n \n \n\n\n \n<div\n class="review-card review-card_theme_primary reviews__slide-content"\n >\n <div class="review-card__container">\n <div class="review-card__top">\n <div class="review-card__avatar">\n <img\n class="review-card__avatar-image"\n src="/assets/images/reviews/avatars/
2avatar-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="review-card__info">\n <div class="review-card__name">\n ÐаÑÑÑ Ð¡ÑавÑовиÑ\n </div>\n <a class="review-card__social-link" href="@dadadarya">\n @dadadarya\n </a>\n </div>\n </div>\n <div class="review-card__text">\n ÐÑÑалаÑÑ Ð² воÑÑоÑге Ð¾Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑва Ðкомилк â ÑÑвÑÑвÑеÑÑÑ Ð¿ÑоÑеÑÑионализм и лÑÐ±Ð¾Ð²Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð´ÐµÐ»Ñ. ÐкÑÑное и полезное молоко, коÑоÑÑм Ñ Ð¼Ð¾Ð³Ñ ÑÐµÐ±Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° побаловаÑÑ ÑемÑÑ.ÐÑиÑÑное дополнение к ÑÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ как оÑделÑнÑй напиÑок\n </div>\n </div>\n\n \n </div>\n </div>\n </div>\n </div>\n\n <div class="reviews__slider-pagination js-reviews-slider-pagination"></div>\n\n <div class="reviews__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-reviews-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-reviews-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n\n \n\n<section\n class="video-slider js-video-slider pill-animation"\n >\n \n\n\n\n\n<div\n class="split-blocks split-blocks_reverse "\n >\n <div class="split-blocks__block">\n <div class="video-slider__main-slider">\n <div class="swiper js-video-slider-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/nature.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h2 ">\n ÐаÑа визиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка\n </h2>\n \n <p class="info-block__text">ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло, коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.</p>\n \n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/nature.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h2 ">\n ÐаÑа каÑÑоÑка\n </h2>\n \n <p class="info-block__text">ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло, коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.</p>\n \n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="info-block "\n >\n \n \n\n\n \n<div\n class="circle-brand-icon info-block__image info-block__image_mobile-hidden"\n >\n <img src="/assets/images/split-blocks/butter.svg" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="/assets/images/split-blocks/nature.svg" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n \n <h2 class="\n info-block__title\n info-block__title_h2 ">\n ÐаÑа визиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка\n </h2>\n \n <p class="info-block__text">ÐизиÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка «Ðкомилк» â ÑливоÑное маÑло, коÑоÑое Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ñемей ÑенÑÑ Ð·Ð° нежнÑй молоÑнÑй вкÑÑ Ð¸ иÑклÑÑиÑелÑно наÑÑÑалÑнÑй ÑоÑÑав.</p>\n \n </div>\n </div>\n </div>\n </div>\n\n <div class="video-slider__slider-navigation">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary round-button_reverse js-video-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-primary js-video-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n </div>\n\n <div class="split-blocks__block">\n <div class="video-slider__thumbs-slider swiper js-video-slider-thumbs-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n data-hls-src="https://ecomilk.artw.dev/upload/video/HSL/example_0/master.m3u8"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n data-hls-src="https://ecomilk.artw.dev/upload/video/HSL/example_1/master.m3u8"\n >\n <source src="/assets/video/video-slider/about.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/about.webm" type="video/webm">\n </video>\n </div>\n </div>\n <div class="swiper-slide">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n autoplay loop muted preload="auto"\n data-hls-src="https://ecomilk.artw.dev/upload/video/HSL/example_0/master.m3u8"\n >\n <source src="/assets/video/video-slider/butter.mp4" type="video/mp4">\n <source src="/assets/video/video-slider/butter.webm" type="video/webm">\n </video>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n \n<section\n class="about pill-animation"\n >\n <div class="about__content">\n <img\n class="about__bg-logo"\n src="/assets/images/about/bg-logo.svg"\n alt="Ñкомилк"\n loading="lazy"\n >\n\n <picture class="about__image-container">\n <source media="(min-width: 768px)" srcset="/assets/images/about/cows-desktop.webp">\n <img class="about__image" src="/assets/images/about/cows-mobile.webp" alt="Ñкомилк">\n </picture>\n\n <div class="about__info">\n \n\n\n \n<div\n class="number-item about__info-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">6</span>\n </div>\n <div class="number-item__caption">\n ÑоÑговÑÑ
маÑок\n </div>\n </div>\n \n\n\n \n<div\n class="number-item about__info-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">50</span>\n <span class="number-item__addition">+</span>\n </div>\n <div class="number-item__caption">\n наименований\n </div>\n </div>\n \n\n\n \n<div\n class="number-item about__info-item"\n >\n <div class="number-item__top">\n <span class="number-item__number">15</span>\n </div>\n <div class="number-item__caption">\n Ð»ÐµÑ Ð½Ð° ÑÑнке\n </div>\n </div>\n </div>\n </div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n ">\n \n\n \n\n<section\n class="recipes-promo js-recipes-promo pill-animation"\n >\n <div class="recipes-promo__info">\n <h2 class="recipes-promo__title">ÐвÑоÑÑкие ÑеÑепÑÑ</h2>\n <p>\n ÐелимÑÑ Ñ Ð²Ð°Ð¼Ð¸ авÑоÑÑкими кÑлинаÑнÑми\n ÑеÑепÑами пÑоÑÑÑÑ
домаÑниÑ
блÑд,\n Ð
2ºÐ¾ÑоÑÑе бÑдÑÑ ÑадоваÑÑ Ð²Ð°ÑÑ ÑемÑÑ\n и гоÑÑей на завÑÑак, обед или Ñжин!\n </p>\n </div>\n\n <div class="recipes-promo__slider swiper js-recipes-slider">\n <div class="swiper-wrapper">\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-1" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-1) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-2" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-2) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-3" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-3) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-4" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-4) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n </div>\n </div>\n\n <div class="recipes-promo__bottom">
2\n <div class="recipes-promo__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-recipes-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-recipes-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary recipes-promo__button"\n \n\t href="recipes.html"\n >\n\n <span class="button__text">ÐÑкÑÑÑÑ Ð²Ñе</span>\n \n</a>\n </div>\n</section>\n </div>\n <div class="\n swiper-slide\n full-page-slider__slide\n full-page-slider__slide_autoheight ">\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n </div>\n </div>\n</div>\n\n \n<div class="video-modal js-video-modal ">\n <div class="video-modal__layout">\n </div>\n\n <button\n type="button"\n class="video-modal__close js-video-modal-close"\n >\n <svg aria-hidden="true" class="svg-icon popup__close-icon">\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n </svg>\n </button>\n\n <div class="video-modal__video">\n \n\n\n<div\n class="media-block"\n >\n <video\n class="media-block__video"\n autoplay\n loop\n muted\n preload="auto"\n controls >\n <source src="/assets/video/promo/about.mp4" type="video/mp4">\n <source src="/assets/video/promo/about.webm" type="video/webm">\n </video>\n </div>\n </div>\n</div>\n </div>\n </main>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>
2\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n </div>\n</body>\n</html>\n'},5716:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-news-detail">\n \n\n\n\n<ul\n class="breadcrumbs "\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="news.html"\n class="breadcrumbs__link"\n >ÐовоÑÑи</a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="news-detail.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >«Ðкомилк» запÑÑÑил новÑе линии Ñозлива молоÑной пÑодÑкÑии</a></li></ul>\n\n \n\n\n<div\n class="post-header "\n >\n <div class="post-header__top">\n <h1 class="post-header__title">«Ðкомилк» запÑÑÑил новÑе линии Ñозлива молоÑной пÑодÑкÑии</h1>\n\n </div>\n\n <time class="post-header__date" datetime="2018-07-23">23 иÑÐ»Ñ 2018</time>\n \n \n <svg class="post-header__image" viewBox="0 0 1212 787" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="post-header-image" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/news-detail/mask-banner.webp" width="100%" />\n </pattern>\n </defs>\n <path fill="url(#post-header-image)" d="M408.707 66.6845C365.024 65.0223 345.467 53.2597 303.493 47.5488C292.506 46.0539 286.655 44.4419 275.211 44.0312C254.807 43.2989 242.319 45.2062 220.792 50.0336C193.123 56.2384 177.112 62.6137 150.643 76.0088C126.739 88.1058 114.067 97.0352 92.5983 113.152C75.0543 126.322 64.4297 133.563 50.0759 149.369C34.5579 166.456 27.5024 177.476 18.3697 196.677C8.68319 217.043 5.55635 229.172 3.69787 249.297C1.84424 269.369 2.8826 280.683 8.94525 298.177C14.9405 315.477 22.3189 323.189 33.888 337.156C43.3042 348.523 49.7743 354.013 60.9596 363.964C73.0351 374.707 80.7707 379.865 93.6552 389.876C105.841 399.344 115.296 402.422 125.124 413.871C131.521 421.323 134.445 426.073 138.618 434.957C143.131 444.567 145.289 450.315 146.773 461.262C148.502 474.018 145.69 482.214 145.192 495.597C144.486 514.592 139.758 526.663 143.998 544.096C148.828 563.953 157.419 572.776 171.33 587.062L171.803 587.548C185.075 601.179 194.201 607.844 212.576 616.397C227.491 623.338 237.477 625.127 254.313 629.317L256.225 629.794C273.19 634.02 283.38 636.559 302.206 638.299C322.353 640.162 334.49 639.127 355.561 638.382C385.014 637.34 401.972 635.093 431.944 631.834C455.159 629.31 468.719 625.272 491.578 624.296C511.879 623.429 522.979 624.15 542.295 626.067C566.245 628.443 580.156 629.595 601.313 636.936C617.516 642.558 625.646 647.17 639.408 655.79C653.234 664.448 661.041 669.522 671.695 681.062C683.032 693.342 683.914 704.068 694.593 716.846C705.067 729.378 711.489 736.226 725.468 745.724C738.237 754.399 746.189 758.72 761.867 763.862C782.276 770.556 795.728 771.58 819.249 772.176C844.038 772.804 858.794 772.278 884.855 766.22C912.424 759.812 927.864 751.944 954.595 739.606C982.253 726.84 998.762 720.084 1023.42 701.871C1046.12 685.097 1057.29 673.418 1074.98 652.664C1098.04 625.611 1105.56 608.011 1121.78 578.582C1145.92 534.809 1170.78 465.795 1172.96 459.705C1173.07 459.384 1173.18 459.124 1173.33 458.815C1175.38 454.426 1191.45 419.504 1194.13 397.191C1196.89 374.228 1195.58 361.222 1188.25 341.511C1182.3 325.513 1177.41 316.83 1164.94 305.088C1154.28 295.056 1146.47 290.81 1132.06 284.699C1112.17 276.266 1097.57 276.631 1074.8 272.704C1048.86 268.229 1032.03 270.091 1007.11 263.781C984.544 258.066 971.906 254.198 953.146 243.374C937.795 234.516 927.795 230.018 918.344 216.108C908.084 201.007 909.695 188.421 906.123 169.889C902.126 149.151 904.78 135.75 899.772 115.411L899.582 114.639C894.563 94.2501 891.587 82.1605 879.944 65.0536C869.638 49.9113 862.108 42.2234 846.207 31.7026C826.293 18.5266 811.749 14.2374 785.862 9.07351C760.087 3.93208 743.748 4.39534 715.411 5.52026C687.268 6.63746 670.943 7.84092 641.952 14.6999C605.277 23.3768 585.783 39.7111 549.122 49.7848C524.737 56.4853 510.921 59.3145 486.726 62.693C455.691 67.0266 438.333 67.8117 408.707 66.6845Z"/>\n </svg>\n </div>\n\n <section class="page-content">\n <h6>\n ÐеÑом 2018 года гÑÑппа компаний «Ðкомилк» оÑкÑÑла новое подÑазделение\n в гоÑоде ÐовоÑибиÑÑк — ÐовоÑибиÑÑкий ÐолоÑнÑй ÐомбинаÑ!\n </h6>\n <p>\n ÐÑкÑÑÑие нового комбинаÑа — ÑÑÑаÑегиÑеÑки важнÑй ÑÑап в ÑазвиÑии Ðомпании.\n СÑÑÑÐµÐ²Ð°Ñ Ð±Ð°Ð·Ð° Ñегиона Ð´Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑаÑÑиÑиÑÑ Ð°ÑÑоÑÑÐ¸Ð¼ÐµÐ½Ñ Ð·Ð° ÑÑÐµÑ Ð²ÑпÑÑка\n новÑÑ
ÑоваÑнÑÑ
каÑегоÑий, а Ð½Ð¾Ð²Ð°Ñ ÑÑ
ема логиÑÑики Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑделаÑÑ Ð¿ÑодÑкÑиÑ\n наиболее конкÑÑенÑной не ÑолÑко в Ñегионе, но и в Ñелом на вÑей воÑÑоÑной ÑаÑÑи ÑÑÑанÑ.\n </p>\n\n \n\n\n\n \n<div class="gallery-slider js-gallery-slider">\n <div class="gallery-slider__wrapper swiper-wrapper">\n <div class="gallery-slider__slide swiper-slide">\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="0"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/sli
2der/image-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n <div class="gallery-slider__slide swiper-slide">\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="1"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/slider/image-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="2"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/slider/image-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n <div class="gallery-slider__slide swiper-slide">\n <div\n class="gallery-slider__slide-image-wrapper"\n data-popup-invoker="newsGallery"\n data-image-number="3"\n >\n <img\n class="gallery-slider__slide-image"\n src="/assets/images/news-detail/slider/image-4.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n </div>\n\n <div class="gallery-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse gallery-slider__prev js-gallery-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light gallery-slider__next js-gallery-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n\n<div\n class="popup popup_type_gallery"\n data-popup="newsGallery"\n >\n <div class="popup__wrapper">\n <div class="popup__content">\n <button type="button" class="popup__close js-popup-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon popup__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </button>\n\n <div class="gallery-popup-slider js-gallery-popup-slider">\n <div class="gallery-popup-slider__wrapper swiper-wrapper">\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-1.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-2.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-3.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n <div class="gallery-popup-slider__slide swiper-slide">\n <img\n class="gallery-popup-slider__slide-image"\n src="/assets/images/news-detail/slider/image-4.webp"\n alt="ÑоÑо"\n loading="lazy"\n >\n </div>\n </div>\n\n <div class="gallery-popup-slider__controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-white round-button_reverse gallery-popup-slider__prev js-gallery-popup-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_transparent-white gallery-popup-slider__next js-gallery-popup-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n</div>\n\n <p>\n ÐлижайÑей задаÑей компании ÑвлÑеÑÑÑ Ð²Ñвод линии по пÑоизводÑÑÐ²Ñ ÑмеÑÐ°Ð½Ñ Ð½Ð° полнÑÑ\n моÑноÑÑÑ Ð¸ запÑÑк обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ пÑоизводÑÑÐ²Ñ Ð¸ ÑаÑовке ÑвоÑога и паÑÑеÑизованного молока.\n </p>\n <p>\n ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ ÑÑÐ°Ð²Ð¸Ñ Ð¿ÐµÑед Ñобой ÑÐµÐ»Ñ Ð²Ð¾Ð¹Ñи в ТÐРмолоÑнÑÑ
пÑедпÑиÑÑий СибиÑÑкого\n Ñегиона, ÑаÑÑиÑиÑÑ Ð´Ð¾Ð»Ñ ÑоÑговÑÑ
маÑок Ðкомилк в Ñелом по РоÑÑии и ÑкÑепиÑÑ Ð»Ð¸Ð´Ð¸ÑÑÑÑие\n позиÑии на ÑÑнке, обеÑпеÑив вÑÑокий ÑÑÐ¾Ð²ÐµÐ½Ñ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва и авÑомаÑизаÑии вÑеÑ
пÑоÑеÑÑов\n на новом пÑедпÑиÑÑии.\n </p>\n <p>\n ÐÐÐ «Ðкомилк» пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ ÑÐ²Ð¾Ñ Ð¿ÑодÑкÑÐ¸Ñ Ñ 2001 года и вÑ
Ð¾Ð´Ð¸Ñ Ð² ТÐÐ 5 молоÑнÑÑ
\n пÑедпÑиÑÑий ÑенÑÑалÑного Ñегиона РоÑÑии. ÐÑедпÑиÑÑие оÑнаÑено ÑамÑм ÑовÑеменнÑм\n обоÑÑдованием и ÑобÑÑвенной лабоÑаÑоÑией, коÑоÑÐ°Ñ ÑÑаÑелÑно пÑовеÑÑÐµÑ ÐºÐ°ÑеÑÑво на вÑеÑ
\n ÑÑапаÑ
пÑоизводÑÑва, наÑÐ¸Ð½Ð°Ñ Ñ Ð²Ñ
одного конÑÑÐ¾Ð»Ñ ÑÑÑÑÑ Ð¸ заканÑÐ¸Ð²Ð°Ñ ÐºÐ¾Ð½ÑÑолем гоÑовой пÑодÑкÑии.\n </p>\n\n \n\n\n<div\n class="video js-video"\n >\n <video\n class="video__player js-player"\n loop\n controls\n preload="auto"\n poster="/assets/images/promo-video/video-poster.webp"\n >\n <source src="/assets/video/promo/about.mp4" type="video/mp4">\n <source src="/assets/video/promo/about.webm" type="video/webm">\n </video>\n\n <div class="video__screen js-screen">\n <img\n class="video__screen-preview"\n src="/assets/images/promo-video/video-poster.webp"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button\n class="video__play-button"\n type="button"\n >\n <img\n class="video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n </button>\n </div>\n</div>\n\n \n<div class="sharing">\n\t<div class="sharing__text">ÐоделиÑÑÑÑ</div>\n\t\t\t<a class="sharing__link" href="https://vk.com/ecomilkru">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon sharing__link-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-footer-vk" />\n</svg>\n\t\t</a>\n\t</div>\n </section>\n\n \n<section class="read-also">\n <h2 class="read-also__title">ЧиÑайÑе Ñакже</h2>\n\n \n \n\n \n\n<div\n class="post-card-carousel js-post-card-carousel read-also__slider"\n >\n <div\n data-count-slides="grid"\n class="swiper js-post-card-carousel-slider"\n >\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2025»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2026»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2027»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2028»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2029»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2030»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n<a\n class="post-card "\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n </div>\n </div>\n</div>\n </section>\n\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},8656:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-news">\n \n\n\n\n<ul\n class="breadcrumbs "\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="news.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐовоÑÑи</a></li></ul>\n\n <h1>ÐовоÑÑи</h1>\n\n <div class="news-list">\n\t<div class="news-list__posts">\n \n \n\n \n<a\n class="post-card post-card_size_large news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-1.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии.</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024 Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии.</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024» Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024 Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из л
2ÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n \n\n \n<a\n class="post-card post-card_size_default news-list__post"\n href="/news-detail.html"\n>\n <span\n class="post-card__image"\n style="background-image: url(/assets/images/news/news-2.webp);"\n >\n </span>\n <div class="post-card__info">\n <time class="post-card__date" datetime="22 ÑенÑÑбÑÑ 2024">22 ÑенÑÑбÑÑ 2024</time>\n <div class="post-card__title">Ðкомилк бÑл ÑдоÑÑоен пÑемии «ÐЫÐÐÐ ÐÐТРÐÐÐТÐÐЯ-2024»</div>\n <p class="post-card__text">ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑила нагÑÐ°Ð´Ñ Ð² номинаÑии «ÐÑÑÑий пÑоизовиÑелÑ» каÑегоÑии «СливоÑнÑй вкÑÑ», ÑÑав одной из лÑÑÑиÑ
в РоÑÑии</p>\n </div>\n</a>\n </div>\n\n \n\n \n<div\n class="pagination news-list__pagination"\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_transparent-primary pagination__button"\n \n\t href="#"\n >
2\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n</div>\n</div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},4157:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-content">\n \n\n\n\n<ul\n class="breadcrumbs "\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="personal-data-processing-policy.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >СоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
</a></li></ul>\n \n <h1>\n СоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
\n </h1>\n <time datetime="2018-07-23">РедакÑÐ¸Ñ Ð¾Ñ 06 ÑевÑÐ°Ð»Ñ 2026</time>\n\n<p>\nÐÑиÑоединÑÑÑÑ\nк наÑÑоÑÑÐµÐ¼Ñ Ð¡Ð¾Ð³Ð»Ð°ÑÐ¸Ñ (пÑоÑÑавлÑÑ\n«галоÑкÑ») и оÑÑавлÑÑ Ñвои даннÑе на\nÑайÑе ecomilk.ru (далее â СайÑ) поÑеÑиÑелÑ\nСайÑа (далее â ÐолÑзоваÑелÑ) дейÑÑвÑÑ\nÑвободно, Ñвоей волей и в Ñвоем инÑеÑеÑе,\nвÑÑÐ°Ð¶Ð°ÐµÑ Ñвое ÑоглаÑие владелÑÑÑ ÑайÑа\nÐбÑеÑÑÐ²Ñ Ñ Ð¾Ð³ÑаниÑенной оÑвеÑÑÑвенноÑÑÑÑ\n«Ðкомилк», ÐÐÐ 7731417709, ÐÐÐ Ð 1117746970175,\nЮÑидиÑеÑкий адÑеÑ: 121357, гоÑод ÐоÑква,\nÐеÑейÑÐºÐ°Ñ Ñл., д. 17, ÑÑ 2 пом 213 (в далÑнейÑем\nâ ÐпеÑаÑоÑ), на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
\nданнÑÑ
:<br/>\nа именно, на лÑбÑе дейÑÑвиÑ\n(опеÑаÑии) или ÑовокÑпноÑÑÑ Ð´ÐµÐ¹ÑÑвий\n(опеÑаÑий), ÑовеÑÑаемÑе ÐпеÑаÑоÑом Ñ\nиÑполÑзованием ÑÑедÑÑв авÑомаÑизаÑии\nили без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑакиÑ
ÑÑедÑÑв,\nпÑедÑÑмоÑÑеннÑе п. 3 Ñ. 1 ÑÑ. 3 ФедеÑалÑного\nзакона Ð¾Ñ 27.07.2006 N 152-ФР«РпеÑÑоналÑнÑÑ
\nданнÑÑ
», вклÑÑÐ°Ñ ÑбоÑ, запиÑÑ,\nÑиÑÑемаÑизаÑиÑ, накопление, Ñ
Ñанение,\nÑÑоÑнение (обновление, изменение),\nизвлеÑение, иÑполÑзование, обезлиÑивание,\nблокиÑование, Ñдаление, ÑниÑÑожение,\nпеÑедаÑÑ (ÑаÑпÑоÑÑÑанение, пÑедоÑÑавление,\nдоÑÑÑп) ÑказаннÑÑ
пеÑÑоналÑнÑÑ
даннÑÑ
\nÑÑеÑÑим лиÑам Ñ ÑоблÑдением меÑ,\nобеÑпеÑиваÑÑиÑ
заÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ
\nданнÑÑ
Ð¾Ñ Ð½ÐµÑанкÑиониÑованного доÑÑÑпа,\nв обÑеме, необÑ
одимом Ð´Ð»Ñ Ð´Ð¾ÑÑижениÑ\nÑелей наÑÑоÑÑего СоглаÑиÑ.</p>\n<p>\nÐÑодолжаÑ\nнаÑ
ождение на ÑайÑе, ÐолÑзоваÑелÑ\nвÑÑÐ°Ð¶Ð°ÐµÑ Ñвое ÑоглаÑие ÐбÑеÑÑÐ²Ñ Ñ\nогÑаниÑенной оÑвеÑÑÑвенноÑÑÑÑ Â«Ðкомилк»\nна обÑабоÑÐºÑ ÑвоиÑ
пеÑÑоналÑнÑÑ
даннÑÑ
:</p>\n<p>\nâ пеÑÑоналÑнÑÑ
\nданнÑÑ
, коÑоÑÑе ÐолÑзоваÑÐµÐ»Ñ Ð¿ÑедоÑÑавлÑеÑ\nо Ñебе ÑамоÑÑоÑÑелÑно, заполнении полей\nвеб-ÑоÑÐ¼Ñ Ð¾Ð±ÑаÑной ÑвÑзи или в пÑоÑеÑÑе\nиÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¡ÐµÑвиÑов;</p>\n<p>\nâ а\nÑакже лÑбой инÑоÑмаÑии, оÑноÑÑÑейÑÑ Ðº\nлиÑноÑÑи ÐолÑзоваÑелÑ, коÑоÑÑÑ\nÐолÑзоваÑÐµÐ»Ñ Ð¿Ð¾Ð¶ÐµÐ»Ð°ÐµÑ Ð¾ÑÑавиÑÑ Ð² поле\nвеб-ÑоÑÐ¼Ñ Ð½Ð° СайÑе;</p>\n<p>\nâ даннÑе,\nкоÑоÑÑе авÑомаÑиÑеÑки пеÑедаÑÑÑÑ\nÑеÑвиÑам СайÑа в пÑоÑеÑÑе иÑ
иÑполÑзованиÑ\nÑ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑÑановленного на ÑÑÑÑойÑÑве\nÐолÑзоваÑÐµÐ»Ñ Ð¿ÑогÑаммного обеÑпеÑениÑ,\nв Ñом ÑиÑле IP-адÑеÑ, даннÑе Ñайлов cookie,\nинÑоÑмаÑÐ¸Ñ Ð¾ бÑаÑзеÑе ÐолÑзоваÑелÑ\n(или иной пÑогÑамме, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑоÑой\nоÑÑÑеÑÑвлÑеÑÑÑ Ð´Ð¾ÑÑÑп к ÑеÑвиÑам),\nÑеÑ
ниÑеÑкие Ñ
аÑакÑеÑиÑÑики обоÑÑдованиÑ\nи пÑогÑаммного обеÑпеÑениÑ, иÑполÑзÑемÑÑ
\nÐолÑзоваÑелем и Ð¸Ð½Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ.</p>\n<p>\nÐпеÑаÑоÑ\nне пÑовеÑÑÐµÑ Ð´Ð¾ÑÑовеÑноÑÑÑ Ð¿ÐµÑÑоналÑнÑÑ
\nданнÑÑ
, пÑедоÑÑавлÑемÑÑ
ÐолÑзоваÑелем\nСайÑа. ÐпеÑаÑÐ¾Ñ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð¿ÐµÑÑоналÑнÑе\nданнÑе, непоÑÑедÑÑвенно пÑедоÑÑавленнÑе\nÐолÑзоваÑелем.</p>\n<p>\n1.\nÐаÑÑоÑÑим ÐолÑзоваÑелÑ:</p>\n<p>\n1.1.\nÐодÑвеÑждаеÑ, ÑÑо вÑе ÑказаннÑе им в\nполÑÑ
веб-ÑоÑÐ¼Ñ Ð´Ð°Ð½Ð½Ñе пÑинадлежаÑ\nлиÑно ÐµÐ¼Ñ Ð¸ ÑÑо в ÑлÑÑае ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²\nпÑедоÑÑавлÑемÑÑ
ÐолÑзоваÑелем Ñведений\nоб инÑÑ
лиÑаÑ
, он подÑвеÑждаеÑ, ÑÑо\nпеÑÐµÐ´Ð°ÐµÑ Ð¿ÐµÑÑоналÑнÑе даннÑе Ñ ÑоглаÑиÑ\nÑÑиÑ
Ð»Ð¸Ñ ÐпеÑаÑоÑÑ Ð½Ð° оÑновании Ñ. 8 ÑÑ.\n9, п. 5 Ñ. 1 ÑÑ. 6 ФедеÑалÑного закона оÑ\n27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
»,\nа Ñакже полÑÑение Ð¾Ñ Ð»ÑбÑÑ
ÑÑеÑÑиÑ
лиÑ\nпеÑÑоналÑнÑÑ
даннÑÑ
ÐолÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ\nоÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ¾Ð½Ð½ÑÑ
инÑеÑеÑов и\nпÑав на окаÐ
2·Ð°Ð½Ð¸Ðµ ÑÑлÑг.</p>\n<p>\n1.2.\nÐÑÑÐ°Ð¶Ð°ÐµÑ Ñвое ÑоглаÑие на Ñо, ÑÑо в\nÑказаннÑÑ
ниже ÑелÑÑ
ÐпеÑаÑÐ¾Ñ Ð²\nÑÑÑановленном дейÑÑвÑÑÑим законодаÑелÑÑÑвом\nРоÑÑийÑкой ФедеÑаÑии поÑÑдке имееÑ\nпÑаво поÑÑÑаÑÑ ÑовеÑÑение оÑделÑнÑÑ
\nдейÑÑвий Ñ Ð¿ÐµÑÑоналÑнÑми даннÑми ÑÑеÑÑим\nлиÑам пÑи ÑÑловии, ÑÑо они обÑзÑÑÑÑÑ\nобеÑпеÑиÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑ Ð¿ÐµÑÑоналÑнÑÑ
\nданнÑÑ
пÑи иÑ
обÑабоÑке и пÑедоÑвÑаÑение\nÑазглаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
. ÐÑи\nÑÑом Ñакие ÑÑеÑÑи лиÑа имеÑÑ Ð¿Ñаво\nоÑÑÑеÑÑвлÑÑÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ (опеÑаÑии) Ñ\nпеÑÑоналÑнÑми даннÑми ÐолÑзоваÑелÑ,\nаналогиÑнÑе дейÑÑвиÑм, коÑоÑÑе впÑаве\nоÑÑÑеÑÑвлÑÑÑ ÐпеÑаÑоÑ.</p>\n<p>\n1.3.\nÐÑедоÑÑавлÑÐµÑ ÐпеÑаÑоÑÑ ÑоглаÑие на\nпеÑедаÑÑ ÑвоиÑ
пеÑÑоналÑнÑÑ
даннÑÑ
\nÑÑеÑÑим лиÑам, в ÑелÑÑ
пÑедоÑÑавлениÑ\nи Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑÑлÑг (иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑоглаÑений\nи договоÑов Ñ ÐолÑзоваÑелем).</p>\n<p>\n2.\nЦели обÑабоÑки пеÑÑоналÑной инÑоÑмаÑии\nÐолÑзоваÑелей</p>\n<p>\n2.1.\nÐ¡Ð°Ð¹Ñ ÑобиÑÐ°ÐµÑ Ð¸ Ñ
ÑÐ°Ð½Ð¸Ñ ÑолÑко ÑÑ\nпеÑÑоналÑнÑÑ Ð¸Ð½ÑоÑмаÑиÑ, коÑоÑаÑ\nнеобÑ
одима Ð´Ð»Ñ Ð¿ÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑеÑвиÑов\nили иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑоглаÑений и договоÑов\nÑ ÐолÑзоваÑелем, за иÑклÑÑением ÑлÑÑаев,\nкогда законодаÑелÑÑÑвом пÑедÑÑмоÑÑено\nобÑзаÑелÑное Ñ
Ñанение пеÑÑоналÑной\nинÑоÑмаÑии в ÑеÑение опÑеделенного\nзаконом ÑÑока.</p>\n<p>\n2.2.\nЦелÑми ÑбоÑа и обÑабоÑки пеÑÑоналÑнÑÑ
\nданнÑÑ
ÐолÑзоваÑелей ÑвлÑÑÑÑÑ:</p>\n<p>\nâ иденÑиÑикаÑиÑ\nÐолÑзоваÑÐµÐ»Ñ Ð² ÑамкаÑ
СеÑвиÑов, ÑоглаÑений\nи договоÑов, заклÑÑеннÑÑ
ÐпеÑаÑоÑом;</p>\n<p>\nâ ÑлÑÑÑение\nкаÑеÑÑва оказÑваемÑÑ
ÑÑлÑг, пÑедоÑÑавлÑемÑÑ
\nСеÑвиÑов, ÑдобÑÑва иÑ
иÑполÑзованиÑ,\nÑазÑабоÑки новÑÑ
СеÑвиÑов;</p>\n<p>\nâ пÑоведение\nÑÑаÑиÑÑиÑеÑкиÑ
и инÑÑ
иÑÑледований на\nоÑнове обезлиÑеннÑÑ
даннÑÑ
;</p>\n<p>\nâ иÑполÑзование\nÑеÑ
нологии «cookies» Ð´Ð»Ñ ÑозданиÑ\nÑÑаÑиÑÑиÑеÑкой оÑÑеÑноÑÑи, ÑÑандаÑÑнÑÑ
\nжÑÑналов ÑÑеÑа веб-ÑеÑвеÑа Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑеÑа\nколиÑеÑÑва поÑеÑиÑелей и оÑенки\nÑеÑ
ниÑеÑкиÑ
возможноÑÑей СайÑа;</p>\n<p>\nâ подÑвеÑждение\nдоÑÑовеÑноÑÑи и полноÑÑ Ð¿ÐµÑÑоналÑнÑÑ
\nданнÑÑ
, пÑедоÑÑавленнÑÑ
ÐолÑзоваÑелем;</p>\n<p>\nâ пÑедоÑÑавлениÑ\nÐолÑзоваÑÐµÐ»Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑкой и ÑеÑ
ниÑеÑкой\nподдеÑжки пÑи возникновении пÑоблем,\nÑвÑзаннÑÑ
Ñ Ð¸ÑполÑзованием СайÑа;</p>\n<p>\n3.\nÐпеÑаÑÐ¾Ñ Ð¾Ð±ÑзÑеÑÑÑ Ð¿ÑинимаÑÑ Ð²Ñе\nнеобÑ
одимÑе меÑÑ Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ
\nданнÑÑ
ÐолÑзоваÑÐµÐ»Ñ Ð¾Ñ Ð½ÐµÐ¿ÑавомеÑного\nдоÑÑÑпа или ÑаÑкÑÑÑиÑ.</p>\n<p>\nÐ\nоÑноÑении пеÑÑоналÑной инÑоÑмаÑии\nÐолÑзоваÑÐµÐ»Ñ ÑоÑ
ÑанÑеÑÑÑ ÐµÐµ\nконÑиденÑиалÑноÑÑÑ, кÑоме ÑлÑÑаев\nдобÑоволÑного пÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐолÑзоваÑелем\nин
2ÑоÑмаÑии о Ñебе Ð´Ð»Ñ Ð¾Ð±Ñего доÑÑÑпа\nнеогÑаниÑÐµÐ½Ð½Ð¾Ð¼Ñ ÐºÑÑÐ³Ñ Ð»Ð¸Ñ. ÐÑи\nиÑполÑзовании оÑделÑнÑÑ
ÑеÑвиÑов\nÐолÑзоваÑÐµÐ»Ñ ÑоглаÑаеÑÑÑ Ñ Ñем, ÑÑо\nопÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑаÑÑÑ ÐµÐ³Ð¾ пеÑÑоналÑной\nинÑоÑмаÑии ÑÑановиÑÑÑ Ð¾Ð±ÑедоÑÑÑпной.</p>\n<p>\n4.\nÐолÑзоваÑÐµÐ»Ñ ÑоглаÑен Ñ Ñем, ÑÑо наÑÑоÑÑее\nСоглаÑие, а Ñакже пеÑÑоналÑнÑе даннÑе,\nпÑедоÑÑавленнÑе им в ÑелÑÑ
наÑÑоÑÑего\nÑоглаÑиÑ, обÑабаÑÑваÑÑÑÑ Ñ Ð¸ÑполÑзованием\nÑÑедÑÑв авÑомаÑизаÑии, в Ñом ÑиÑле в\nинÑоÑмаÑионно-ÑелекоммÑникаÑионнÑÑ
\nÑеÑÑÑ
.</p>\n<p>\n5.\nÐаÑÑоÑÑее ÑоглаÑие вÑÑÑÐ¿Ð°ÐµÑ Ð² ÑÐ¸Ð»Ñ Ñ\nмоменÑа вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÐолÑзоваÑелем ÑоглаÑиÑ\nна обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
пÑÑем\nпÑоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñизнака ÑоглаÑÐ¸Ñ Ð²\nÑекбокÑе ÑÑдом Ñ ÑекÑÑом СоглаÑÐ¸Ñ Ð½Ð°\nобÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
в\nгÑаÑиÑеÑком инÑеÑÑейÑе СеÑвиÑа и\nдейÑÑвÑÐµÑ Ð´Ð¾ доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ñелей обÑабоÑки\nпеÑÑоналÑнÑÑ
даннÑÑ
или до моменÑа его\nоÑзÑва.</p>\n<p>\n6.\nСоглаÑие Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ñозвано в лÑбое\nвÑемÑ:</p>\n<p>\n6.1.\nÐ ÑлÑÑае договоÑнÑÑ
оÑноÑений, пÑÑем\nнапÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐпеÑаÑоÑÑ Ð¿Ð¸ÑÑменного\nоÑиÑиалÑного запÑоÑа на адÑеÑ: 121357,\nгоÑод ÐоÑква, ÐеÑейÑÐºÐ°Ñ Ñл., д. 17, ÑÑ 2 пом\n213 в поÑÑдке, ÑÑÑановленном ÑÑ. 14\nФедеÑалÑнÑм законом РФ Ð¾Ñ 27.07.2006 г. â\n152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
». Ð ÑлÑÑае\nнапÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ запÑоÑа ÐпеÑаÑоÑÑ\nÑеÑез ÑиÑÑÐµÐ¼Ñ ÑлекÑÑонного докÑменÑообоÑоÑа,\nон должен бÑÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñан ÑлекÑÑонной\nподпиÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом\nРФ. ÐÑи ÑÑом оÑпÑавка оÑигинала докÑменÑа\nÐоÑÑой РоÑÑии не ÑÑебÑеÑÑÑ.</p>\n<p>\n6.2.\nРинÑÑ
ÑлÑÑаÑÑ
, пÑÑем напÑавлениÑ\nзапÑоÑа в виде ÑлекÑÑонного докÑменÑа\nÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑÑ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
\n(докÑÐ¼ÐµÐ½Ñ Ð² ÑоÑмаÑе pdf) на адÑÐµÑ ÑлекÑÑонной\nпоÑÑÑ ÐпеÑаÑоÑа [email protected].</p>\n<p>\n7.\nÐолÑзоваÑÐµÐ»Ñ Ñведомлен о Ñом, ÑÑо\nÐпеÑаÑÐ¾Ñ Ð²Ð¿Ñаве пÑодолжиÑÑ Ð¾Ð±ÑабоÑкÑ\nпеÑÑоналÑнÑÑ
даннÑÑ
без его ÑоглаÑиÑ\nв ÑлÑÑаÑÑ
, пÑедÑÑмоÑÑеннÑÑ
дейÑÑвÑÑÑим\nзаконодаÑелÑÑÑвом.</p>\n<p>\n8.\nÐпеÑаÑÐ¾Ñ Ð²Ð¿Ñаве в лÑбое вÑÐµÐ¼Ñ Ð²\nодноÑÑоÑоннем поÑÑдке вноÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\nв наÑÑоÑÑее СоглаÑие, пÑÑем пÑбликаÑии\nнового ÑекÑÑа СоглаÑÐ¸Ñ Ð½Ð° Ñвоем ÑайÑе.\nÐÑи внеÑении изменений в акÑÑалÑной\nÑедакÑии ÑказÑваеÑÑÑ Ð´Ð°Ñа поÑледнего\nобновлениÑ. ÐÐ¾Ð²Ð°Ñ ÑедакÑÐ¸Ñ Ð¡Ð¾Ð³Ð»Ð°ÑиÑ\nвÑÑÑÐ¿Ð°ÐµÑ Ð² ÑÐ¸Ð»Ñ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа ее ÑазмеÑениÑ,\nеÑли иное не пÑедÑÑмоÑÑено новой\nÑедакÑией СоглаÑиÑ.</p>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>
2\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},6566:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-content">\n \n\n\n\n<ul\n class="breadcrumbs "\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="privacy-policy.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐолиÑика конÑиденÑиалÑноÑÑи</a></li></ul>\n\n <h1>\n ÐолиÑика конÑиденÑиалÑноÑÑи\n </h1>\n <time datetime="2018-07-23">РедакÑÐ¸Ñ Ð¾Ñ 06 ÑевÑÐ°Ð»Ñ 2026</time>\n\n <div>\n\t<p>\n\t\t<strong><span>1. ÐÐЩÐÐ ÐÐÐÐÐÐÐÐЯ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>1.1. ÐаÑÑоÑÑий докÑÐ¼ÐµÐ½Ñ Ð¾Ð¿ÑеделÑÐµÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ ÐбÑеÑÑва Ñ Ð¾Ð³ÑаниÑенной\n\t\t\tоÑвеÑÑÑвенноÑÑÑÑ</span><span>  </span><span>«Ðкомилк»\n\t\t\t(ÐÐÐ 7731417709, ÐÐÐ Ð 1117746970175, ЮÑидиÑеÑкий адÑеÑ: 121357, гоÑод ÐоÑква, ÐеÑейÑÐºÐ°Ñ Ñл., д. 17, ÑÑ 2 пом\n\t\t\t213),</span><span>  </span><span>(далее â ÐпеÑаÑоÑ) в\n\t\t\tоÑноÑении обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
(далее â ÐолиÑика).</span>\n\t</p>\n\t<p>\n\t\t<span>1.2. ÐолиÑика в облаÑÑи обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
ÑазÑабоÑана в ÑооÑвеÑÑÑвии Ñ\n\t\t\tÑÑебованиÑми Ñ Ð¿.2 Ñ.1 ÑÑ.18.1 ФедеÑалÑного закона Ð¾Ñ 27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
», а Ñакже в\n\t\t\tÑооÑвеÑÑÑвии Ñ Ð¸Ð½Ñми ÑедеÑалÑнÑми законами и подзаконнÑми акÑами РоÑÑийÑкой ФедеÑаÑии, опÑеделÑÑÑими ÑлÑÑаи и\n\t\t\tоÑобенноÑÑи обÑабоÑки пеÑÑоналÑнÑÑ
и обеÑпеÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи и конÑиденÑиалÑноÑÑи Ñакой инÑоÑмаÑии (далее â\n\t\t\tÐаконодаÑелÑÑÑво в облаÑÑи пеÑÑоналÑнÑÑ
даннÑÑ
).</span>\n\t</p>\n\t<p>\n\t\t<span>1.3. С моменÑа пÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐпеÑаÑоÑÑ ÑвоиÑ
пеÑÑоналÑнÑÑ
даннÑÑ
ÑизиÑеÑкие лиÑа\n\t\t\tÑÑановÑÑÑÑ ÑÑбÑекÑами пеÑÑоналÑнÑÑ
даннÑÑ
. СÑбÑекÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
вÑÑÑпаÑÑ Ð²Ð¾ взаимооÑноÑÐµÐ½Ð¸Ñ Ñ ÐпеÑаÑоÑом\n\t\t\tиÑклÑÑиÑелÑно по ÑобÑÑвенной воле и иниÑиаÑиве.</span>\n\t</p>\n\t<p>\n\t\t<span>1.4. ÐпеÑаÑÐ¾Ñ Ð¾ÑÑÑеÑÑвлÑÐµÑ Ð·Ð°ÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
и пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑооÑвеÑÑÑвÑÑÑие\n\t\t\tмеÑÑ Ð¿Ð¾ оÑ
Ñане полÑÑеннÑÑ
пеÑÑоналÑнÑÑ
даннÑÑ
Ð¾Ñ ÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
в ÑооÑвеÑÑÑвии Ñ Ð´ÐµÐ¹ÑÑвÑÑÑим\n\t\t\tзаконодаÑелÑÑÑвом РФ.</span>\n\t</p>\n\t<p>\n\t\t<span>1.5. ÐолиÑика ÑазÑабоÑана в ÑелÑÑ
ÑеализаÑии ÑÑебований законодаÑелÑÑÑва о\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
и ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° вÑе дейÑÑÐ²Ð¸Ñ Ð¸ опеÑаÑии, ÑовеÑÑаемÑе ÐпеÑаÑоÑом Ñ Ð¿ÐµÑÑоналÑнÑми даннÑми\n\t\t\tÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
, в Ñом ÑиÑле, но не огÑаниÑиваÑÑÑ: </span>\n\t</p>\n\t<p>\n\t\t<span>-пеÑÑоналÑнÑми даннÑми, полÑÑеннÑми Ð¾Ñ Ð¿Ð¾ÑеÑиÑелей и полÑзоваÑелей ÑайÑа в\n\t\t\tинÑоÑмаÑионно-ÑелекоммÑникаÑионной ÑеÑи ÐнÑеÑÐ½ÐµÑ Ð¿Ð¾ адÑеÑÑ: ecomilk.ru (далее â Ð¡Ð°Ð¹Ñ Ðкомилк);</span><span\n\t\t\tstyle="font-family:Arial">  </span>\n\t</p>\n\t<p>\n\t\t<span>-пеÑÑоналÑнÑми даннÑми конÑÑагенÑов ÐпеÑаÑоÑа, полÑÑеннÑми ÐпеÑаÑоÑом в ÑамкаÑ
его\n\t\t\tдеÑÑелÑноÑÑи; </span>\n\t</p>\n\t<p>\n\t\t<span>-пеÑÑоналÑнÑми даннÑми, полÑÑеннÑми Ð¾Ñ ÑабоÑников ÐпеÑаÑоÑа в Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð·Ð°ÐºÐ»ÑÑениÑ\n\t\t\tÑÑÑдового договоÑа, а Ñакже пеÑÑоналÑнÑми даннÑми инÑÑ
лиÑ, ÑказаннÑÑ
в Ñазделе 5 наÑÑоÑÑей ÐолиÑики (далее â\n\t\t\tÑÑбÑекÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
или ÑÑбÑекÑÑ ÐÐн
2).</span>\n\t</p>\n\t<p>\n\t\t<span>1.6. ÐолиÑика ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ñели обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
, клаÑÑиÑикаÑиÑ\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
и ÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
, опÑеделÑÑ Ð¿Ð¾ÑÑдок и ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
,\n\t\t\tмеÑÑ Ð¿Ð¾ обеÑпеÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи пеÑÑоналÑнÑÑ
даннÑÑ
в оÑноÑении инÑоÑмаÑии, коÑоÑÑÑ ÐпеÑаÑÐ¾Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¾Ñ\n\t\t\tÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
, в Ñом ÑиÑле Ð¾Ñ Ð¿Ð¾ÑеÑиÑелей и полÑзоваÑелей (далее â ÐолÑзоваÑелÑ) во вÑемÑ\n\t\t\tиÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¡Ð°Ð¹Ñа Ðкомилк.</span>\n\t</p>\n\t<p>\n\t\t<span>1.7. Ð ÑооÑвеÑÑÑвии Ñ Ð½Ð°ÑÑоÑÑей ÐолиÑикой ÐÐР«Ðкомилк» оÑÑÑеÑÑвлÑÐµÑ Ð¾Ð±ÑабоÑкÑ\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
как Ñ Ð¸ÑполÑзованием ÑÑедÑÑв авÑомаÑизаÑии, Ñак и без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑаковÑÑ
. ÐбÑабоÑка\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
не Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑÑÑ ÐпеÑаÑоÑом или его ÑабоÑниками в ÑелÑÑ
пÑиÑÐ¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÑÑеÑÑвенного и\n\t\t\tмоÑалÑного вÑеда ÑÑбÑекÑам пеÑÑоналÑнÑÑ
даннÑÑ
, заÑÑÑÐ´Ð½ÐµÐ½Ð¸Ñ ÑеализаÑии иÑ
пÑав и Ñвобод. ÐбÑабоÑка пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
должна оÑÑÑеÑÑвлÑÑÑÑÑ Ð´Ð¾ доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ¾Ð½Ð½ÑÑ
, конкÑеÑнÑÑ
и заÑанее опÑеделеннÑÑ
Ñелей, и должна пÑоводиÑÑÑÑ\n\t\t\tв оÑноÑении ÑеÑ
пеÑÑоналÑнÑÑ
даннÑÑ
и ÑолÑко в Ñом обÑеме, коÑоÑÑе оÑвеÑаÑÑ ÑелÑм обÑабоÑки.</span>\n\t</p>\n\t<p>\n\t\t<span>1.8. ÐпеÑаÑÐ¾Ñ Ð½Ðµ ÑаÑкÑÑÐ²Ð°ÐµÑ ÑÑеÑÑим лиÑам и не ÑаÑпÑоÑÑÑанÑÐµÑ Ð¿ÐµÑÑоналÑнÑе даннÑе\n\t\t\tбез ÑоглаÑÐ¸Ñ Ð¡ÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
(еÑли иное не пÑедÑÑмоÑÑено ÑедеÑалÑнÑм законом РоÑÑийÑкой\n\t\t\tФедеÑаÑии).</span>\n\t</p>\n\t<p>\n\t\t<span>1.9. Ð ÑлÑÑаÑÑ
, когда ÐпеÑаÑÐ¾Ñ Ð¿Ð¾ÑÑÑÐ°ÐµÑ Ð¾Ð±ÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
дÑÑгим лиÑам,\n\t\t\tим ÑоблÑдаÑÑÑÑ Ð²Ñе ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÐµÐ´ÐµÑалÑного закона Ð¾Ñ 27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
»,\n\t\t\tпÑедÑÑмоÑÑеннÑе Ð´Ð»Ñ Ð¿Ð¾ÑÑÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
ÑÑеÑÑим лиÑам.</span>\n\t</p>\n\t<p>\n\t\t<span>1.10. ÐÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°ÑÑоÑÑей ÐолиÑики ÑвлÑÑÑÑÑ Ð¾Ñновой Ð´Ð»Ñ Ð¾ÑганизаÑии ÑабоÑÑ Ð¿Ð¾\n\t\t\tобÑабоÑке пеÑÑоналÑнÑÑ
даннÑÑ
ÐпеÑаÑоÑом, в Ñом ÑиÑле, Ð´Ð»Ñ ÑазÑабоÑки внÑÑÑенниÑ
ноÑмаÑивнÑÑ
докÑменÑов,\n\t\t\tÑегламенÑиÑÑÑÑиÑ
пÑоÑеÑÑ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
ÐпеÑаÑоÑом и обÑзаÑелÑÐ½Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñеми ÑабоÑниками\n\t\t\tÐпеÑаÑоÑа.</span>\n\t</p>\n\t<p>\n\t\t<span>1.11. ÐÑполÑзование ÑайÑа ecomilk.ru</span><span> \n\t\t</span><span>и (или) СеÑвиÑов СайÑа Ðкомилк и пÑедоÑÑавление ÐпеÑаÑоÑÑ ÑвоиÑ
пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
ознаÑÐ°ÐµÑ Ð±ÐµÐ·ÑÑловное ÑоглаÑие ÐолÑзоваÑÐµÐ»Ñ Ñ Ð½Ð°ÑÑоÑÑей ÐолиÑикой и ÑÑловиÑми обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
.\n\t\t\tÐ ÑлÑÑае неÑоглаÑÐ¸Ñ (полного или ÑаÑÑиÑного) Ñ ÑÑловиÑми ÐолиÑики ÐолÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ пÑекÑаÑиÑÑ Ð¸ÑполÑзование\n\t\t\tÑайÑа ecomilk.ru и (или) СеÑвиÑов СайÑа Ðкомилк.</span>\n\t</p>\n\t<p>\n\t\t<span>
21.12. Ð¡Ð°Ð¹Ñ ecomilk.ru</span><span>  </span><span style="font-family:Arial">(далее â СайÑ) Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ\n\t\t\tгипеÑÑÑÑлки на дÑÑгие веб-ÑайÑÑ, пÑедоÑÑавленнÑе ÑÑеÑÑими\n\t\t\tлиÑами. ÐпеÑаÑÐ¾Ñ Ð½Ðµ конÑÑолиÑÑÐµÑ ÑÑоÑонние веб-ÑайÑÑ Ð¸Ð»Ð¸ инÑоÑмаÑиÑ, ÑазмеÑеннÑÑ Ð½Ð° веб-ÑайÑаÑ
ÑÑеÑÑиÑ
лиÑ.\n\t\t\tÐпеÑаÑÐ¾Ñ Ð½Ðµ неÑÐµÑ Ð¾ÑвеÑÑÑвенноÑÑи за заÑиÑÑ Ð¸ конÑиденÑиалÑноÑÑÑ Ð»Ñбой инÑоÑмаÑии, пÑедоÑÑавленной ÑÑбÑекÑом\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
на веб-ÑайÑаÑ
ÑÑеÑÑиÑ
лиÑ, поÑле Ñого как он покинÑл ÑÐ°Ð¹Ñ ÐпеÑаÑоÑа.</span>\n\t</p>\n\t<p>\n\t\t<span>1.13. ÐпеÑаÑÐ¾Ñ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð¿ÐµÑÑоналÑнÑе даннÑе, непоÑÑедÑÑвенно пÑедоÑÑавленнÑе\n\t\t\tÐолÑзоваÑелем. ÐеÑедаÑа пеÑÑоналÑнÑÑ
даннÑÑ
ÐолÑзоваÑелем ÐпеÑаÑоÑÑ ÑеÑез веб-ÑоÑÐ¼Ñ ÑбоÑа даннÑÑ
(заÑвки, обÑаÑной\n\t\t\tÑвÑзи и Ñ.д.) ознаÑÐ°ÐµÑ ÑоглаÑие ÐолÑзоваÑÐµÐ»Ñ Ð½Ð° пеÑедаÑÑ ÐµÐ³Ð¾ пеÑÑоналÑнÑÑ
даннÑÑ
. ÐÑи ÑÑом ÐолÑзоваÑÐµÐ»Ñ Ð´Ð°ÐµÑ\n\t\t\tконкÑеÑное, пÑедмеÑное, инÑоÑмиÑованное, ÑознаÑелÑное и однознаÑное ÑоглаÑие на обÑабоÑÐºÑ ÑвоиÑ
пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>1.14. ÐпеÑаÑÐ¾Ñ Ð½Ðµ пÑовеÑÑÐµÑ Ð´Ð¾ÑÑовеÑноÑÑÑ Ð¿ÑедоÑÑавлÑемÑÑ
пеÑÑоналÑнÑÑ
даннÑÑ
. ÐÑÑ\n\t\t\tÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ ÐолÑзоваÑелем инÑоÑмаÑиÑ, позволÑÑÑÐ°Ñ ÐµÐ³Ð¾ пÑÑмо или коÑвенно иденÑиÑиÑиÑоваÑÑ, ÑаÑÑмаÑÑиваеÑÑÑ\n\t\t\tÐпеÑаÑоÑом в каÑеÑÑве коÑÑекÑнÑÑ
пеÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>1.15. ÐолÑзоваÑÐµÐ»Ñ Ð¿Ð¾Ð´ÑвеÑждаеÑ, ÑÑо вÑе ÑказаннÑе им даннÑе пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ Ð»Ð¸Ñно ÐµÐ¼Ñ Ð¸\n\t\t\tÑÑо в ÑлÑÑае ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð² пÑедоÑÑавлÑемÑÑ
ÐолÑзоваÑелем Ñведений об инÑÑ
лиÑаÑ
, он подÑвеÑждаеÑ, ÑÑо пеÑедаеÑ\n\t\t\tпеÑÑоналÑнÑе даннÑе Ñ ÑоглаÑÐ¸Ñ ÑÑиÑ
Ð»Ð¸Ñ ÐпеÑаÑоÑÑ Ð½Ð° оÑновании Ñ. 8 ÑÑ. 9, п. 5 Ñ. 1 ÑÑ. 6 ФедеÑалÑного закона оÑ\n\t\t\t27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
».</span>\n\t</p>\n\t<p>\n\t\t<span>1.16. ÐпеÑаÑÐ¾Ñ Ð¸ÑполÑзÑÐµÑ ÑеÑ
Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Â«cookies» Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑаÑиÑÑиÑеÑкой\n\t\t\tоÑÑеÑноÑÑи. ÐÑи поÑеÑении ÐолÑзоваÑелем СайÑа, ÐпеÑаÑÐ¾Ñ Ð¿Ð¾ÑÑедÑÑвом «cookies» опÑеделÑÐµÑ ÐºÐ°ÐºÐ¸Ðµ ÑÑÑаниÑÑ\n\t\t\tÐолÑзоваÑÐµÐ»Ñ Ð¿Ð¾ÑеÑил, ÑÑо бÑло загÑÑжено, Ð¸Ð¼Ñ Ð´Ð¾Ð¼ÐµÐ½Ð° ÐнÑеÑнеÑ-пÑовайдеÑа ÐолÑзоваÑелÑ, ÑÑÑÐ°Ð½Ñ Ð¸ вÑбÑаннÑе пеÑеÑ
одÑ\n\t\t\tÑ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑаниÑÑ Ð½Ð° дÑÑгÑÑ, а Ñакже адÑеÑа ÑÑоÑонниÑ
веб-ÑайÑов, Ñ ÐºÐ¾ÑоÑÑÑ
ÑовеÑÑен пеÑеÑ
од на СайÑ\n\t\t\tÐкомилк.</span>\n\t</p>\n\t<p>\n\t\t<span>1.17. СеÑвеÑ, на коÑоÑом ÑазмеÑаÑÑÑÑ Ð¿ÐµÑÑоналÑнÑе даннÑе ÐолÑзоваÑелей, ÑаÑположен в\n\t\t\tÐÐР«Ðкомилк» на ÑеÑÑиÑоÑии РоÑÑийÑкой ФедеÑаÑии по адÑеÑÑ: 121357, гоÑод ÐоÑква, ÐеÑейÑÐºÐ°Ñ Ñл., д. 17, ÑÑ 2 пом\n\t\t\t213.</span>\n\t</p>\n\t<p>\n\t\t<span>1.19. Ð ÑлÑÑае Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð²Ð¾Ð¿ÑоÑов по\n\t\t\tнаÑÑоÑÑей ÐолиÑике, ÐолÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ ÑвÑзаÑÑÑÑ Ñ Ð¾ÑвеÑÑÑвеннÑм за оÑганизаÑÐ¸Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
,\n\t\t\tнапÑавив пиÑÑмо на адÑÐµÑ ÑлекÑÑонной поÑÑÑ </span>[email protected] <span>Ñ Ð¿Ð¾Ð¼ÐµÑкой «ÐапÑÐ¾Ñ Ð¾ ÐолиÑике конÑиденÑиалÑноÑÑи»\n\t\t\tили по адÑеÑÑ: 121357, гоÑод ÐоÑква, ÐеÑейÑÐºÐ°Ñ Ñл., д. 17, ÑÑ 2 пом 213.</span>\n\t</p>\n\t<p>\n\t\t<span>1.20. ÐÑе вопÑоÑÑ, неÑÑегÑлиÑованнÑе наÑÑоÑÑей ÐолиÑикой обÑабоÑки пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
, ÑегламенÑиÑÑÑÑÑÑ Ð´ÐµÐ¹ÑÑвÑÑÑим законодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии.</span>\n\t</p>\n\t<p>\n\t\t<span>1.21. ÐпеÑаÑÐ¾Ñ Ð¾Ð±ÑзÑеÑÑÑ ÑоблÑдаÑÑ Ð½Ð¾ÑÐ¼Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑва РоÑÑийÑкой ФедеÑаÑии в\n\t\t\tоблаÑÑи заÑиÑÑ Ð¸ обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">2. ÐСÐÐÐÐЫРТÐÐ ÐÐÐЫ, ÐÐÐЯТÐЯ Ð ÐÐÐ ÐÐÐÐÐÐÐЯ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>РнаÑÑоÑÑей ÐолиÑике иÑполÑзÑÑÑÑÑ ÑледÑÑÑие оÑновнÑе ÑеÑÐ¼Ð¸Ð½Ñ Ð¸ опÑеделениÑ:</span>\n\t</p>\n\t<p>\n\t\t<span>2.1. ÐеÑÑоналÑнÑе даннÑе (далее â ÐÐн) â лÑÐ±Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ, оÑноÑÑÑаÑÑÑ Ðº пÑÑмо или\n\t\t\tкоÑвенно опÑеделенномÑ, или опÑеделÑÐµÐ¼Ð¾Ð¼Ñ ÑизиÑеÑÐºÐ¾Ð¼Ñ Ð»Ð¸ÑÑ (ÑÑбÑекÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
). </span>\n\t</p>\n\t<p>\n\t\t<span>2.2. ÐонÑиденÑиалÑноÑÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
â обÑзаÑелÑное Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐпеÑаÑоÑом\n\t\t\tили инÑм лиÑом, полÑÑивÑим доÑÑÑп к пеÑÑоналÑнÑм даннÑм, ÑÑебование не допÑÑкаÑÑ ÑаÑкÑÑÑÐ¸Ñ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
\n\t\t\tÑÑеÑÑим лиÑам, и иÑ
ÑаÑпÑоÑÑÑанение без СоглаÑÐ¸Ñ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
или налиÑÐ¸Ñ Ð¸Ð½Ð¾Ð³Ð¾ законного\n\t\t\tоÑнованиÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>2.3. ÐаÑиÑа пеÑÑоналÑнÑÑ
даннÑÑ
â ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð¼ÐµÑопÑиÑÑий ÑеÑ
2
ниÑеÑкого,\n\t\t\tоÑганизаÑионного и оÑганизаÑионно-ÑеÑ
ниÑеÑкого Ñ
аÑакÑеÑа, напÑавленнÑÑ
на заÑиÑÑ Ñведений, оÑноÑÑÑиÑ
ÑÑ Ðº\n\t\t\tопÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð¸Ð»Ð¸ опÑеделÑÐµÐ¼Ð¾Ð¼Ñ Ð½Ð° оÑновании Ñакой инÑоÑмаÑии ÑÑбÑекÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>2.4. ÐбÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
â лÑбое дейÑÑвие (опеÑаÑиÑ) или ÑовокÑпноÑÑÑ\n\t\t\tдейÑÑвий (опеÑаÑий), ÑовеÑÑаемÑÑ
Ñ Ð¸ÑполÑзованием ÑÑедÑÑв авÑомаÑизаÑии или без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑакиÑ
ÑÑедÑÑв Ñ\n\t\t\tпеÑÑоналÑнÑми даннÑми, вклÑÑÐ°Ñ ÑбоÑ, запиÑÑ, ÑиÑÑемаÑизаÑиÑ, накопление, Ñ
Ñанение, ÑÑоÑнение (обновление,\n\t\t\tизменение), извлеÑение, иÑполÑзование, пеÑедаÑÑ (ÑаÑпÑоÑÑÑанение, пÑедоÑÑавление, доÑÑÑп), обезлиÑивание,\n\t\t\tблокиÑование, Ñдаление, ÑниÑÑожение пеÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>2.5. ÐпеÑаÑÐ¾Ñ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
(ÐпеÑаÑоÑ) â гоÑÑдаÑÑÑвеннÑй оÑган, мÑниÑипалÑнÑй\n\t\t\tоÑган, ÑÑидиÑеÑкое или ÑизиÑеÑкое лиÑо, ÑамоÑÑоÑÑелÑно или ÑовмеÑÑно Ñ Ð´ÑÑгими лиÑами оÑганизÑÑÑие и (или)\n\t\t\tоÑÑÑеÑÑвлÑÑÑие обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
, а Ñакже опÑеделÑÑÑее Ñели обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
, ÑоÑÑав\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
, подлежаÑиÑ
обÑабоÑке, дейÑÑÐ²Ð¸Ñ (опеÑаÑии), ÑовеÑÑаемÑе Ñ Ð¿ÐµÑÑоналÑнÑми даннÑми. </span>\n\t</p>\n\t<p>\n\t\t<span>2.6. ÐбезлиÑивание пеÑÑоналÑнÑÑ
даннÑÑ
â дейÑÑвиÑ, в ÑезÑлÑÑаÑе коÑоÑÑÑ
ÑÑановиÑÑÑ\n\t\t\tневозможнÑм без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной инÑоÑмаÑии опÑеделиÑÑ Ð¿ÑинадлежноÑÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
конкÑеÑномÑ\n\t\t\tÑÑбÑекÑÑ ÐÐн.</span>\n\t</p>\n\t<p>\n\t\t<span>2.7. ÐлокиÑование пеÑÑоналÑнÑÑ
даннÑÑ
â вÑеменное пÑекÑаÑение обÑабоÑки пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
(за иÑклÑÑением ÑлÑÑаев, еÑли обÑабоÑка необÑ
одима Ð´Ð»Ñ ÑÑоÑÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
).</span>\n\t</p>\n\t<p>\n\t\t<span>2.8. УниÑÑожение пеÑÑоналÑнÑÑ
даннÑÑ
â дейÑÑвиÑ, в ÑезÑлÑÑаÑе коÑоÑÑÑ
ÑÑановиÑÑÑ\n\t\t\tневозможнÑм воÑÑÑановиÑÑ ÑодеÑжание пеÑÑоналÑнÑÑ
даннÑÑ
в инÑоÑмаÑионной ÑиÑÑеме пеÑÑоналÑнÑÑ
даннÑÑ
и (или) в\n\t\t\tÑезÑлÑÑаÑе коÑоÑÑÑ
ÑниÑÑожаÑÑÑÑ Ð¼Ð°ÑеÑиалÑнÑе ноÑиÑели ÐÐн.</span>\n\t</p>\n\t<p>\n\t\t<span>2.9. ÐÑедоÑÑавление пеÑÑоналÑнÑÑ
даннÑÑ
â дейÑÑвиÑ, напÑавленнÑе на ÑаÑкÑÑÑие ÐÐн\n\t\t\tопÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð»Ð¸ÑÑ Ð¸Ð»Ð¸ опÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ ÐºÑÑÐ³Ñ Ð»Ð¸Ñ.</span>\n\t</p>\n\t<p>\n\t\t<span>2.10. РаÑпÑоÑÑÑанение пеÑÑоналÑнÑÑ
даннÑÑ
â дейÑÑвиÑ, напÑавленнÑе на ÑаÑкÑÑÑие\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
неопÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ ÐºÑÑÐ³Ñ Ð»Ð¸Ñ.</span>\n\t</p>\n\t<p>\n\t\t<span>2.11. ÐвÑомаÑизиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð±ÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
â обÑабоÑка пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑедÑÑв вÑÑиÑлиÑелÑной ÑеÑ
2
ники.</span>\n\t</p>\n\t<p>\n\t\t<span>2.12. СмеÑÐ°Ð½Ð½Ð°Ñ Ð¾Ð±ÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
â ÑÑо ÑоÑеÑание авÑомаÑизиÑованного и\n\t\t\tнеавÑомаÑизиÑованного ÑпоÑобов обÑабоÑки ÑакиÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>2.13. ТÑанÑгÑаниÑÐ½Ð°Ñ Ð¿ÐµÑедаÑа пеÑÑоналÑнÑÑ
даннÑÑ
â пеÑедаÑа ÐÐн на ÑеÑÑиÑоÑиÑ\n\t\t\tиноÑÑÑанного гоÑÑдаÑÑÑва оÑÐ³Ð°Ð½Ñ Ð²Ð»Ð°ÑÑи иноÑÑÑанного гоÑÑдаÑÑÑва, иноÑÑÑÐ°Ð½Ð½Ð¾Ð¼Ñ ÑизиÑеÑÐºÐ¾Ð¼Ñ Ð»Ð¸ÑÑ Ð¸Ð»Ð¸ иноÑÑÑанномÑ\n\t\t\tÑÑидиÑеÑÐºÐ¾Ð¼Ñ Ð»Ð¸ÑÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>2.14. ÐнÑоÑмаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема пеÑÑоналÑнÑÑ
даннÑÑ
- ÑовокÑпноÑÑÑ ÑодеÑжаÑиÑ
ÑÑ Ð² базаÑ
\n\t\t\tданнÑÑ
пеÑÑоналÑнÑÑ
даннÑÑ
и обеÑпеÑиваÑÑиÑ
иÑ
обÑабоÑÐºÑ Ð¸Ð½ÑоÑмаÑионнÑÑ
ÑеÑ
нологий и ÑеÑ
ниÑеÑкиÑ
ÑÑедÑÑв</span>\n\t</p>\n\t<p>\n\t\t<span>2.15. ÐонÑÑÐ°Ð³ÐµÐ½Ñ (клиенÑ) â ÑÑидиÑеÑкое лиÑо, индивидÑалÑнÑй пÑедпÑинимаÑелÑ, а\n\t\t\tÑакже ÑизиÑеÑкое лиÑо, занимаÑÑееÑÑ Ð² ÑÑÑановленном законодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии поÑÑдке\n\t\t\tпÑедпÑинимаÑелÑÑкой деÑÑелÑноÑÑÑÑ, заклÑÑивÑее или намеÑеваÑÑееÑÑ Ð·Ð°ÐºÐ»ÑÑиÑÑ Ñ ÐпеÑаÑоÑом договоÑ. </span>\n\t</p>\n\t<p>\n\t\t<span>2.16. РабоÑник â ÑизиÑеÑкое лиÑо, заклÑÑивÑее Ñ ÐпеÑаÑоÑом ÑÑÑдовой договоÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>2.17. СоиÑкаÑÐµÐ»Ñ â ÑÑо ÑизиÑеÑкое лиÑо, коÑоÑое акÑивно вÑÑÐ°Ð¶Ð°ÐµÑ Ñвое намеÑение\n\t\t\tзаклÑÑиÑÑ ÑÑÑдовой Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñ Ñ ÐпеÑаÑоÑом Ñ ÑелÑÑ Ð·Ð°Ð¼ÐµÑÐµÐ½Ð¸Ñ Ð²Ð°ÐºÐ°Ð½Ñной должноÑÑи. </span>\n\t</p>\n\t<p>\n\t\t<span>2.18. Ð¡Ð°Ð¹Ñ â ÑовокÑпноÑÑÑ Ð¿ÑогÑамм Ð´Ð»Ñ ÑлекÑÑоннÑÑ
вÑÑиÑлиÑелÑнÑÑ
маÑин и иной\n\t\t\tинÑоÑмаÑии, ÑодеÑжаÑейÑÑ Ð² инÑоÑмаÑионной ÑиÑÑеме, доÑÑÑп к коÑоÑой обеÑпеÑиваеÑÑÑ Ð¿Ð¾ÑÑедÑÑвом\n\t\t\tинÑоÑмаÑионно-ÑелекоммÑникаÑионной ÑеÑи «ÐнÑеÑнеÑ», ÑаÑположеннÑÑ
по адÑеÑÑ ecomilk.ru. </span>\n\t</p>\n\t<p>\n\t\t<span>2.19. ÐÑполÑзование СайÑа â лÑбÑе дейÑÑÐ²Ð¸Ñ ÑÑбÑекÑа ÐÐн по полÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпа к СайÑÑ\n\t\t\tи (или) СеÑвиÑам СайÑа ecomilk.ru или оÑделÑнÑм его ÑаÑÑÑм, ÑÑнкÑиÑм, инÑеÑÑейÑам; воÑпÑоизведение,\n\t\t\tÑаÑпÑоÑÑÑанение, доведение до вÑеобÑего ÑведениÑ, ÑообÑение по ÐºÐ°Ð±ÐµÐ»Ñ Ð¸ в ÑÑиÑ, импоÑÑ, пÑокаÑ, пÑблиÑное\n\t\t\tиÑполнение, пеÑевод и дÑÑÐ³Ð°Ñ Ð¿ÐµÑеÑабоÑка маÑеÑиалов, инÑоÑмаÑии (в полном обÑеме или ÑаÑÑиÑно), ÑазмеÑеннÑÑ
на\n\t\t\tСайÑе и (или) в СеÑвиÑаÑ
; лÑбÑе дÑÑгие ÑпоÑÐ¾Ð±Ñ Ð¸ÑполÑзованиÑ, незавиÑимо Ð¾Ñ Ñого, ÑовеÑÑаÑÑÑÑ Ð»Ð¸ ÑооÑвеÑÑÑвÑÑÑие\n\t\t\tдейÑÑÐ²Ð¸Ñ Ð² ÑелÑÑ
извлеÑÐµÐ½Ð¸Ñ Ð¿ÑибÑли или без Ñакой Ñели.</span>\n\t</p>\n\t<p>\n\t\t<span>2.20. ÐолÑзоваÑÐµÐ»Ñ â лиÑо, имеÑÑее доÑÑÑп и иÑполÑзÑÑÑее Ð¡Ð°Ð¹Ñ Ðкомилк поÑÑедÑÑвом\n\t\t\tÑеÑи ÐнÑеÑнеÑ, и пÑедоÑÑавивÑее ÐпеÑаÑоÑÑ Ñвои пеÑÑоналÑнÑе даннÑе пÑи ÑегиÑÑÑаÑии (Ñоздании ÑÑÑÑной запиÑи),\n\t\t\tзаполнении ÑоÑм обÑаÑной ÑвÑзи или на полÑÑение ÑпÑавоÑной инÑоÑмаÑии.</span>\n\t</p>\n\t<p>\n\t\t<span>2.21. Ð¤Ð°Ð¹Ð»Ñ cookie â даннÑе, коÑоÑÑе пеÑедаÑÑÑÑ Ð² пÑоÑеÑÑе иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¡Ð°Ð¹Ñа Ñ\n\t\t\tпомоÑÑÑ ÑÑÑановленного на ÑÑÑÑойÑÑве ÑÑбÑекÑа ÐÐн пÑогÑаммного обеÑпеÑениÑ, в Ñом ÑиÑле IP-адÑеÑ, инÑоÑмаÑÐ¸Ñ Ð¾\n\t\t\tбÑаÑзеÑе (или иной пÑогÑамме, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑоÑой оÑÑÑеÑÑвлÑеÑÑÑ Ð´Ð¾ÑÑÑп к СайÑÑ), иÑполÑзÑемÑÑ
ÑÑбÑекÑом ÐÐн, даÑа и\n\t\t\tвÑÐµÐ¼Ñ Ð´Ð¾ÑÑÑпа к СайÑÑ, даÑа и вÑÐµÐ¼Ñ Ð°ÐºÑепÑа ÑазмеÑеннÑÑ
на СайÑе оÑеÑÑ, ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± иÑÑоÑии покÑпок на СайÑе, а\n\t\t\tÑакже пÑи иÑполÑзовании СеÑвиÑов адÑеÑа запÑаÑиваемÑÑ
ÑÑÑÐ°Ð½Ð¸Ñ Ð¸ Ð¸Ð½Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ.</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">3. ЦÐÐРСÐÐÐ Ð Ð ÐÐÐ ÐÐÐТÐÐ ÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>ÐеÑÑоналÑнÑе даннÑе ÐолÑзоваÑелей (СÑбÑекÑов ÐÐн) ÐпеÑаÑÐ¾Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð²\n\t\t\tÑледÑÑÑиÑ
ÑелÑÑ
:</span>\n\t</p>\n\t<p>\n\t\t<span>3.1. ÐÑÑÑеÑÑвление Ñвоей деÑÑелÑноÑÑи в ÑооÑвеÑÑÑвии Ñ ÑÑÑавом ÐпеÑаÑоÑа; </span>\n\t</p>\n\t<p>\n\t\t<span>3.2.</span><span>  </span><span style="font-family:Arial">СоблÑдение законодаÑелÑÑÑва и ноÑмаÑивнÑÑ
\n\t\t\tакÑов, оÑоÑмление и ÑегÑлиÑование ÑÑÑдовÑÑ
\n\t\t\tоÑноÑений, ведение кадÑовой докÑменÑаÑии, ÑаÑÑÐµÑ Ð·Ð°ÑабоÑной плаÑÑ, ÑплаÑа налогов, ÑбоÑов и взноÑов на ÑоÑиалÑное\n\t\t\tи пенÑионное ÑÑÑаÑ
ование, пÑедоÑÑавление ÑÑÑановленной законодаÑелÑÑÑвом оÑÑеÑноÑÑи в оÑноÑении ÑизиÑеÑкиÑ
лиÑ, в\n\t\t\tÑом ÑиÑле в СоÑиалÑнÑй Ñонд РоÑÑии и ФедеÑалÑнÑÑ Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²ÑÑ ÑлÑжбÑ, пеÑедаÑа даннÑÑ
в кÑедиÑнÑе оÑганизаÑии длÑ\n\t\t\tоÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð½ÐºÐ¾Ð²Ñкой каÑÑÑ Ð¸ пеÑеÑиÑÐ»ÐµÐ½Ð¸Ñ Ð·Ð°ÑабоÑной плаÑÑ, Ð´Ð»Ñ Ð¾ÑганизаÑии пеÑемеÑений-поездок, вклÑÑаÑ\n\t\t\tÑодейÑÑвие пÑи пеÑелеÑаÑ
и пеÑеездаÑ
, оÑганизаÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñовок и бÑониÑование гоÑÑиниÑ, а Ñакже пÑедоÑÑавление\n\t\t\tинÑоÑмаÑии ÑÑеÑÑим лиÑам Ð´Ð»Ñ Ð¾ÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ñа добÑоволÑного медиÑинÑкого ÑÑÑаÑ
ованиÑ, полÑÑÐµÐ½Ð¸Ñ Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²ÑÑ
\n\t\t\tвÑÑеÑов, обеÑпеÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи, конÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва и обÑема вÑполнÑемой ÑабоÑÑ, ÑоÑ
ÑанноÑÑи имÑÑеÑÑва\n\t\t\tÑабоÑодаÑелÑ;</span>\n\t</p>\n\t<p>\n\t\t<span>3.3. ÐденÑиÑикаÑÐ¸Ñ ÑÑоÑÐ¾Ð½Ñ Ð² ÑамкаÑ
ÑоглаÑений и договоÑов, заклÑÑаемÑÑ
ÐпеÑаÑоÑом;\n\t\t</span>\n\t</p>\n\t<p>\n\t\t<span>3.4. ÐÑполÑзование ÑеÑ
нологии «cookies» Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑаÑиÑÑиÑеÑкой оÑÑеÑноÑÑи,\n\t\t\tÑÑандаÑÑнÑÑ
жÑÑналов ÑÑеÑа веб-ÑеÑвеÑа Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑеÑа колиÑеÑÑва поÑеÑиÑелей и оÑенки ÑеÑ
ниÑеÑкиÑ
возможноÑÑей\n\t\t\tСайÑа;</span>\n\t</p>\n\t<p>\n\t\t<span>3.5. ÐÑивлеÑение и оÑÐ±Ð¾Ñ Ð¡Ð¾Ð¸ÑкаÑелей на ÑабоÑÑ Ñ ÐпеÑаÑоÑа и ÑÑÑÑ Ð² кадÑовом\n\t\t\tÑезеÑве;</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">4. ÐÐ ÐÐÐÐЫРÐСÐÐÐÐÐÐЯ ÐÐÐ ÐÐÐТÐÐ ÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>ÐÑавовÑми оÑнованиÑми обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
ÑвлÑÑÑÑÑ:</span>\n\t</p>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐонÑÑиÑÑÑÐ¸Ñ Ð Ð¾ÑÑийÑкой ФедеÑаÑии;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐÑажданÑкий ÐºÐ¾Ð´ÐµÐºÑ Ð Ð¤, ÑаÑÑÑ Ð¿ÐµÑÐ²Ð°Ñ Ð¾Ñ 30.11.1994 г. â 51-ФÐ;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ТÑÑдовой ÐºÐ¾Ð´ÐµÐºÑ Ð Ð¾ÑÑийÑкой ФедеÑаÑии Ð¾Ñ 30.12.2001 г. â 197-ФÐ; </span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐалоговÑй ÐºÐ¾Ð´ÐµÐºÑ Ð Ð¾ÑÑийÑкой ФедеÑаÑии Ð¾Ñ 31.07.1998 г. â 146-ФÐ;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ФедеÑалÑнÑй закон Ð¾Ñ 27.07.2006 г. â 149-ФР«Ðб инÑоÑмаÑии, инÑоÑмаÑионнÑÑ
\n\t\t\t\tÑеÑ
нологиÑÑ
и о заÑиÑе инÑоÑмаÑии» (Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñми и дополнениÑми);</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ФедеÑалÑнÑй закон Ð¾Ñ 27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
»;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐоÑÑановление ÐÑавиÑелÑÑÑва РоÑÑийÑкой ФедеÑаÑии Ð¾Ñ 01.11.2012 года â 1119\n\t\t\t\t«Ðб ÑÑвеÑждении ÑÑебований к заÑиÑе пеÑÑоналÑнÑÑ
даннÑÑ
пÑи иÑ
обÑабоÑке в инÑоÑмаÑионнÑÑ
ÑиÑÑемаÑ
пеÑÑоналÑнÑÑ
\n\t\t\t\tданнÑÑ
»;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐÑиказ ФедеÑалÑной ÑлÑÐ¶Ð±Ñ Ð¿Ð¾ ÑеÑ
ниÑеÑÐºÐ¾Ð¼Ñ Ð¸ ÑкÑпоÑÑÐ½Ð¾Ð¼Ñ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ Ð¾Ñ\n\t\t\t\t18.02.2013 г. â 21 «Ðб ÑÑвеÑждении СоÑÑава и ÑодеÑÐ¶Ð°Ð½Ð¸Ñ Ð¾ÑганизаÑионнÑÑ
и ÑеÑ
ниÑеÑкиÑ
Ð¼ÐµÑ Ð¿Ð¾ обеÑпеÑениÑ\n\t\t\t\tбезопаÑноÑÑи пеÑÑоналÑнÑÑ
даннÑÑ
пÑи иÑ
обÑабоÑке в инÑоÑмаÑионнÑÑ
ÑиÑÑемаÑ
пеÑÑоналÑнÑÑ
даннÑÑ
»;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐоÑÑановление ÐÑавиÑелÑÑÑва РоÑÑийÑкой ФедеÑаÑии Ð¾Ñ 15.09.2008 г. â 687 «Ðб\n\t\t\t\tÑÑвеÑждении Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð± оÑобенноÑÑÑÑ
обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
, оÑÑÑеÑÑвлÑемой без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑедÑÑв\n\t\t\t\tавÑомаÑизаÑии»;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÐоговоÑÑ, ÑоглаÑÐµÐ½Ð¸Ñ Ñ ÑÑбÑекÑами пеÑÑоналÑнÑÑ
даннÑÑ
;
2</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>СоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
Ð¾Ñ ÑÑбÑекÑов ÐÐн, в ÑаÑÑноÑÑи\n\t\t\t\tÐолÑзоваÑелей СайÑа.</span>\n\t\t</p>\n\t</div>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">5. ÐÐЪÐÐ Ð ÐÐТÐÐÐÐ ÐÐ ÐÐÐ ÐÐÐТЫÐÐÐÐЫХ ÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ, ÐÐТÐÐÐÐ ÐÐ\n\t\t\t\tСУÐЪÐÐТÐÐ ÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>5.1. ÐпеÑаÑоÑом Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ñанее опÑеделеннÑÑ
Ñелей, в Ñом ÑиÑле, но не\n\t\t\tогÑаниÑиваÑÑÑ:</span><br><span>5.1.1. СоиÑкаÑели Ð´Ð»Ñ Ñелей иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑÑдового\n\t\t\tзаконодаÑелÑÑÑва в ÑамкаÑ
ÑÑÑдовÑÑ
и инÑÑ
непоÑÑедÑÑвенно ÑвÑзаннÑÑ
Ñ Ð½Ð¸Ð¼ оÑноÑений, оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑопÑÑкного\n\t\t\tÑежима:</span>\n\t</p>\n\t<ul>\n\t\t<li>\n\t\t\t<span>ÑамилиÑ, имÑ, оÑÑеÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>пол;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>гÑажданÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>даÑа и меÑÑо ÑождениÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>конÑакÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± обÑазовании, опÑÑе ÑабоÑÑ, квалиÑикаÑии;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>инÑе пеÑÑоналÑнÑе даннÑе, ÑообÑаемÑе кандидаÑами в ÑезÑме и ÑопÑоводиÑелÑнÑÑ
\n\t\t\t\tпиÑÑмаÑ
.</span>\n\t\t</li>\n\t</ul>\n\n\t<p>\n\t\t<span>5.1.2. РабоÑники и бÑвÑие ÑабоÑники ÐпеÑаÑоÑа - Ð´Ð»Ñ Ñелей иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑÑдового\n\t\t\tзаконодаÑелÑÑÑва в ÑамкаÑ
ÑÑÑдовÑÑ
и инÑÑ
непоÑÑедÑÑвенно ÑвÑзаннÑÑ
Ñ Ð½Ð¸Ð¼ оÑноÑений, оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑопÑÑкного\n\t\t\tÑежима:</span>\n\t</p>\n\t<ul>\n\t\t<li>\n\t\t\t<span>ÑамилиÑ, имÑ, оÑÑеÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>пол;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>гÑажданÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>даÑа и меÑÑо ÑождениÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>изобÑажение (ÑоÑогÑаÑиÑ);</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>паÑпоÑÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>адÑÐµÑ ÑегиÑÑÑаÑии по меÑÑÑ Ð¶Ð¸ÑелÑÑÑва;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>адÑÐµÑ ÑакÑиÑеÑкого пÑоживаниÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>конÑакÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>индивидÑалÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð½Ð°Ð»Ð¾Ð³Ð¾Ð¿Ð»Ð°ÑелÑÑика;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÑÑаÑ
овой Ð½Ð¾Ð¼ÐµÑ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´ÑалÑного лиÑевого ÑÑеÑа (СÐÐÐС);</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± обÑазовании, квалиÑикаÑии, пÑоÑеÑÑионалÑной подгоÑовке и повÑÑении\n\t\t\t\tквалиÑикаÑии;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>Ñемейное положение, налиÑие деÑей, ÑодÑÑвеннÑе ÑвÑзи;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑÑÑдовой деÑÑелÑноÑÑи;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>даннÑе о ÑегиÑÑÑаÑии бÑака;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ воинÑком ÑÑеÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± инвалидноÑÑи;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>
2инÑе пеÑÑоналÑнÑе даннÑе, пÑедоÑÑавлÑемÑе ÑабоÑниками в ÑооÑвеÑÑÑвии Ñ\n\t\t\t\tÑÑебованиÑми ÑÑÑдового законодаÑелÑÑÑва.</span>\n\t\t</li>\n\t</ul>\n\n\t<p>\n\t\t<span>5.1.3. Ð§Ð»ÐµÐ½Ñ ÑемÑи ÑабоÑников ÐпеÑаÑоÑа - Ð´Ð»Ñ Ñелей иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑÑдового\n\t\t\tзаконодаÑелÑÑÑва в ÑамкаÑ
ÑÑÑдовÑÑ
и инÑÑ
непоÑÑедÑÑвенно ÑвÑзаннÑÑ
Ñ Ð½Ð¸Ð¼ оÑноÑений:</span>\n\t</p>\n\t<ul>\n\t\t<li>\n\t\t\t<span>ÑамилиÑ, имÑ, оÑÑеÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>ÑÑÐµÐ¿ÐµÐ½Ñ ÑодÑÑва;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>год ÑождениÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>инÑе пеÑÑоналÑнÑе даннÑе, пÑедоÑÑавлÑемÑе ÑабоÑниками в ÑооÑвеÑÑÑвии Ñ\n\t\t\t\tÑÑебованиÑми ÑÑÑдового законодаÑелÑÑÑва.</span>\n\t\t</li>\n\t</ul>\n\n\t<p>\n\t\t<span>5.1.4. ÐлиенÑÑ Ð¸ конÑÑагенÑÑ ÐпеÑаÑоÑа (ÑизиÑеÑкие лиÑа) - Ð´Ð»Ñ Ñелей оÑÑÑеÑÑвлениÑ\n\t\t\tÑвоей деÑÑелÑноÑÑи в ÑооÑвеÑÑÑвии Ñ ÑÑÑавом ÐпеÑаÑоÑа, оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑопÑÑкного Ñежима:</span>\n\t</p>\n\t<ul>\n\t\t<li>\n\t\t\t<span>ÑамилиÑ, имÑ, оÑÑеÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>даÑа и меÑÑо ÑождениÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>паÑпоÑÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>адÑÐµÑ ÑегиÑÑÑаÑии по меÑÑÑ Ð¶Ð¸ÑелÑÑÑва;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>конÑакÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>замеÑÐ°ÐµÐ¼Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ÑÑÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>индивидÑалÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð½Ð°Ð»Ð¾Ð³Ð¾Ð¿Ð»Ð°ÑелÑÑика;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>Ð½Ð¾Ð¼ÐµÑ ÑаÑÑеÑного ÑÑеÑа;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>инÑе пеÑÑоналÑнÑе даннÑе, пÑедоÑÑавлÑемÑе клиенÑами и конÑÑагенÑами (ÑизиÑеÑкими\n\t\t\t\tлиÑами), необÑ
одимÑе Ð´Ð»Ñ Ð·Ð°ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¸ иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñов.</span>\n\t\t</li>\n\t</ul>\n\n\t<p>\n\t\t<span>5.1.5. ÐÑедÑÑавиÑели (ÑабоÑники) клиенÑов и конÑÑагенÑов ÐпеÑаÑоÑа (ÑÑидиÑеÑкиÑ
лиÑ)\n\t\t\t- Ð´Ð»Ñ Ñелей оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ñвоей деÑÑелÑноÑÑи в ÑооÑвеÑÑÑвии Ñ ÑÑÑавом ÐпеÑаÑоÑа, оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑопÑÑкного\n\t\t\tÑежима:</span>\n\t</p>\n\t<ul>\n\t\t<li>\n\t\t\t<span>ÑамилиÑ, имÑ, оÑÑеÑÑво;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>паÑпоÑÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>конÑакÑнÑе даннÑе;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>замеÑÐ°ÐµÐ¼Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ÑÑÑ;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>инÑе пеÑÑоналÑнÑе даннÑе, пÑедоÑÑавлÑемÑе пÑедÑÑавиÑелÑми (ÑабоÑниками) клиенÑов\n\t\t\t\tи конÑÑагенÑов, необÑ
одимÑе Ð´Ð»Ñ Ð·Ð°ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¸ иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñов.</span>\n\t\t</li>\n\t</ul>\n\n\t<p>\n\t\t<span>5.1.6. Ð ÑказаннÑÑ
в Ñазделе 3 наÑÑоÑÑей ÐолиÑики ÑелÑÑ
ÐпеÑаÑоÑ, Ñ Ð¡Ð¾Ð³Ð»Ð°ÑиÑ\n\t\t\tÐолÑзоваÑелей СайÑа, обÑабаÑÑÐ²Ð°ÐµÑ ÑледÑÑÑие пеÑÑоналÑнÑе даннÑе:</span>\n\t</p>\n\t<ul>\n\t\t<li>\n\t\t\t<span>ÑамилиÑ, имÑ, оÑÑеÑÑво (ÑказаннÑе вмеÑÑе или по оÑделÑноÑÑи);</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>конÑакÑнÑй ÑелеÑон;</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>адÑÐµÑ ÑлекÑÑонной поÑÑÑ (e-mail);</span>\n\t\t</li>\n\t\t<li>\n\t\t\t<span>а Ñакже лÑбÑÑ Ð¸Ð½ÑоÑмаÑиÑ, оÑноÑÑÑÑÑÑÑ Ðº лиÑноÑÑи ÐолÑзоваÑелÑ, коÑоÑÑÑ\n\t\t\t\tÐолÑзоваÑÐµÐ»Ñ Ð¿Ð¾Ð¶ÐµÐ»Ð°ÐµÑ Ð¾ÑÑавиÑÑ Ð½Ð° СайÑе.</span>\n\t\t</li>\n\t</ul>\n \n\t<p>\n\t\t<span>5.2. СÑбÑекÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
подÑазделÑÑÑÑÑ Ð½Ð° ÑледÑÑÑие каÑегоÑии лиÑ:</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.1. ÐолÑзоваÑели, имеÑÑие доÑÑÑп и иÑполÑзÑÑÑие Ð¡Ð°Ð¹Ñ Ð¸ ÑвÑзаннÑе Ñ Ð½Ð¸Ð¼ ÑайÑÑ\n\t\t\tпоÑÑедÑÑвом ÑеÑи ÐнÑеÑнеÑ;</span>\n\t</p>\n\t<p>\n\t\t<span>
25.2.2.ФизиÑеÑкие лиÑа, ÑвлÑÑÑиеÑÑ Ð¡Ð¾Ð¸ÑкаÑелÑми;</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.3. ФизиÑеÑкие лиÑа, ÑвлÑÑÑиеÑÑ ÑабоÑниками ÐпеÑаÑоÑа и иÑ
близкими\n\t\t\tÑодÑÑвенниками;</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.4. ФизиÑеÑкие лиÑа, ÑвлÑÑÑиеÑÑ ÑволеннÑми ÑабоÑниками ÐпеÑаÑоÑа;</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.5. ÐÑедÑÑавиÑели ÑÑидиÑеÑкиÑ
Ð»Ð¸Ñ Ð¸ ÑизиÑеÑкие лиÑа, кÑпивÑие или намеÑеваÑÑиеÑÑ\n\t\t\tпÑиобÑеÑÑи ÑоваÑÑ ÐпеÑаÑоÑа, иÑполÑзÑÑÑие или намеÑеваÑÑиеÑÑ Ð¸ÑполÑзоваÑÑ Ð¡ÐµÑвиÑÑ ÐпеÑаÑоÑа, ÑÑлÑги ÑÑеÑÑиÑ
лиÑ\n\t\t\tпÑи поÑÑедниÑеÑÑве ÐпеÑаÑоÑа или не имеÑÑие Ñ ÐпеÑаÑоÑом договоÑнÑÑ
оÑноÑений пÑи ÑÑловии, ÑÑо иÑ
пеÑÑоналÑнÑе\n\t\t\tданнÑе вклÑÑÐµÐ½Ñ Ð² авÑомаÑизиÑованнÑе ÑиÑÑÐµÐ¼Ñ ÐпеÑаÑоÑа и обÑабаÑÑваÑÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ ÐаконодаÑелÑÑÑвом о\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
(ÐолÑзоваÑелÑ);</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.6. ÐÑедÑÑавиÑели ÑÑидиÑеÑкиÑ
Ð»Ð¸Ñ Ð¸ ÑизиÑеÑкие лиÑа, не оÑноÑÑÑиеÑÑ Ðº ÐлиенÑам,\n\t\t\tзаклÑÑивÑие или намеÑеваÑÑиеÑÑ Ð·Ð°ÐºÐ»ÑÑиÑÑ Ñ ÐпеÑаÑоÑом договоÑÑ Ð² ÑвÑзи Ñ Ð¾ÑÑÑеÑÑвлением ÐпеÑаÑоÑом\n\t\t\tадминиÑÑÑаÑивно-Ñ
озÑйÑÑвенной деÑÑелÑноÑÑи пÑи ÑÑловии, ÑÑо иÑ
пеÑÑоналÑнÑе даннÑе вклÑÑÐµÐ½Ñ Ð² авÑомаÑизиÑованнÑе\n\t\t\tÑиÑÑÐµÐ¼Ñ ÐпеÑаÑоÑа и обÑабаÑÑваÑÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом о пеÑÑоналÑнÑÑ
даннÑÑ
;</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.7. ФизиÑеÑкие лиÑа, пеÑÑоналÑнÑе даннÑе коÑоÑÑÑ
ÑÐ´ÐµÐ»Ð°Ð½Ñ Ð¸Ð¼Ð¸ обÑедоÑÑÑпнÑми, а иÑ
\n\t\t\tобÑабоÑка не наÑÑÑÐ°ÐµÑ Ð¸Ñ
пÑав и ÑооÑвеÑÑÑвÑÐµÑ ÑÑебованиÑм, ÑÑÑановленнÑм ÐаконодаÑелÑÑÑвом о пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
;</span>\n\t</p>\n\t<p>\n\t\t<span>5.2.8. ÐнÑе ÑизиÑеÑкие лиÑа, вÑÑазивÑие ÑоглаÑие на обÑабоÑÐºÑ ÐпеÑаÑоÑом иÑ
\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
или ÑизиÑеÑкие лиÑа, обÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
коÑоÑÑÑ
необÑ
одима ÐпеÑаÑоÑÑ Ð´Ð»Ñ Ð´Ð¾ÑÑижениÑ\n\t\t\tÑелей, пÑедÑÑмоÑÑеннÑÑ
междÑнаÑоднÑм договоÑом РоÑÑийÑкой ФедеÑаÑии или законом, Ð´Ð»Ñ Ð¾ÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¸ вÑполнениÑ\n\t\t\tвозложеннÑÑ
законодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии на ÐпеÑаÑоÑа ÑÑнкÑий, полномоÑий и обÑзанноÑÑей.</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">6. ÐÐРЯÐÐРРУСÐÐÐÐЯ ÐÐÐ ÐÐÐТÐÐ ÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>6.1. ÐпеÑаÑÐ¾Ñ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð¾Ð±ÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
(ÐÐн) пÑи налиÑии Ñ
оÑÑ Ð±Ñ\n\t\t\tодного из ÑледÑÑÑиÑ
ÑÑловий:</span>\n\t</p>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>обÑабоÑка ÐÐн оÑÑÑеÑÑвлÑеÑÑÑ Ñ ÐºÐ¾Ð½ÐºÑеÑного, пÑедмеÑного, инÑоÑмиÑованного,\n\t\t\t\tÑознаÑелÑного и однознаÑного ÑоглаÑÐ¸Ñ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
на обÑабоÑÐºÑ ÐµÐ³Ð¾ пеÑÑоналÑнÑÑ
даннÑÑ
;
2</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>обÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
необÑ
одима Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ñелей оÑÑÑеÑÑвлениÑ\n\t\t\t\tи вÑполнениÑ, возложеннÑÑ
законодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии на ÐпеÑаÑоÑа ÑÑнкÑий, полномоÑий и\n\t\t\t\tобÑзанноÑÑей;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>обÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
необÑ
одима Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñа, ÑÑоÑоной\n\t\t\t\tкоÑоÑого ÑвлÑеÑÑÑ ÑÑбÑÐµÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>обÑабоÑка пеÑÑоналÑнÑÑ
даннÑÑ
необÑ
одима Ð´Ð»Ñ Ð¾ÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñав и законнÑÑ
\n\t\t\t\tинÑеÑеÑов ÐпеÑаÑоÑа или ÑÑеÑÑиÑ
Ð»Ð¸Ñ Ð»Ð¸Ð±Ð¾ доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑеÑÑвенно знаÑимÑÑ
Ñелей пÑи ÑÑловии, ÑÑо пÑи ÑÑом не\n\t\t\t\tнаÑÑÑаÑÑÑÑ Ð¿Ñава и ÑÐ²Ð¾Ð±Ð¾Ð´Ñ ÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t\t</p>\n\t</div>\n\t<p>\n\t\t<span>6.2. ÐпеÑаÑÐ¾Ñ Ð½Ðµ ÑаÑкÑÑÐ²Ð°ÐµÑ ÑÑеÑÑим лиÑам и не ÑаÑпÑоÑÑÑанÑÐµÑ Ð¿ÐµÑÑоналÑнÑе даннÑе\n\t\t\tбез ÑоглаÑÐ¸Ñ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
(еÑли иное не пÑедÑÑмоÑÑено ÑедеÑалÑнÑм законом РФ).</span>\n\t</p>\n\t<p>\n\t\t<span>6.3. ÐпеÑаÑÐ¾Ñ Ð½Ðµ обÑабаÑÑÐ²Ð°ÐµÑ ÑпеÑиалÑнÑе каÑегоÑии пеÑÑоналÑнÑÑ
даннÑÑ
, каÑаÑÑиÑ
ÑÑ\n\t\t\tÑаÑовой, наÑионалÑной пÑинадлежноÑÑи, полиÑиÑеÑкиÑ
взглÑдов, ÑелигиознÑÑ
или ÑилоÑоÑÑкиÑ
Ñбеждений, ÑоÑÑоÑниÑ\n\t\t\tздоÑовÑÑ, инÑимной жизни.</span>\n\t</p>\n\t<p>\n\t\t<span>6.4. ÐпеÑаÑÐ¾Ñ Ð½Ðµ оÑÑÑеÑÑвлÑÐµÑ Ð¾Ð±ÑабоÑÐºÑ Ð±Ð¸Ð¾Ð¼ÐµÑÑиÑеÑкиÑ
пеÑÑоналÑнÑÑ
даннÑÑ
,\n\t\t\tÑодеÑжаÑиÑ
ÑведениÑ, коÑоÑÑе Ñ
аÑакÑеÑизÑÑÑ ÑизиологиÑеÑкие и биологиÑеÑкие оÑобенноÑÑи Ñеловека, позволÑÑÑиÑ
\n\t\t\tÑÑÑановиÑÑ ÐµÐ³Ð¾ лиÑноÑÑÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>6.5. ÐпеÑаÑÐ¾Ñ Ð½Ðµ оÑÑÑеÑÑвлÑÐµÑ ÑÑанÑгÑаниÑной пеÑедаÑи пеÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>6.6. ÐпеÑаÑÐ¾Ñ Ð½Ðµ пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑеÑений, поÑождаÑÑиÑ
ÑÑидиÑеÑкие поÑледÑÑÐ²Ð¸Ñ Ð² оÑноÑении\n\t\t\tÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
или инÑм обÑазом заÑÑагиваÑÑиÑ
пÑава и законнÑе инÑеÑеÑÑ ÑÑбÑекÑов, на оÑновании\n\t\t\tиÑклÑÑиÑелÑно авÑомаÑизиÑованной обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
. ÐаннÑе, имеÑÑие ÑÑидиÑеÑкие поÑледÑÑÐ²Ð¸Ñ Ð¸Ð»Ð¸\n\t\t\tзаÑÑагиваÑÑие пÑава и законнÑе инÑеÑеÑÑ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
, Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð°Ñ Ð¿ÐµÑед иÑ
иÑполÑзованием пÑовеÑке Ñо\n\t\t\tÑÑоÑÐ¾Ð½Ñ ÑполномоÑеннÑÑ
ÑабоÑников ÐпеÑаÑоÑа.</span>\n\t</p>\n\t<p>\n\t\t<span>6.7. ÐпеÑаÑÐ¾Ñ Ð½Ðµ ÑазмеÑÐ°ÐµÑ Ð¿ÐµÑÑоналÑнÑе даннÑе ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
в\n\t\t\tобÑедоÑÑÑпнÑÑ
иÑÑоÑникаÑ
без его пÑедваÑиÑелÑного ÑоглаÑиÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>6.8. ÐпеÑаÑÐ¾Ñ Ð²Ð¿Ñаве пеÑедаваÑÑ Ð¿ÐµÑÑоналÑнÑе даннÑе ÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
\n\t\t\tÑÑеÑÑим лиÑам Ð´Ð»Ñ Ð¾Ð±ÑабоÑки по договоÑÑ Ð¿Ð¾ÑÑÑениÑ, Ñ ÑоблÑдением ÑÑловий конÑиденÑиалÑноÑÑи и ÑÑебований к\n\t\t\tпоÑÑÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
, пÑедÑÑмоÑÑеннÑе ФедеÑалÑнÑм законом РФ Ð¾Ñ 27.07.2006 г. â 152-ФР«Ð\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
».</span>\n\t</p>\n\t<p>\n\t\t<span>6.9. ÐпеÑаÑÐ¾Ñ Ð¾ÑÑÑеÑÑвлÑÐµÑ Ð¾Ð±ÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
Ñ Ð¸ÑполÑзованием ÑÑедÑÑв\n\t\t\tавÑомаÑизаÑии и без иÑ
иÑполÑзованиÑ, вÑполнÑÑ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº авÑомаÑизиÑованной и неавÑомаÑизиÑованной обÑабоÑке\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
, пÑедÑÑмоÑÑеннÑе ФедеÑалÑнÑм законом РФ Ð¾Ñ 27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
» и\n\t\t\tпÑинÑÑÑми в ÑооÑвеÑÑÑвии Ñ Ð½Ð¸Ð¼ ноÑмаÑивнÑми пÑавовÑми акÑами.</span>\n\t</p>\n\t<p>\n\t\t<span>6.10. Ð ÑказаннÑÑ
в пÑнкÑе 3 наÑÑоÑÑей ÐолиÑики ÑелÑÑ
ÐпеÑаÑÐ¾Ñ Ð²Ð¿Ñаве ÑовеÑÑаÑÑ\n\t\t\tлÑбÑе дейÑÑÐ²Ð¸Ñ (опеÑаÑии) или ÑовокÑпноÑÑÑ Ð´ÐµÐ¹ÑÑвий (опеÑаÑий), Ñ Ð¸ÑполÑзованием ÑÑедÑÑв авÑомаÑизаÑии или без\n\t\t\tиÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑакиÑ
ÑÑедÑÑв, пÑедÑÑмоÑÑеннÑе п. 3 Ñ. 1 ÑÑ. 3 ФедеÑалÑного закона Ð¾Ñ 27.07.2006 N 152-ФР«Ð\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
», вклÑÑÐ°Ñ ÑбоÑ, запиÑÑ, ÑиÑÑемаÑизаÑиÑ, накопление, Ñ
Ñанение, ÑÑоÑнение (обновление,\n\t\t\tизменение), извлеÑение, иÑполÑзование, обезлиÑивание, блокиÑование, Ñдаление, ÑниÑÑожение, пеÑедаÑÑ\n\t\t\t(ÑаÑпÑоÑÑÑанение, пÑедоÑÑавление, доÑÑÑп) пеÑÑоналÑнÑÑ
даннÑÑ
ÑÑеÑÑим лиÑам Ñ ÑоблÑдением меÑ, обеÑпеÑиваÑÑиÑ
\n\t\t\tзаÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
Ð¾Ñ Ð½ÐµÑанкÑиониÑованного доÑÑÑпа, в обÑеме, необÑ
одимом Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ñелей данного\n\t\t\tÑÑбÑекÑом пеÑÑоналÑнÑÑ
даннÑÑ
СоглаÑиÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>6.11. СÑоки обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ñ ÑÑеÑом:</span>\n\t</p>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÑÑÑановленнÑÑ
Ñелей обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
;
2</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÑÑоков дейÑÑÐ²Ð¸Ñ Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñов Ñ ÑÑбÑекÑами пеÑÑоналÑнÑÑ
даннÑÑ
и ÑоглаÑий\n\t\t\t\tÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
на обÑабоÑÐºÑ Ð¸Ñ
пеÑÑоналÑнÑÑ
даннÑÑ
;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÑÑоков, опÑеделеннÑÑ
ÐÑиказом ФедеÑалÑного аÑÑ
ивного агенÑÑÑва Ð¾Ñ 20\n\t\t\t\tдекабÑÑ 2019 г. N 236 «Ðб ÑÑвеÑждении ÐеÑеÑÐ½Ñ ÑиповÑÑ
ÑпÑавленÑеÑкиÑ
аÑÑ
ивнÑÑ
докÑменÑов, обÑазÑÑÑиÑ
ÑÑ Ð²\n\t\t\t\tпÑоÑеÑÑе деÑÑелÑноÑÑи гоÑÑдаÑÑÑвеннÑÑ
оÑганов, оÑганов меÑÑного ÑамоÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ оÑганизаÑий, Ñ Ñказанием ÑÑоков\n\t\t\t\tиÑ
Ñ
ÑанениÑ».</span>\n\t\t</p>\n\t</div>\n\t<p>\n\t\t<span>6.12. СÑок дейÑÑÐ²Ð¸Ñ ÑоглаÑÐ¸Ñ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
на обÑабоÑÐºÑ ÐµÐ³Ð¾\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
опÑеделÑеÑÑÑ Ð¼Ð¾Ð¼ÐµÐ½Ñом полÑÑÐµÐ½Ð¸Ñ ÐпеÑаÑоÑом Ð¾Ñ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
пиÑÑменного\n\t\t\tоÑиÑиалÑного запÑоÑа об оÑзÑве ÑÑбÑекÑом пеÑÑоналÑнÑÑ
даннÑÑ
Ñвоего ÑоглаÑÐ¸Ñ Ð½Ð° обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>6.13. ÐнÑоÑмаÑиÑ, оÑноÑÑÑаÑÑÑ Ðº пеÑÑоналÑнÑм даннÑм, ÑÑавÑÐ°Ñ Ð¸Ð·Ð²ÐµÑÑной ÐпеÑаÑоÑÑ\n\t\t\tÑвлÑеÑÑÑ ÐºÐ¾Ð½ÑиденÑиалÑной инÑоÑмаÑией и оÑ
ÑанÑеÑÑÑ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð¼.</span>\n\t</p>\n\t<p>\n\t\t<span>6.14. ÐпеÑаÑÐ¾Ñ Ð¸ÑполÑзÑÐµÑ Ð¿Ð¾Ð»ÑÑеннÑÑ Ð¾Ñ ÑÑбÑекÑа пеÑÑоналÑнÑÑ
даннÑÑ
инÑоÑмаÑиÑ\n\t\t\tиÑклÑÑиÑелÑно Ð´Ð»Ñ Ñелей обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<span>6.15. ÐоговоÑÑ ÐпеÑаÑоÑа Ñ ÐºÐ¾Ð½ÑÑагенÑами ÑодеÑÐ¶Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐºÐ¾Ð½ÑиденÑиалÑноÑÑи\n\t\t\tпеÑедаваемÑÑ
и полÑÑаемÑÑ
пеÑÑоналÑнÑÑ
даннÑÑ
, в Ñом ÑиÑле Ñ Ð»Ð¸Ñами, пÑивлекаемÑми Ð´Ð»Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
\n\t\t\tданнÑÑ
.</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">7. ÐÐÐ ÐÐÐТÐРФÐÐÐÐÐ COOKIE</span></strong>\n\t</p>\n\t<p>\n\t\t<span>7.1. ÐпеÑаÑÐ¾Ñ Ð²Ð¿Ñаве обÑабаÑÑваÑÑ ÑÐ°Ð¹Ð»Ñ cookie Ñ Ð¸ÑполÑзованием ÑÑедÑÑв\n\t\t\tавÑомаÑизаÑии поÑÑедÑÑвом оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑледÑÑÑиÑ
дейÑÑвий (опеÑаÑий) â ÑбоÑ, запиÑÑ, ÑиÑÑемаÑизаÑиÑ, накопление,\n\t\t\tÑ
Ñанение, ÑÑоÑнение (обновление, изменение), извлеÑение, иÑполÑзование, пеÑедаÑа (пÑедоÑÑавление, доÑÑÑп),\n\t\t\tобезлиÑивание, блокиÑование, Ñдаление, ÑниÑÑожение.</span>\n\t</p>\n\t<p>\n\t\t<span>7.2. ÐпеÑаÑÐ¾Ñ Ð±ÑÐ´ÐµÑ Ð¾Ð±ÑабаÑÑваÑÑ ÑÐ°Ð¹Ð»Ñ cookie Ñо Ð´Ð½Ñ Ð°ÐºÑепÑа ÐолÑзоваÑелем наÑÑоÑÑей\n\t\t\tÐолиÑики / наÑала иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐолÑзоваÑелем СайÑа и до моменÑа доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°ÑвленнÑÑ
Ñелей обÑабоÑки Ñайлов\n\t\t\tcookie или до моменÑа оÑказа ÐолÑзоваÑÐµÐ»Ñ Ð¾Ñ Ð¾Ð±ÑабоÑки Ñайлов cookie, Ñ ÑÑеÑом ÑÑоков дейÑÑÐ²Ð¸Ñ («ÑÑоков жизни»)\n\t\t\tÑайлов cookie.</span>\n\t</p>\n\t<p>\n\t\t<span>7.3. ÐпеÑаÑÐ¾Ñ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð²Ñе необÑ
одимÑе ÑеÑ
ниÑеÑкие и оÑганизаÑионно-пÑавовÑе меÑÑ Ð²\n\t\t\tÑелÑÑ
обеÑпеÑÐµÐ½Ð¸Ñ Ð·Ð°ÑиÑÑ Ð´Ð°Ð½Ð½ÑÑ
ÐолÑзоваÑÐµÐ»Ñ (вклÑÑÐ°Ñ ÑÐ°Ð¹Ð»Ñ cookie) Ð¾Ñ Ð½ÐµÐ¿ÑавомеÑного или ÑлÑÑайного доÑÑÑпа к\n\t\t\tним, ÑниÑÑожениÑ, изменениÑ, блокиÑованиÑ, копиÑованиÑ, ÑаÑпÑоÑÑÑанениÑ, а Ñакже Ð¾Ñ Ð¸Ð½ÑÑ
непÑавомеÑнÑÑ
\n\t\t\tдейÑÑвий.</span>\n\t</p>\n\t<p>\n\t\t<span>7.4. ТеÑ
ниÑеÑкие меÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ ÐпеÑаÑоÑом Ñ ÑÑеÑом ÑÑебований\n\t\t\tпÑименимого законодаÑелÑÑÑва, ÑовÑеменного ÑÑÐ¾Ð²Ð½Ñ ÑеÑ
ники, Ñ
аÑакÑеÑа обÑабаÑÑваемой инÑоÑмаÑии и ÑиÑков, ÑвÑзаннÑÑ
\n\t\t\tÑ ÐµÐµ обÑабоÑкой.</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">8. ÐÐ ÐÐРСУÐЪÐÐТÐÐ ÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>8.1. СÑбÑÐµÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
, пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑеÑение о пÑедоÑÑавлении ÐпеÑаÑоÑÑ ÑвоиÑ
\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
, дейÑÑвÑÐµÑ Ñвободно, Ñвоей волей и в Ñвоем инÑеÑеÑе, безÑÑловно вÑÑÐ°Ð¶Ð°Ñ Ñвое ÑоглаÑие на иÑ
\n\t\t\tобÑабоÑкÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>8.2. СоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð°Ð½Ð¾ лиÑно ÑÑбÑекÑом\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
как в пиÑÑменной ÑоÑме, Ñак и пÑÑем внеÑÐµÐ½Ð¸Ñ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
в Ð¿Ð¾Ð»Ñ Ð²ÐµÐ±-ÑоÑÐ¼Ñ Ð¾Ð±ÑаÑной\n\t\t\tÑвÑзи на СайÑе.</span>\n\t</p>\n\t<p>\n\t\t<span>8.3. СоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
, полÑÑенное пÑÑем пÑиÑоединÑÑ Ðº\n\t\t\tСоглаÑÐ¸Ñ Ð¾Ð± обÑабоÑке пеÑÑоналÑнÑÑ
даннÑÑ
, ÑазмеÑенном в ÑеÑи ÐнÑеÑÐ½ÐµÑ Ð½Ð° СайÑе, пÑизнаеÑÑÑ Ð¸ÑполненнÑм в пÑоÑÑой\n\t\t\tпиÑÑменной ÑоÑме.</span>\n\t</p>\n\t<p>\n\t\t<span>8.4. СÑбÑÐµÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
Ð¸Ð¼ÐµÐµÑ Ð¿Ñаво на полÑÑение Ñ ÐпеÑаÑоÑа инÑоÑмаÑии,\n\t\t\tкаÑаÑÑейÑÑ Ð¾Ð±ÑабоÑки его пеÑÑоналÑнÑÑ
даннÑÑ
, еÑли Ñакое пÑаво не огÑаниÑено в ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом\n\t\t\tРФ. СÑбÑÐµÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
впÑаве ÑÑебоваÑÑ Ð¾Ñ ÐпеÑаÑоÑа ÑÑоÑÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ пеÑÑоналÑнÑÑ
даннÑÑ
, иÑ
блокиÑованиÑ\n\t\t\tили ÑниÑÑÐ¾Ð¶ÐµÐ½Ð¸Ñ Ð² ÑлÑÑае, еÑли пеÑÑоналÑнÑе даннÑе ÑвÐ
2»ÑÑÑÑÑ Ð½ÐµÐ¿Ð¾Ð»Ð½Ñми, ÑÑÑаÑевÑими, неÑоÑнÑми, незаконно\n\t\t\tполÑÑеннÑми или не ÑвлÑÑÑÑÑ Ð½ÐµÐ¾Ð±Ñ
одимÑми Ð´Ð»Ñ Ð·Ð°Ñвленной Ñели обÑабоÑки, а Ñакже пÑинимаÑÑ Ð¿ÑедÑÑмоÑÑеннÑе законом\n\t\t\tмеÑÑ Ð¿Ð¾ заÑиÑе ÑвоиÑ
пÑав и законнÑÑ
инÑеÑеÑов.</span>\n\t</p>\n\t<p>\n\t\t<span>8.5. СÑбÑÐµÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ\n\t\t\tÑазÑÑÑÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ вопÑоÑам обÑабоÑки ÑвоиÑ
пеÑÑоналÑнÑÑ
даннÑÑ
(в Ñом ÑиÑле оÑозваÑÑ Ñвое ÑоглаÑие на обÑабоÑкÑ\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
) ÑледÑÑÑим обÑазом: ÑÑбÑÐµÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
напÑавлÑÐµÑ Ð¿Ð¸ÑÑменнÑй оÑиÑиалÑнÑй запÑÐ¾Ñ Ð½Ð°\n\t\t\tадÑÐµÑ ÐпеÑаÑоÑа: 121357, гоÑод ÐоÑква, ÐеÑейÑÐºÐ°Ñ Ñл., д. 17, ÑÑ 2 пом 213 или на ÑлекÑÑоннÑй адÑÐµÑ ÐпеÑаÑоÑа:\n\t\t</span>[email protected]<span> . в поÑÑдке,\n\t\t\tÑÑÑановленном ÑÑ. 14 ФедеÑалÑнÑм законом РФ Ð¾Ñ 27.07.2006 г. â 152-ФР«РпеÑÑоналÑнÑÑ
даннÑÑ
». Ð ÑлÑÑае\n\t\t\tнапÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ запÑоÑа ÐпеÑаÑоÑÑ ÑеÑез ÑиÑÑÐµÐ¼Ñ ÑлекÑÑонного докÑменÑообоÑоÑа, он должен бÑÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñан\n\t\t\tÑлекÑÑонной подпиÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом РФ. ÐÑи ÑÑом оÑпÑавка оÑигинала докÑменÑа ÐоÑÑой РоÑÑии не\n\t\t\tÑÑебÑеÑÑÑ.</span>\n\t</p>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">9. ÐÐÐСÐÐЧÐÐÐÐ ÐÐÐÐÐÐСÐÐСТРÐÐРСÐÐÐÐЬÐЫХ ÐÐÐÐЫХ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>9.1. ÐпеÑаÑÐ¾Ñ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимÑе и доÑÑаÑоÑнÑе оÑганизаÑионнÑе и ÑеÑ
ниÑеÑкие меÑÑ\n\t\t\tÐ´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
ÑÑбÑекÑа Ð¾Ñ Ð½ÐµÐ¿ÑавомеÑного/ÑлÑÑайного доÑÑÑпа, ÑниÑÑожениÑ, изменениÑ,\n\t\t\tблокиÑованиÑ, копиÑованиÑ, ÑаÑпÑоÑÑÑанениÑ, а Ñакже Ð¾Ñ Ð¸Ð½ÑÑ
непÑавомеÑнÑÑ
дейÑÑвий Ñ Ð½Ð¸Ð¼Ð¸ ÑÑеÑÑиÑ
лиÑ, вклÑÑаÑÑие\n\t\t\tв ÑебÑ: издание локалÑнÑÑ
акÑов по вопÑоÑам обÑабоÑки и обеÑпеÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи пеÑÑоналÑнÑÑ
даннÑÑ
, а Ñакже\n\t\t\tлокалÑнÑÑ
акÑов, ÑÑÑанавливаÑÑиÑ
пÑоÑедÑÑÑ, напÑавленнÑе на пÑедоÑвÑаÑение и вÑÑвление наÑÑÑений законодаÑелÑÑÑва\n\t\t\tРФ, ÑÑÑÑанение поÑледÑÑвий ÑакиÑ
наÑÑÑений; иÑполÑзование ÑÑедÑÑв заÑиÑÑ Ð¸Ð½ÑоÑмаÑии, пÑоÑедÑиÑ
пÑоÑедÑÑÑ Ð¾Ñенки\n\t\t\tÑооÑвеÑÑÑÐ²Ð¸Ñ ÑÑебованиÑм законодаÑелÑÑÑва РФ в облаÑÑи обеÑпеÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи инÑоÑмаÑии; обнаÑÑжение ÑакÑов\n\t\t\tнеÑанкÑиониÑованного доÑÑÑпа; ÑÑÑановление пÑавил доÑÑÑпа к пеÑÑоналÑнÑм даннÑм; пÑоведение внÑÑÑеннего конÑÑÐ¾Ð»Ñ Ð¸\n\t\t\tоÑенки ÑÑÑекÑивноÑÑи пÑименÑемÑÑ
меÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>9.2. ÐÐ»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð½ÐµÑанкÑиониÑованного доÑÑÑпа к пеÑÑоналÑнÑм даннÑм\n\t\t\tÐпеÑаÑоÑом ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ ÑледÑÑÑие ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº заÑиÑе пеÑÑоналÑнÑÑ
даннÑÑ
:</span>\n\t</p>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>назнаÑÐµÐ½Ñ Ð»Ð¸Ñа, оÑвеÑÑÑвеннÑе за оÑганизаÑÐ¸Ñ Ð¾Ð±ÑабоÑки и обеÑпеÑениÑ\n\t\t\t\tбезопаÑноÑÑи пеÑÑоналÑнÑÑ
даннÑÑ
;
2</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>огÑаниÑен ÑоÑÑав лиÑ, имеÑÑиÑ
доÑÑÑп к пеÑÑоналÑнÑм даннÑм;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>Ñеализовано обеÑпеÑение ÑоÑ
ÑанноÑÑи ноÑиÑелей пеÑÑоналÑнÑÑ
даннÑÑ
;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>ÑазгÑаниÑен доÑÑÑп ÑÑбÑекÑов пеÑÑоналÑнÑÑ
даннÑÑ
к инÑоÑмаÑионнÑм ÑеÑÑÑÑам\n\t\t\t\tи пÑогÑаммно-аппаÑаÑнÑм ÑÑедÑÑвам обÑабоÑки инÑоÑмаÑии;</span>\n\t\t</p>\n\t</div>\n\t<div>\n\t\t<p\n\t\t\tstyle="margin-top:0pt; margin-left:18pt; margin-bottom:0pt; text-indent:-18pt; text-align:justify; line-height:115%; font-size:10.5pt">\n\t\t\t<span style="font-family:Symbol; font-size:10pt">ï·</span><span\n\t\t\t\tstyle="width:13.4pt; font:7pt \'Times New Roman\'; display:inline-block">        \n\t\t\t</span><span>оÑганизован Ñежим огÑаниÑенного доÑÑÑпа в помеÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ
\n\t\t\t\tданнÑÑ
.</span>\n\t\t</p>\n\t</div>\n\t<p>\n\t\t<strong><span style="font-family:Arial; ">10. ÐÐÐÐЮЧÐТÐÐЬÐЫРÐÐÐÐÐÐÐÐЯ</span></strong>\n\t</p>\n\t<p>\n\t\t<span>10.1. ÐпеÑаÑоÑ, а Ñакже его должноÑÑнÑе лиÑа и РабоÑники неÑÑÑ Ð³ÑажданÑко-пÑавовÑÑ,\n\t\t\tадминиÑÑÑаÑивнÑÑ Ð¸ инÑÑ Ð¾ÑвеÑÑÑвенноÑÑÑ Ð·Ð° неÑоблÑдение пÑинÑипов и ÑÑловий обÑабоÑки пеÑÑоналÑнÑÑ
даннÑÑ
\n\t\t\tÑизиÑеÑкиÑ
лиÑ, а Ñакже за ÑазглаÑение или незаконное иÑполÑзование пеÑÑоналÑнÑÑ
даннÑÑ
в ÑооÑвеÑÑÑвии Ñ\n\t\t\tзаконодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии.</span>\n\t</p>\n\t<p>\n\t\t<span>10.2. ÐолиÑика ÑвлÑеÑÑÑ Ð¾Ð±ÑедоÑÑÑпной и Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð¸Ñ ÑазмеÑÐµÐ½Ð¸Ñ Ð½Ð° оÑиÑиалÑном СайÑе\n\t\t\tÐпеÑаÑоÑа или инÑм обÑазом обеÑпеÑиваеÑÑÑ Ð½ÐµÐ¾Ð³ÑаниÑеннÑй доÑÑÑп к наÑÑоÑÑÐµÐ¼Ñ Ð´Ð¾ÐºÑменÑÑ.</span>\n\t</p>\n\t<p>\n\t\t<span>10.3. ÐпеÑаÑÐ¾Ñ Ð¸Ð¼ÐµÐµÑ Ð¿Ñаво вноÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÐолиÑикÑ. ÐÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐолиÑики подлежаÑ\n\t\t\tакÑÑализаÑии в ÑлÑÑае Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑва РоÑÑийÑкой ФедеÑаÑии о пеÑÑоналÑнÑÑ
даннÑÑ
. ÐÐ¾Ð²Ð°Ñ ÑедакÑиÑ\n\t\t\tÐолиÑики вÑÑÑÐ¿Ð°ÐµÑ Ð² ÑÐ¸Ð»Ñ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа ее ÑазмеÑÐµÐ½Ð¸Ñ Ð½Ð° СайÑе, еÑли иное не пÑедÑÑмоÑÑено новой ÑедакÑией ÐолиÑики.\n\t\t\tÐейÑÑвÑÑÑÐ°Ñ ÑедакÑÐ¸Ñ Ð¿Ð¾ÑÑоÑнно доÑÑÑпна на ÑÑÑаниÑе по адÑеÑÑ: ecomilk.ru.</span>\n\t</p>\n\t<p>\n\t\t<span>10.4. РнаÑÑоÑÑей ÐолиÑике и оÑноÑениÑм Ð¼ÐµÐ¶Ð´Ñ Ð¡ÑбÑекÑом ÐÐн и ÐпеÑаÑоÑом,\n\t\t\tвозникаÑÑим в ÑвÑзи Ñ Ð¿Ñименением ÐолиÑики, Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð¸Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñаво РоÑÑийÑкой ФедеÑаÑии.</span>\n\t</p>\n\t<p>\n\t\t<span>
210.5. ÐолиÑика ÑвлÑеÑÑÑ ÑобÑÑвенноÑÑÑÑ ÐÐР«Ðкомилк».</span>\n\t</p>\n\t<p>\n\t\t<span>10.6. ÐпеÑаÑÐ¾Ñ Ð²Ð¿Ñаве вноÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÐолиÑÐ¸ÐºÑ Ð±ÐµÐ· ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ ÑÑбÑекÑов\n\t\t\tпеÑÑоналÑнÑÑ
даннÑÑ
, в ÑаÑÑноÑÑи ÐолÑзоваÑелей.</span>\n\t</p>\n\t<p>\n\t\t<span>10.7. ÐолиÑика дейÑÑвÑÐµÑ Ð±ÐµÑÑÑоÑно до ее Ð·Ð°Ð¼ÐµÐ½Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑедакÑией.</span>\n\t</p>\n</div>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},5656:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-product-detail">\n \n <div class="product-detail js-product-detail">\n \n\n\n\n<ul\n class="breadcrumbs breadcrumbs_light"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="products.html"\n class="breadcrumbs__link"\n >ÐÑодÑкÑиÑ</a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="category.html"\n class="breadcrumbs__link"\n >ÐеÑиÑ</a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="prodcts-detail.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐеÑÐ¸Ñ Ðкомилк</a></li></ul>\n\n <div class="product-detail__card product-detail-card">\n <h1 class="product-detail-card__name">ÐеÑÐ¸Ñ Ðкомилк</h1>\n\n <div class="product-detail-card__picture">\n <img\n class="js-product-image"\n src="/assets/images/product-detail/product-detail-1.webp"\n alt="ÐзобÑажение пÑодÑкÑа"\n />\n </div>\n\n <div class="product-detail-card__properties">\n \n\n \n<div\n class="product-property product-property_size_xs product-detail-card__properties-award"\n >\n <strong>РоÑкаÑеÑÑво</strong>\n <span>2024</span>\n</div>\n \n <div class="product-detail-card__properties-list js-product-props">\n \n\n\n<div\n class="product-property "\n >\n <strong>1%</strong>\n <span>жиÑноÑÑи</span>\n</div>\n \n\n\n<div\n class="product-property "\n >\n <strong>955</strong>\n <span>мл, обÑем</span>\n</div>\n \n\n\n<div\n class="product-property "\n >\n <strong>ÐоÑÑ</strong>\n <span>по ÑÑандаÑÑам</span>\n</div>\n </div>\n </div>\n\n \n\n \n<div\n class="product-nutrients product-detail-card__nutrients"\n >\n <div class="product-nutrients__group">\n <div class="product-nutrients__title">ÐиÑÐµÐ²Ð°Ñ ÑенноÑÑÑ Ð½Ð° 100 Ð³Ñ Ð¿ÑодÑкÑа</div>\n <div class="product-nutrients__props">\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">Ðелки</span>\n <div class="product-nutrients__property-value">0,6 г</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">ÐиÑÑ</span>\n <div class="product-nutrients__property-value">82,5 г</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">УглеводÑ</span>\n <div class="product-nutrients__property-value">0,8 г</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">Ðкал</span>\n <div class="product-nutrients__property-value">748</div>\n </div>\n </div>\n </div>\n <div class="product-nutrients__group">\n <div class="product-nutrients__title">УÑÐ»Ð¾Ð²Ð¸Ñ Ñ
ÑанениÑ</div>\n <div class="product-nutrients__props">\n <div class="product-nutrients__property">
2\n <span class="product-nutrients__property-name">180 ÑÑÑок</span>\n <div class="product-nutrients__property-value">16±2°C</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">120 ÑÑÑок</span>\n <div class="product-nutrients__property-value">6±2°C</div>\n </div>\n <div class="product-nutrients__property">\n <span class="product-nutrients__property-name">60 ÑÑÑок</span>\n <div class="product-nutrients__property-value">3±2°C</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class="product-detail-card__text">\n ÐолезнÑй киÑломолоÑнÑй пÑодÑкÑ, пÑигоÑовленнÑй из наÑÑÑалÑнÑÑ
ингÑедиенÑов. ÐлагодаÑÑ Ð¼Ð¾Ð»Ð¾ÑнокиÑлÑм бакÑеÑиÑм, он благоÑвоÑно влиÑÐµÑ Ð½Ð° микÑоÑлоÑÑ ÐºÐ¸ÑеÑника и ÑабоÑÑ Ð¾Ñганов пиÑеваÑениÑ, Ñ
оÑоÑо оÑиÑÐ°ÐµÑ Ð¾Ñганизм Ð¾Ñ Ñлаков и ÑокÑинов, ÑегÑлиÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½ веÑеÑÑв и ÑпоÑобÑÑвÑÐµÑ Ð¿Ð¾Ñ
ÑдениÑ.\n </div>\n\n <div class="product-detail-card__offers">\n <button\n data-index="0"\n class="product-detail-card__offers-item js-product-offer isActive"\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-1.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">955 мл 1%</span>\n </button>\n <button\n data-index="1"\n class="product-detail-card__offers-item js-product-offer "\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-2.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">944 мл 3.2%</span>\n </button>\n <button\n data-index="2"\n class="product-detail-card__offers-item js-product-offer "\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-1.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">1000 мл 5%</span>\n </button>\n <button\n data-index="3"\n class="product-detail-card__offers-item js-product-offer "\n type="button"\n >\n <span class="product-detail-card__offers-item-picture">\n <img src="/assets/images/product-detail/product-detail-2.webp" alt="ÐзобÑажение пÑодÑкÑа">\n </span>\n <span class="product-detail-card__offers-item-name">1200 мл 5%</span>\n </button>\n </div>\n </div>\n </div>\n \n\n\n<section\n class="where-to-buy where-to-buy_type_promo"\n\t>\n <h2 class="where-to-buy__title">\n Ðде кÑпиÑÑ\n </h2>\n\n <div class="where-to-buy__content">\n <div class="where-to-buy__text">\n <p>\n С пÑовеÑеннÑми пÑодÑкÑами гоÑовиÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие.\n Ðни не подведÑÑ, они гаÑанÑиÑÑÑÑ ÑезÑлÑÑаÑ.\n Ðменно поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ вдоÑ
новлÑÑÑ Ð½Ð° новÑе кÑлинаÑнÑе ÑвеÑÑениÑ.\n </p>\n </div>\n\n \n\n\n \n<div\n class="partners where-to-buy__partners"\n >\n <div class="partners__list">\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n </div>\n <div class="partners__gradient"></div>\n</div>\n\n <div class="where-to-buy__image">\n <img src="/assets/images/partners/where-to-buy-bg.webp" alt="">\n </div>\n </div>\n</section>\n \n\n\n\n<section\n class="products-carousel js-products-carousel "\n >\n <h2 class="products-carousel__title">\n ÐÑÑгие ÑоваÑÑ\n </h2>\n\n <div class="products-carousel__slider swiper js-products-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-4.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ÐогÑÑÑ Ñ ÐºÐ»ÐµÐ½Ð¾Ð²Ñм ÑиÑопом <br>и гÑеÑким оÑеÑ
ом 4,2%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 130 г\n </div>\n </div>\n </div>\n</a>\n </div>\n </div>\n </div>\n\n <div class="products-carousel__bottom">\n <div class="products-carousel__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-products-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-products-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n <div\n class="products-carousel__slider-pagination swiper-pagination js-products-slider-pagination"\n ></div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary products-carousel__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</section>\n \n\n\n\n<section\n class="recipes-promo js-recipes-promo"\n >\n <div class="recipes-promo__info">\n <h2 class="recipes-promo__title">ÐвÑоÑÑкие ÑеÑепÑÑ</h2>\n <p>\n ÐелимÑÑ Ñ Ð²Ð°Ð¼Ð¸ авÑоÑÑкими кÑлинаÑнÑми\n ÑеÑепÑами пÑоÑÑÑÑ
домаÑниÑ
блÑд,\n Ð
2ºÐ¾ÑоÑÑе бÑдÑÑ ÑадоваÑÑ Ð²Ð°ÑÑ ÑемÑÑ\n и гоÑÑей на завÑÑак, обед или Ñжин!\n </p>\n </div>\n\n <div class="recipes-promo__slider swiper js-recipes-slider">\n <div class="swiper-wrapper">\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-1" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-1) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-2" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-2) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-3" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-3) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-4" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-4) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n </div>\n </div>\n\n <div class="recipes-promo__bottom">
2\n <div class="recipes-promo__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-recipes-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-recipes-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary recipes-promo__button"\n \n\t href="recipes.html"\n >\n\n <span class="button__text">ÐÑкÑÑÑÑ Ð²Ñе</span>\n \n</a>\n </div>\n</section>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},7771:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-recipe-detail">\n \n\n\n\n<ul\n class="breadcrumbs "\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="recipes.html"\n class="breadcrumbs__link"\n >ÐовоÑÑи</a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="recipe-detail.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐоÑлеÑÑ Ð¸Ð· индейки</a></li></ul>\n\n \n\n\n<div\n class="post-header post-header_type_promo"\n >\n <div class="post-header__top">\n <h1 class="post-header__title">ÐоÑлеÑÑ Ð¸Ð· индейки</h1>\n\n <div class="post-header__text">\n <p>ÐелимÑÑ Ñ Ð²Ð°Ð¼Ð¸ авÑоÑÑкими кÑлинаÑнÑми ÑеÑепÑами пÑоÑÑÑÑ
домаÑниÑ
блÑд, коÑоÑÑе бÑдÑÑ ÑадоваÑÑ Ð²Ð°ÑÑ ÑемÑÑ Ð¸ гоÑÑей на завÑÑак, обед или Ñжин!</p>\n </div>\n </div>\n\n \n <div class="post-header__options">\n \n\n\n \n<div\n class="option-icon option-icon_theme_white post-header__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon option-icon_theme_white post-header__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n \n <svg class="post-header__image" viewBox="0 0 1212 787" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="post-header-image" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipe-detail/recipe-detail-1.png" width="100%" />\n </pattern>\n </defs>\n <path fill="url(#post-header-image)" d="M408.707 66.6845C365.024 65.0223 345.467 53.2597 303.493 47.5488C292.506 46.0539 286.655 44.4419 275.211 44.0312C254.807 43.2989 242.319 45.2062 220.792 50.0336C193.123 56.2384 177.112 62.6137 150.643 76.0088C126.739 88.1058 114.067 97.0352 92.5983 113.152C75.0543 126.322 64.4297 133.563 50.0759 149.369C34.5579 166.456 27.5024 177.476 18.3697 196.677C8.68319 217.043 5.55635 229.172 3.69787 249.297C1.84424 269.369 2.8826 280.683 8.94525 298.177C14.9405 315.477 22.3189 323.189 33.888 337.156C43.3042 348.523 49.7743 354.013 60.9596 363.964C73.0351 374.707 80.7707 379.865 93.6552 389.876C105.841 399.344 115.296 402.422 125.124 413.871C131.521 421.323 134.445 426.073 138.618 434.957C143.131 444.567 145.289 450.315 146.773 461.262C148.502 474.018 145.69 482.214 145.192 495.597C144.486 514.592 139.758 526.663 143.998 544.096C148.828 563.953 157.419 572.776 171.33 587.062L171.803 587.548C185.075 601.179 194.201 607.844 212.576 616.397C227.491 623.338 237.477 625.127 254.313 629.317L256.225 629.794C273.19 634.02 283.38 636.559 302.206 638.299C322.353 640.162 334.49 639.127 355.561 638.382C385.014 637.34 401.972 635.093 431.944 631.834C455.159 629.31 468.719 625.272 491.578 624.296C511.879 623.429 522.979 624.15 542.295 62
26.067C566.245 628.443 580.156 629.595 601.313 636.936C617.516 642.558 625.646 647.17 639.408 655.79C653.234 664.448 661.041 669.522 671.695 681.062C683.032 693.342 683.914 704.068 694.593 716.846C705.067 729.378 711.489 736.226 725.468 745.724C738.237 754.399 746.189 758.72 761.867 763.862C782.276 770.556 795.728 771.58 819.249 772.176C844.038 772.804 858.794 772.278 884.855 766.22C912.424 759.812 927.864 751.944 954.595 739.606C982.253 726.84 998.762 720.084 1023.42 701.871C1046.12 685.097 1057.29 673.418 1074.98 652.664C1098.04 625.611 1105.56 608.011 1121.78 578.582C1145.92 534.809 1170.78 465.795 1172.96 459.705C1173.07 459.384 1173.18 459.124 1173.33 458.815C1175.38 454.426 1191.45 419.504 1194.13 397.191C1196.89 374.228 1195.58 361.222 1188.25 341.511C1182.3 325.513 1177.41 316.83 1164.94 305.088C1154.28 295.056 1146.47 290.81 1132.06 284.699C1112.17 276.266 1097.57 276.631 1074.8 272.704C1048.86 268.229 1032.03 270.091 1007.11 263.781C984.544 258.066 971.906 254.198 953.146 243.374C937.795 234.516 927.795 230.018 918.344 216.108C908.084 201.007 909.695 188.421 906.123 169.889C902.126 149.151 904.78 135.75 899.772 115.411L899.582 114.639C894.563 94.2501 891.587 82.1605 879.944 65.0536C869.638 49.9113 862.108 42.2234 846.207 31.7026C826.293 18.5266 811.749 14.2374 785.862 9.07351C760.087 3.93208 743.748 4.39534 715.411 5.52026C687.268 6.63746 670.943 7.84092 641.952 14.6999C605.277 23.3768 585.783 39.7111 549.122 49.7848C524.737 56.4853 510.921 59.3145 486.726 62.693C455.691 67.0266 438.333 67.8117 408.707 66.6845Z"/>\n </svg>\n </div>\n\n \n\n<section class="recipe-detail page-content">\n <div class="recipe-detail__content">\n <h3>РблÑде</h3>\n\n <div class="recipe-detail__text">\n <p>\n ЧеÑевиÑнÑе оладÑи — оÑигиналÑное блÑдо Ð´Ð»Ñ Ð²ÐµÐ³ÐµÑаÑианÑкого или поÑÑного Ð¼ÐµÐ½Ñ Ð¸Ð»Ð¸ гаÑÐ½Ð¸Ñ Ðº блÑдам из мÑÑа, пÑиÑÑ Ð¸Ð»Ð¸ ÑÑбÑ. ÐÐµÐ½Ð°Ñ Ð¶ÐµÐ»ÑÐ°Ñ ÑеÑевиÑа даÑÐ¸Ñ ÑÑкий ÑвеÑ, Ð´ÐµÐ»Ð°ÐµÑ Ð¾Ð»Ð°Ð´Ñи ÑÑÑнÑми и полезнÑми, лÑк пÑÐ¸Ð´Ð°ÐµÑ ÑоÑноÑÑи и пиканÑноÑÑи, а Ð·ÐµÐ»ÐµÐ½Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ Ð¾ÑвежаÑÑие ноÑки. РкаÑеÑÑве Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñи подаÑе оÑÐµÐ½Ñ Ñ
оÑоÑо Ð¿Ð¾Ð´Ð¾Ð¹Ð´ÐµÑ ÑмеÑана или лÑбимÑй ÑоÑÑ.\n </p>\n </div>\n\n <div class="recipe-detail__ingredients recipe-ingredients">\n <div class="recipe-ingredients__title">\n ÐнгÑедиенÑÑ <span>(11)</span>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ЧеÑевиÑа желÑаÑ</div>\n <div class="recipe-ingredients__option-text">50 гÑ.</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ÐÑка пÑениÑнаÑ</div>\n <div class="recipe-ingredients__option-text">300 мл.</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ÐеÑÑÑÑка (ÑвежаÑ)</div>\n <div class="recipe-ingredients__option-text">1 веÑоÑка</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">СелÑдеÑей</div>\n <div class="recipe-ingredients__option-text">1 ÑÑебелÑ</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ЧеÑнок</div>\n <div class="recipe-ingredients__option-text">1 зÑбÑик</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ЯйÑо кÑÑиное</div>\n <div class="recipe-ingredients__option-text">1 ÑÑ.</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ÐÑк ÑепÑаÑÑй</div>\n <div class="recipe-ingredients__option-text">1 ÑÑ.</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">СолÑ</div>\n <div class="recipe-ingredients__option-text">по вкÑÑÑ</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">СелÑдеÑей</div>\n <div class="recipe-ingredients__option-text">1 ÑÑебелÑ</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">ЧеÑнок</div>\n <div class="recipe-ingredients__option-text">1 зÑбÑик</div>\n </div>\n <div class="recipe-ingredients__option">\n <div class="recipe-ingredients__option-text">СолÑ</div>\n <div class="recipe-ingredients__option-text">по вкÑÑÑ</div>\n </div>\n </div>\n\n <div class="recipe-detail-step">\n <div class="recipe-detail-step__row">\n <div class="recipe-detail-step__num">\n Шаг 1 / <span>3</span>\n </div>\n <div class="recipe-detail-step__text">РкипÑÑÑÑ Ð²Ð¾Ð´Ñ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸ÑÑ ÑеÑевиÑÑ Ð¸ ваÑиÑÑ 15 минÑÑ, ÑнÑÑÑ Ñ Ð¾Ð³Ð½Ñ, оÑÑÑдиÑÑ.</div>\n </div>\n\n <img class="recipe-detail-step__image" src="/assets/images/recipe-detail/recipe-detail-2.jpg" alt="Ñкомилк">\n </div>\n <div class="recipe-detail-step">\n <div class="recipe-detail-step__row">\n <div class="recipe-detail-step__num">\n Шаг 2 / <span>3</span>\n </div>\n <div class="recipe-detail-step__text">Ð Ð±Ð»ÐµÐ½Ð´ÐµÑ Ð¿Ð¾Ð¼ÐµÑÑиÑÑ Ð·ÐµÐ»ÐµÐ½Ñ, ÑеÑнок, лÑк, ÑеÑевиÑÑ, ÑолÑ, пеÑÐµÑ Ð¸ вÑе пеÑемеÑаÑÑ. ÐобавиÑÑ Ð² полÑÑеннÑÑ Ð¼Ð°ÑÑÑ Ð²Ð·Ð±Ð¸Ñое ÑйÑо, мÑкÑ, вÑе пеÑемеÑаÑÑ.</div>\n </div>\n\n <img class="recipe-detail-step__image" src="/assets/images/recipe-detail/recipe-detail-3.jpg" alt="Ñкомилк">\n </div>\n <div class="recipe-detail-step">\n <div class="recipe-detail-step__row">\n <div class="recipe-detail-step__num">\n Шаг 3 / <span>3</span>\n </div>\n <div class="recipe-detail-step__text">ТеÑÑо вÑливаÑÑ Ð¿Ð¾Ð»Ð¾Ð²Ð½Ð¸ÐºÐ¾Ð¼ на ÑазогÑеÑÑÑ Ñ Ð¼Ð°Ñлом ÑковоÑодÑ, обжаÑиваÑÑ Ñ Ð´Ð²ÑÑ
ÑÑоÑон. ÐодаваÑÑ Ñо ÑмеÑаной или ÑоÑÑом.</div>\n </div>\n\n <img class="recipe-detail-step__image" src="/assets/images/recipe-detail/recipe-detail-4.jpg" alt="Ñкомилк">\n </div>\n \n <div class="recipe-detail__video">\n \n\n\n<div\n class="video js-video"\n >\n <video\n class="video__player js-player"\n loop\n controls\n preload="auto"\n poster="/assets/images/recipe-detail/recipe-detail-2.jpg"\n >\n <source src="/assets/video/promo/about.mp4" type="video/mp4">\n <source src="/assets/video/promo/about.webm" type="video/webm">\n </video>\n\n <div class="video__screen js-screen">\n <img\n class="video__screen-preview"\n src="/assets/images/recipe-detail/recipe-detail-2.jpg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button\n class="video__play-button"\n type="button"\n >\n <img\n class="video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n </button>\n </div>\n</div>\n </div>\n \n \n<div class="sharing">\n\t<div class="sharing__text">ÐоделиÑÑÑÑ</div>\n\t\t\t<a class="sharing__link" href="https://vk.com/ecomilkru">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon sharing__link-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-footer-vk" />\n</svg>\n\t\t</a>\n\t</div>\n </div>\n</section>\n\n \n\n\n\n<section\n class="products-carousel js-products-carousel "\n >\n <h2 class="products-carousel__title">\n Ðам понадобÑÑÑÑ\n </h2>\n\n <div class="products-carousel__slider swiper js-products-slider">\n <div class="swiper-wrapper">\n <div class="swiper-slide">
2\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_low-in-calories product-card__promo-label"\n >\n Ðало калоÑий\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-1.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑог деÑеÑÑнÑй клÑбника 5%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_hit product-card__promo-label"\n >\n ХиÑ\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-2.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">СÑÑ Ð³ÑеÑеÑкий Fetica</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 275 г\n </div>\n <div class="\n product-card__weight\n ">\n 400 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n\n \n<div\n class="promo-label promo-label_type_new product-card__promo-label"\n >\n Ðовинка\n</div>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-3.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ТвоÑÐ¾Ð¶Ð½Ð°Ñ Ð¼Ð°ÑÑа ÐанилÑ</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 180 г\n </div>\n </div>\n </div>\n</a>\n </div>\n <div class="swiper-slide">\n \n\n\n\n<a\n class="product-card"\n href="product-detail.html"\n>\n \n <div class="product-card__image">\n\t <img src="/assets/images/products/products-4.png" alt="">\n </div>\n\n <div class="product-card__bottom">\n <div class="product-card__title">ÐогÑÑÑ Ñ ÐºÐ»ÐµÐ½Ð¾Ð²Ñм ÑиÑопом <br>и гÑеÑким оÑеÑ
ом 4,2%</div>\n\n <div class="product-card__row">\n <div class="\n product-card__weight\n product-card__weight_active ">\n 130 г\n </div>\n </div>\n </div>\n</a>\n </div>\n </div>\n </div>\n\n <div class="products-carousel__bottom">\n <div class="products-carousel__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-products-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-products-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n <div\n class="products-carousel__slider-pagination swiper-pagination js-products-slider-pagination"\n ></div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary products-carousel__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐеÑейÑи в каÑалог</span>\n \n</a>\n </div>\n</section>\n\n \n\n\n\n<section\n class="recipes-promo js-recipes-promo"\n >\n <div class="recipes-promo__info">\n <h2 class="recipes-promo__title">ÐвÑоÑÑкие ÑеÑепÑÑ</h2>\n <p>\n ÐелимÑÑ Ñ Ð²Ð°Ð¼Ð¸ авÑоÑÑкими кÑлинаÑнÑми\n ÑеÑепÑами пÑоÑÑÑÑ
домаÑниÑ
блÑд,\n Ð
2ºÐ¾ÑоÑÑе бÑдÑÑ ÑадоваÑÑ Ð²Ð°ÑÑ ÑемÑÑ\n и гоÑÑей на завÑÑак, обед или Ñжин!\n </p>\n </div>\n\n <div class="recipes-promo__slider swiper js-recipes-slider">\n <div class="swiper-wrapper">\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-1" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-1) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-2" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-2) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-3" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-3) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n <div class="recipes-promo__slider-slide swiper-slide">\n \n\n\n<a\n class="recipe-card-promo recipe-card-promo_type_small"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ТаÑÑ Ñ Ð»Ð¸Ð¼Ð¾Ð½Ð¾Ð¼\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="tart-4" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-2.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#tart-4) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n </div>\n </div>\n </div>\n\n <div class="recipes-promo__bottom">
2\n <div class="recipes-promo__slider-controls">\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse js-recipes-slider-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light js-recipes-slider-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n </div>\n\n \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_primary recipes-promo__button"\n \n\t href="recipes.html"\n >\n\n <span class="button__text">ÐÑкÑÑÑÑ Ð²Ñе</span>\n \n</a>\n </div>\n</section>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},8604:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-recipes">\n \n\n\n<div\n class="page-header"\n >\n \n\n\n \n<ul\n class="breadcrumbs breadcrumbs_light page-header__breadcrumbs"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="recipes.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >РеÑепÑÑ</a></li></ul>\n\n <h1 class="page-header__title">РеÑепÑÑ</h1>\n <div class="page-header__text">\n <p>ÐелимÑÑ Ñ Ð²Ð°Ð¼Ð¸ авÑоÑÑкими кÑлинаÑнÑми ÑеÑепÑами пÑоÑÑÑÑ
домаÑниÑ
блÑд, коÑоÑÑе бÑдÑÑ ÑадоваÑÑ Ð²Ð°ÑÑ ÑемÑÑ Ð¸ гоÑÑей на завÑÑак, обед или Ñжин!</p>\n </div>\n\n <img src="/assets/images/page-header/recipes.webp" alt="" class="page-header__picture">\n </div>\n\n \n\n\n\n\n<div\n class="section-list-carousel js-section-list-carousel"\n >\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light round-button_reverse section-list-carousel__prev js-section-list-carousel-prev"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n\n \n\n\n \n<a\n class="section-item section-item_theme_white isActive section-list-carousel__all"\n href="#"\n class="section-list-carousel__all"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-all" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑе ÑоваÑÑ\n </div>\n</a>\n\n <div class="section-list-carousel__slider js-section-list-carousel-slider swiper">\n <div class="section-list-carousel__slider-wrapper swiper-wrapper">\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-butter" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐеÑиÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-curd" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ТвоÑог\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑана\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-fused-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ Ð¿Ð»Ð°Ð²Ð»ÐµÐ½Ð½Ñй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-brine-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑаÑÑолÑнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-creme-cheese" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СÑÑ ÑвоÑожнÑй\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-yogurt" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐÑÑÑой йогÑÑÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-coctail" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐокÑейли\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-sour-creme-product" />\n</svg>\n </div>\n\n <div class="section-item__text">\n СмеÑаннÑй пÑодÑкÑ\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-milk" />\n</svg>\n </div>\n\n <div class="section-item__text">\n ÐаÑло ÑливоÑное\n </div>\n</a>\n </div>\n <div class="section-list-carousel__slide swiper-slide">\n \n\n\n \n<a\n class="section-item section-item_theme_white section-list-carousel__slide-content"\n href="#"\n class="section-list-carousel__slide-content"\n >\n <div class="section-item__top">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon section-item__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-recipes-kefir" />\n</svg>\n </div>\n\n <div class="section-item__text">\n Ðолоко\n </div>\n</a>\n </div>\n </div>\n </div>\n\n \n\n\n \n\n\t\n<button\n\tclass="round-button round-button_theme_light section-list-carousel__next js-section-list-carousel-next"\n type="button"\n \n\t >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\n</button>\n</div>\n\n \n\n\n<div\n class="recipes"\n >\n <div class="recipes__list">\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card-promo recipes__card"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n </a>\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n\n \n<div\n class="video-tag recipe-card__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео-ÑеÑепÑ\n </span>\n </div>\n</div>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">
24 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card-promo recipes__card"\n href="recipe-detail.html"\n>\n <div class="recipe-card-promo__top">\n <div class="recipe-card-promo__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card-promo__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n </div>\n\n <div class="recipe-card-promo__options">\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\
2n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card-promo__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n\n <svg class="recipe-card-promo__image" viewBox="0 0 592 527" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <pattern id="cutlets-2" width="100%" height="100%" patternUnits="userSpaceOnUse">\n <image href="/assets/images/recipes/slider/slide-1.webp" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" />\n </pattern>\n </defs>\n <path fill=url(#cutlets-2) d="M65.213 79.198C19.665 82.7 1.147 99.208.145 105.212c-1.003 6.003 3.458 23.011 5.506 30.516 2.047 7.505 21.023 47.026 44.047 65.036 22.742 17.789 35.203 18.107 50.484 18.496l.57.014c19.52.5 43.045-14.008 46.048-14.008s5.506 21.012 4.004 35.02c-2.733 25.495-1.502 42.022 2.503 65.535.34 2.001-20.478 17.51-26.028 54.53-6.397 42.673 5.869 78.216 35.538 109.561 23.524 24.853 67.07 41.023 93.598 44.524 3.503.463 15.516 11.507 38.039 12.507 22.524 1.001 36.539-11.568 41.543-12.506 24.026-4.503 75.58-23.013 99.105-51.029 23.524-28.015 36.037-62.034 31.532-96.552-4.506-34.518-27.01-55.031-27.528-59.534-.518-4.502 6.004-31.016 4.002-45.524-2.002-14.508-2.002-54.029 0-56.531 2.002-2.501 3.367 10.918 37.041 13.507 19.52 1.501 29.112-.002 46.547-8.504 6.508-3.173 30.426-22.693 43.547-42.524 15.174-22.934 24.526-55.531 21.022-65.036-3.504-9.505-41.755-25.103-71.576-23.512-18.42.982-29.132 4.096-45.547 12.507-17.017 8.719-38.039 30.015-38.039 30.015s-7.508-15.008-11.012-24.513c-.344-.933 15.636-11.92 22.524-22.513 6.506-10.005 14.014-24.013 16.016-41.021 1.598-13.584 1.092-30.915-9.009-33.019-12.013-2.502-17.724 26.515-23.526 33.019-4.97 5.572-7.318 9.007-14.514 11.005-9.009 2.502-26.027 8.005-30.031 6.504-4.004-1.5-23.525-14.508-39.542-20.511-28.734-10.77-65.07-11.006-92.598-4.002-27.527 7.003-44.045 22.012-48.049 23.512-4.004 1.5-25.026-15.008-37.539-24.513C156.31 16.163 146.8-1.847 137.29.154c-9.51 2-11.743 27.398-6.507 44.525 5.506 18.01 20.521 38.02 25.026 43.024 3.977 4.416 11.512 9.004 11.512 9.004l-11.011 24.014s-45.548-45.025-91.097-41.523Z"/>\n </svg>\n\n \n\n \n<div\n class="video-tag recipe-card-promo__video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n Ðидео-ÑеÑепÑ\n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n Ðидео\n </span>\n </div>\n</div>\n </a>\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">
24 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n \n\n \n<a\n class="recipe-card recipes__card"\n href="recipe-detail.html"\n>\n \n <div class="recipe-card__picture">\n <img class="recipe-card__picture-img" src="/assets/images/recipes/recipe-card.png" alt="">\n </div>\n\n <div class="recipe-card__title">\n ÐоÑлеÑÑ Ð¸Ð· индейки\n </div>\n\n <div class="recipe-card__text">\n ÐкÑÑ, знакомÑй Ñ Ð´ÐµÑÑÑва: ÑоÑнÑе и ÑÑÑнÑе коÑлеÑки, коÑоÑÑе полÑÐ±Ð¸Ñ Ð²ÑÑ ÑемÑÑ\n </div>\n\n <div class="recipe-card__options">\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-clock" />\n</svg>\n <span class="option-icon__caption">30 минÑÑ</span>\n</div>\n \n\n\n \n<div\n class="option-icon recipe-card__options-item"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon option-icon__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-plate" />\n</svg>\n <span class="option-icon__caption">4 поÑÑии</span>\n</div>\n </div>\n</a>\n\n\n </div>\n\n \n\n \n<div\n class="pagination recipes__pagination"\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n \n\t\n\t\n<a\n\tclass="button button_theme_transparent-primary pagination__button"\n \n\t href="#"\n >\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n</div>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">
2\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>
2\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},3365:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_default">\n \n\n\n\n<header\n class="header js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-content">\n \n\n\n\n<ul\n class="breadcrumbs "\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="user-agreement.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >ÐолÑзоваÑелÑÑкое ÑоглаÑение</a></li></ul>\n\n <h1>\n ÐолÑзоваÑелÑÑ<wbr/>кое ÑоглаÑение\n </h1>\n <time datetime="2018-07-23">РедакÑÐ¸Ñ Ð¾Ñ 06 ÑевÑÐ°Ð»Ñ 2026</time>\n\n<p>\n\tÐаÑÑоÑÑее СоглаÑение ÑвлÑеÑÑÑ Ð¿ÑблиÑной оÑеÑÑой и опÑеделÑÐµÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÑеÑиалов и ÑеÑвиÑов, ÑазмеÑеннÑÑ
\n\tна ÑайÑе в ÑеÑи ÐнÑеÑÐ½ÐµÑ Ð¿Ð¾ адÑеÑÑ: ecomilk.ru, поÑеÑиÑелÑми и полÑзоваÑелÑми данного инÑеÑнеÑ-ÑайÑа (далее - СайÑ).\n</p>\n<p>\n\t1. ÐбÑие положениÑ\n</p>\n<p>\n\t1.1. ÐладелÑÑем СайÑа, ÑеализÑÑÑим в полном обÑеме пÑава по админиÑÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¡Ð°Ð¹Ñа, ÑвлÑеÑÑÑ ÐбÑеÑÑво Ñ Ð¾Ð³ÑаниÑенной\n\tоÑвеÑÑÑвенноÑÑÑÑ Â«Ðкомилк» (ÐÐÐ 7731417709, ÐÐÐ Ð 1117746970175, ЮÑидиÑеÑкий адÑеÑ: 121357, гоÑод ÐоÑква, ÐеÑейÑкаÑ\n\tÑл., д. 17, ÑÑ 2 пом 213). ÐÑе взаимооÑноÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ ÐладелÑÑем СайÑа и ÐолÑзоваÑелÑми СайÑа ÑегÑлиÑÑÑÑÑÑ Ð´ÐµÐ¹ÑÑвÑÑÑим\n\tзаконодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии и наÑÑоÑÑим СоглаÑением.\n</p>\n<p>\n\t1.2. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа впÑаве в лÑбое вÑÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð½Ð°ÑÑоÑÑее СоглаÑение. ÐолÑзоваÑÐµÐ»Ñ Ð¾Ð±ÑзÑеÑÑÑ ÑамоÑÑоÑÑелÑно и на\n\tÑегÑлÑÑной оÑнове ÑледиÑÑ Ð·Ð° изменениÑми, вноÑимÑми в ÐейÑÑвÑÑÑÑÑ ÑедакÑÐ¸Ñ Ð¡Ð¾Ð³Ð»Ð°ÑениÑ.\n</p>\n<p>\n\t1.3. Ð¡Ð°Ð¹Ñ Ñоздан в ÑелÑÑ
инÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑÑебиÑелей об аÑÑоÑÑименÑе ТоваÑов, ÑкÑÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼Ð¸Ð´Ð¶Ð° и повÑÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð²ÐµÑиÑ\n\tпоÑÑебиÑелей к ÐбÑеÑÑÐ²Ñ Ñ Ð¾Ð³ÑаниÑенной оÑвеÑÑÑвенноÑÑÑÑ Â«Ðкомилк».\n</p>\n<p>\n\t2. ÐÑава и обÑзаÑелÑÑÑва полÑзоваÑелÑ.\n</p>\n<p>\n\t2.1. ÐолÑзоваÑелем СайÑа пÑизнаеÑÑÑ Ð»Ñбое лиÑо, оÑÑÑеÑÑвлÑÑÑее доÑÑÑп к СайÑÑ Ð¿Ð¾ÑÑедÑÑвом ÑеÑи ÐнÑеÑнеÑ.\n</p>\n<p>\n\t2.2. ÐÑава и обÑзанноÑÑи ÐолÑзоваÑÐµÐ»Ñ Ð¡Ð°Ð¹Ñа возникаÑÑ Ñ Ð»Ð¸Ñа Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа пеÑвого обÑаÑÐµÐ½Ð¸Ñ Ðº лÑÐ±Ð¾Ð¼Ñ Ð¸Ð· маÑеÑиалов СайÑа\n</p>\n<p>\n\t2.3. ÐолÑзоваÑели СайÑа впÑаве Ñвободно знакомиÑÑÑÑ Ñ Ð¸Ð½ÑоÑмаÑионнÑми маÑеÑиалами, ÑаÑположеннÑми на СайÑе в оÑкÑÑÑом\n\tдоÑÑÑпе.\n</p>\n<p>\n\t2.4. ÐолÑзоваÑÐµÐ»Ñ ÑоглаÑаеÑÑÑ Ð½Ðµ пÑедпÑинимаÑÑ Ð´ÐµÐ¹ÑÑвий и не оÑÑавлÑÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑии и запиÑи, коÑоÑÑе могÑÑ\n\tÑаÑÑмаÑÑиваÑÑÑÑ ÐºÐ°Ðº наÑÑÑаÑÑие ÑоÑÑийÑкое законодаÑелÑÑÑво или ноÑÐ¼Ñ Ð¼ÐµÐ¶Ð´ÑнаÑодного пÑава, в Ñом ÑиÑле в ÑÑеÑе\n\tинÑеллекÑÑалÑной ÑобÑÑвенноÑÑи, авÑоÑÑкиÑ
и/или ÑмежнÑÑ
пÑав, обÑепÑинÑÑÑе ноÑÐ¼Ñ Ð¼Ð¾Ñали и нÑавÑÑвенноÑÑи, а Ñакже\n\tлÑбÑÑ
дейÑÑвий, коÑоÑÑе пÑиводÑÑ Ð¸Ð»Ð¸ могÑÑ Ð¿ÑивеÑÑи к наÑÑÑÐµÐ½Ð¸Ñ Ð
2½Ð¾ÑмалÑной ÑабоÑÑ Ð¡Ð°Ð¹Ñа и ÑеÑвиÑов СайÑа.\n</p>\n<p>\n\t2.5. ÐолÑзоваÑелÑм СайÑа пÑедоÑÑавлÑеÑÑÑ ÑвободнÑй доÑÑÑп к инÑоÑмаÑионнÑм маÑеÑиалам, ÑазмеÑеннÑм на СайÑе, за\n\tиÑклÑÑением маÑеÑиалов, доÑÑÑп к коÑоÑÑм должен бÑÑÑ Ð¾Ð³ÑаниÑен в ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом РоÑÑийÑкой\n\tФедеÑаÑии. ÐолÑзоваÑели СайÑа обÑÐ·Ð°Ð½Ñ Ð²Ð¾Ð·Ð´ÐµÑживаÑÑÑÑ Ð¾Ñ Ð»ÑбÑÑ
дейÑÑвий, ÑпоÑобнÑÑ
пÑиÑиниÑÑ Ð²Ñед инÑоÑмаÑионномÑ\n\tнаполнениÑ, пÑогÑÐ°Ð¼Ð¼Ð½Ð¾Ð¼Ñ Ð¸ аппаÑаÑÐ½Ð¾Ð¼Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð¡Ð°Ð¹Ñа\n</p>\n<p>\n\t2.6. ÐÑи ÑиÑиÑовании маÑеÑиалов СайÑа, вклÑÑÐ°Ñ Ð¾Ñ
ÑанÑемÑе авÑоÑÑкие пÑоизведениÑ, ÑÑÑлка на Ð¡Ð°Ð¹Ñ Ð¾Ð±ÑзаÑелÑна.\n</p>\n<p>\n\t2.7. ÐаÑÑÑение ÐолÑзоваÑелем СайÑа ÑÑловий наÑÑоÑÑего СоглаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑвиÑÑÑÑ Ð¾Ñнованием Ð´Ð»Ñ Ð²Ñеменного либо полного\n\tоÑказа в доÑÑÑпе ÐолÑзоваÑÐµÐ»Ñ Ðº СайÑÑ, коÑоÑое пÑинимаеÑÑÑ ÐладелÑÑем СайÑа. ÐаÑÑÑение ÐолÑзоваÑелем СайÑа авÑоÑÑкиÑ
\n\tпÑав ÐладелÑÑа СайÑа ÑвлÑеÑÑÑ Ð¾Ñнованием Ð´Ð»Ñ Ð¿ÑивлеÑÐµÐ½Ð¸Ñ ÐолÑзоваÑÐµÐ»Ñ Ð¡Ð°Ð¹Ñа к оÑвеÑÑÑвенноÑÑи, пÑедÑÑмоÑÑенной законом\n</p>\n<p>\n\t2.8. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа не неÑÐµÑ Ð¾ÑвеÑÑÑвенноÑÑи за поÑеÑение и иÑполÑзование им внеÑниÑ
ÑеÑÑÑÑов, ÑÑÑлки на коÑоÑÑе могÑÑ\n\tÑодеÑжаÑÑÑÑ Ð½Ð° СайÑе.\n</p>\n<p>\n\t2.9. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа не неÑÐµÑ Ð¾ÑвеÑÑÑвенноÑÑи и не Ð¸Ð¼ÐµÐµÑ Ð¿ÑÑмÑÑ
или коÑвеннÑÑ
обÑзаÑелÑÑÑв пеÑед ÐолÑзоваÑелем в ÑвÑзи\n\tÑ Ð»ÑбÑми возможнÑми или возникÑими поÑеÑÑми, или ÑбÑÑками, ÑвÑзаннÑми Ñ Ð»ÑбÑм ÑодеÑжанием СайÑа, ÑегиÑÑÑаÑией\n\tавÑоÑÑкиÑ
пÑав и ÑведениÑми о Ñакой ÑегиÑÑÑаÑии, ÑоваÑами или ÑÑлÑгами, доÑÑÑпнÑми на или полÑÑеннÑми ÑеÑез внеÑние\n\tÑайÑÑ Ð¸Ð»Ð¸ ÑеÑÑÑÑÑ Ð»Ð¸Ð±Ð¾ инÑе конÑакÑÑ ÐолÑзоваÑелÑ, в коÑоÑÑе он вÑÑÑпил, иÑполÑзÑÑ ÑазмеÑеннÑÑ Ð½Ð° СайÑе инÑоÑмаÑÐ¸Ñ Ð¸Ð»Ð¸\n\tÑÑÑлки на внеÑние ÑеÑÑÑÑÑ\n</p>\n<p>\n\t3. ÐÑава и обÑзаÑелÑÑÑва ÐладелÑÑа СайÑа\n</p>\n<p>\n\t3.1. ÐолÑзоваÑÐµÐ»Ñ Ð¸ÑполÑзÑÐµÑ Ð¡Ð°Ð¹Ñ Ð½Ð° Ñвой ÑобÑÑвеннÑй ÑиÑк. СеÑвиÑÑ Ð¡Ð°Ð¹Ñа пÑедоÑÑавлÑÑÑÑÑ Â«ÐºÐ°Ðº еÑÑÑ». ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа\n\tне пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð½Ð° ÑÐµÐ±Ñ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ оÑвеÑÑÑвенноÑÑи, в Ñом ÑиÑле за ÑооÑвеÑÑÑвие ÑеÑвиÑов СайÑа ÑелÑм ÐолÑзоваÑелÑ\n</p>\n<p>\n\t 3.2. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа не гаÑанÑиÑÑеÑ, ÑÑо: ÑеÑвиÑÑ Ð¡Ð°Ð¹Ñа ÑооÑвеÑÑÑвÑÑÑ/бÑдÑÑ ÑооÑвеÑÑÑвоваÑÑ ÑÑебованиÑм\n\tÐолÑзоваÑелÑ; ÑеÑвиÑÑ Ð¡Ð°Ð¹Ñа бÑдÑÑ Ð¿ÑедоÑÑавлÑÑÑÑÑ Ð½ÐµÐ¿ÑеÑÑвно, бÑÑÑÑо, надежно и без оÑибок; ÑезÑлÑÑаÑÑ, коÑоÑÑе могÑÑ\n\tбÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ñ Ñ Ð¸ÑполÑзованием СайÑа, бÑдÑÑ ÑоÑнÑми и Ð
2½Ð°Ð´ÐµÐ¶Ð½Ñми и могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ
-либо Ñелей или в\n\tкаком-либо каÑеÑÑве (напÑимеÑ, Ð´Ð»Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸/или подÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ°ÐºÐ¸Ñ
-либо ÑакÑов); каÑеÑÑво какого-либо пÑодÑкÑа,\n\tÑÑлÑги, инÑоÑмаÑии и пÑ., полÑÑеннÑÑ
Ñ Ð¸ÑполÑзованием СайÑа, бÑÐ´ÐµÑ ÑооÑвеÑÑÑвоваÑÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñм ÐолÑзоваÑелÑ.\n</p>\n<p>\n\t3.3. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа не неÑÐµÑ Ð¾ÑвеÑÑÑвенноÑÑи за лÑбÑе Ð²Ð¸Ð´Ñ ÑбÑÑков, наÑÑÑпивÑие вÑледÑÑвие иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐолÑзоваÑелем\n\tСайÑа или оÑделÑнÑÑ
ÑаÑÑей/ÑÑнкÑий СайÑа, в Ñом ÑиÑле, но не огÑаниÑиваÑÑÑ Ð¿Ð¾ пÑиÑинам, ÑвÑзаннÑм Ñ ÑеÑ
ниÑеÑкими\n\tÑбоÑми аппаÑаÑного и пÑогÑаммного обеÑпеÑениÑ, а Ñакже за ÑбÑÑки, возникÑие в ÑезÑлÑÑаÑе дейÑÑвий ÐолÑзоваÑелей СайÑа.\n\tÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа не неÑÐµÑ ÑинанÑовой и пÑавовой оÑвеÑÑÑвенноÑÑи за ÑбÑÑки, возникÑие Ñ ÐолÑзоваÑелей СайÑа или ÑÑеÑÑиÑ
\n\tÐ»Ð¸Ñ Ð² ÑезÑлÑÑаÑе иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐолÑзоваÑелÑми СайÑа ÑазмеÑеннÑÑ
на СайÑе лÑбÑÑ
инÑоÑмаÑионнÑÑ
маÑеÑиалов и\n\tÑекомендаÑий. ÐÑполÑзÑÑ Ð¼Ð°ÑеÑиал ÑайÑа, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ñем, ÑÑо вÑе ÑинанÑовÑе и пÑавовÑе ÑиÑки неÑÑÑе Ñами.\n</p>\n<p>\n\t3.4. ÐÑи лÑбÑÑ
обÑÑоÑÑелÑÑÑваÑ
оÑвеÑÑÑвенноÑÑÑ ÐладелÑÑа СайÑа в ÑооÑвеÑÑÑвии Ñо ÑÑаÑÑей 15 ÐÑажданÑкого кодекÑа\n\tРоÑÑийÑкой ФедеÑаÑии огÑаниÑена 5 000 (пÑÑÑÑ ÑÑÑÑÑами) ÑÑблей РФ и возлагаеÑÑÑ Ð½Ð° него пÑи налиÑии в его дейÑÑвиÑÑ
\n\tдоказанной докÑменÑалÑно винÑ.\n</p>\n<p>\n\t3.5. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð²Ñеми иÑклÑÑиÑелÑнÑми пÑавами на иÑполÑзование СайÑа, по ÑобÑÑÐ²ÐµÐ½Ð½Ð¾Ð¼Ñ ÑÑмоÑÑÐµÐ½Ð¸Ñ Ð² лÑбое\n\tвÑÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÐµÑ ÑодеÑжание СайÑа, ÑдалÑÐµÑ Ð¸ добавлÑÐµÑ Ð»ÑбÑе маÑеÑиалÑ, ÑазÑеÑÐ°ÐµÑ Ð´Ð¾ÑÑÑп к СайÑÑ Ð»Ð¸Ð±Ð¾ огÑаниÑÐ¸Ð²Ð°ÐµÑ Ñакой\n\tдоÑÑÑп, оÑÑÑеÑÑвлÑÐµÑ Ð¸Ð½Ñе пÑинадлежаÑие ÐµÐ¼Ñ Ð¿Ñава в оÑноÑении СайÑа.\n</p>\n<p>\n\t3.6. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа оÑÑÑеÑÑвлÑÐµÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑиÑование СайÑа Ñ ÑелÑÑ ÑазмеÑÐµÐ½Ð¸Ñ Ð½Ð° СайÑе инÑоÑмаÑии о компании, ее\n\tдеÑÑелÑноÑÑи, а Ñакже иной инÑоÑмаÑии, коÑоÑаÑ, по Ð¼Ð½ÐµÐ½Ð¸Ñ ÐладелÑÑа СайÑа, Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹ ÐолÑзоваÑелÑм\n\tСайÑа.\n</p>\n<p>\n\t4. ÐнÑоÑмаÑÐ¸Ñ Ð½Ð° ÑайÑе\n</p>\n<p>\n\t4.1. ÐвÑоÑÑкие пÑава на инÑоÑмаÑионнÑе маÑеÑÐ¸Ð°Ð»Ñ (в Ñом ÑиÑле, но не огÑаниÑиваÑÑÑ Ð¿ÐµÑеÑиÑленнÑм: изобÑажениÑ,\n\tÑоÑогÑаÑии, ÑекÑÑÑ, логоÑипÑ, дизайн оÑделÑнÑÑ
блоков СайÑа и вÑего СайÑа в Ñелом), ÑазмеÑеннÑе на СайÑе, пÑинадлежаÑ\n\tÐладелÑÑÑ Ð¡Ð°Ð¹Ñа и инÑм пÑавообладаÑелÑм, Ñ ÑоглаÑÐ¸Ñ ÐºÐ¾ÑоÑÑÑ
маÑеÑÐ¸Ð°Ð»Ñ ÑазмеÑÐµÐ½Ñ Ð½Ð° СайÑе. ÐнÑе лиÑа не впÑаве\n\tкаким-либо обÑазом иÑполÑзоваÑÑ ÑазмеÑеннÑе на СайÑе маÑеÑиалÑ, копиÑоваÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑно, ÑаÑпÑоÑÑÑанÑÑÑ,\n\tвидоизменÑÑÑ, воÑпÑоизводиÑÑ ÑказаннÑе маÑеÑÐ¸Ð°Ð»Ñ Ð±ÐµÐ· пÑедваÑиÑелÑного ÑазÑеÑÐµÐ½Ð¸Ñ ÐладелÑÑа СайÑа и (или) инÑÑ
\n\tпÑавообладаÑелей. ÐÑе пÑава на инÑоÑмаÑионнÑе маÑеÑиалÑ, в Ñом ÑиÑле на изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ (ÑоÑогÑаÑии), ÑазмеÑеннÑе на\n\tСайÑе, оÑ
ÑанÑÑÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð½Ð°ÑионалÑнÑм и междÑнаÑоднÑм пÑавовÑми ноÑмами. ÐÑи иÑполÑзовании лÑбÑÑ
\n\tинÑоÑмаÑионнÑÑ
маÑеÑиалов и изобÑажений (ÑоÑогÑаÑий) Ñ Ð¡Ð°Ð¹Ñа в ÑеÑи ÐнÑеÑÐ½ÐµÑ Ð¾Ð±ÑзаÑелÑнÑм ÑÑловием ÑвлÑеÑÑÑ Ñказание\n\tна иÑÑоÑник маÑеÑиалов â СайÑ.\n</p>\n<p>\n\t4.2. ÐладелÑÑем СайÑа пÑинимаÑÑÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑивнÑе, оÑганизаÑионнÑе и ÑеÑ
ниÑеÑкие меÑÑ Ð¿Ð¾ заÑиÑе деÑей Ð¾Ñ Ð¸Ð½ÑоÑмаÑии,\n\tпÑиÑинÑÑÑей вÑед иÑ
здоÑовÑÑ Ð¸ ÑазвиÑиÑ.\n</p>\n<p>\n\t5. ÐнÑе положениÑ\n</p>\n<p>\n\t5.1. ÐаÑÑоÑÑее СоглаÑение ÑегÑлиÑÑеÑÑÑ Ð¸ ÑолкÑеÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии. Ð
2опÑоÑÑ,\n\tне ÑÑегÑлиÑованнÑе наÑÑоÑÑим СоглаÑением, Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð°Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð² ÑооÑвеÑÑÑвии Ñ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии.\n\tÐÑе возможнÑе ÑпоÑÑ, вÑÑекаÑÑие из оÑноÑений, ÑегÑлиÑÑемÑÑ
наÑÑоÑÑим СоглаÑением, ÑазÑеÑаÑÑÑÑ Ð² поÑÑдке, ÑÑÑановленном\n\tдейÑÑвÑÑÑим законодаÑелÑÑÑвом РоÑÑийÑкой ФедеÑаÑии, по ноÑмам ÑоÑÑийÑкого пÑава. Ðезде по ÑекÑÑÑ Ð½Ð°ÑÑоÑÑего\n\tСоглаÑениÑ, еÑли Ñвно не Ñказано иное, под ÑеÑмином «законодаÑелÑÑÑво» понимаеÑÑÑ Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°ÑелÑÑÑво РоÑÑийÑкой\n\tФедеÑаÑии.\n</p>\n<p>\n\t5.2. ÐиÑÑо в СоглаÑении не Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑÑÑ ÐºÐ°Ðº ÑÑÑановление Ð¼ÐµÐ¶Ð´Ñ ÐолÑзоваÑелем и ÐладелÑÑем СайÑа агенÑÑкиÑ
\n\tоÑноÑений, оÑноÑений ÑоваÑиÑеÑÑва, оÑноÑений по ÑовмеÑÑной деÑÑелÑноÑÑи, оÑноÑений лиÑного найма, либо какиÑ
-Ñо инÑÑ
\n\tоÑноÑений, пÑÑмо не пÑедÑÑмоÑÑеннÑÑ
СоглаÑением.\n</p>\n<p>\n\t5.3. ÐÑли по Ñем или инÑм пÑиÑинам одно или неÑколÑко положений наÑÑоÑÑего СоглаÑÐµÐ½Ð¸Ñ Ð±ÑдÑÑ Ð¿ÑÐ¸Ð·Ð½Ð°Ð½Ñ Ð½ÐµÐ´ÐµÐ¹ÑÑвиÑелÑнÑми\n\tили не имеÑÑими ÑÑидиÑеÑкой ÑилÑ, ÑÑо не оказÑÐ²Ð°ÐµÑ Ð²Ð»Ð¸ÑÐ½Ð¸Ñ Ð½Ð° дейÑÑвиÑелÑноÑÑÑ Ð¸Ð»Ð¸ пÑименимоÑÑÑ Ð¾ÑÑалÑнÑÑ
положений\n\tСоглаÑениÑ.\n</p>\n<p>\n\t5.4. ÐездейÑÑвие Ñо ÑÑоÑÐ¾Ð½Ñ ÐладелÑÑа СайÑа в ÑлÑÑае наÑÑÑÐµÐ½Ð¸Ñ ÐолÑзоваÑелем либо инÑми полÑзоваÑелÑми положений\n\tСоглаÑений не лиÑÐ°ÐµÑ ÐладелÑÑа СайÑа пÑава пÑедпÑинÑÑÑ ÑооÑвеÑÑÑвÑÑÑие дейÑÑÐ²Ð¸Ñ Ð² заÑиÑÑ ÑвоиÑ
инÑеÑеÑов позднее, а\n\tÑакже не ознаÑÐ°ÐµÑ Ð¾Ñказа ÐладелÑÑа СайÑа Ð¾Ñ ÑвоиÑ
пÑав в ÑлÑÑае ÑовеÑÑÐµÐ½Ð¸Ñ Ð² поÑледÑÑÑем подобнÑÑ
либо ÑÑ
однÑÑ
\n\tнаÑÑÑений.\n</p>\n<p>\n\t5.5. ÐÑинÑÑие СоглаÑÐµÐ½Ð¸Ñ ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм ÑÑловием Ð´Ð»Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¡Ð°Ð¹Ñа: пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ Ð¿Ð¾Ð»ÑзоваÑÑÑÑ Ð¡Ð°Ð¹Ñом,\n\tÐолÑзоваÑÐµÐ»Ñ Ð²ÑÑÐ°Ð¶Ð°ÐµÑ ÑоглаÑие Ñ Ð½Ð°ÑÑоÑÑим СоглаÑением.\n</p>\n<p>\n\t5.6. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа оÑÑавлÑÐµÑ Ð·Ð° Ñобой пÑаво вноÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² наÑÑоÑÑее СоглаÑение.\n</p>\n<p>\n\t5.7. ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¡Ð°Ð¹Ñа впÑаве в лÑбое вÑÐµÐ¼Ñ Ð² одноÑÑоÑоннем поÑÑдке изменÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð½Ð°ÑÑоÑÑего СоглаÑениÑ. Такие\n\tÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑÑÑпаÑÑ Ð² ÑÐ¸Ð»Ñ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа ÑазмеÑÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ веÑÑии СоглаÑÐµÐ½Ð¸Ñ Ð½Ð° ÑайÑе. ÐÑи неÑоглаÑии ÐолÑзоваÑÐµÐ»Ñ Ñ\n\tвнеÑеннÑми изменениÑми он обÑзан оÑказаÑÑÑÑ Ð¾Ñ Ð´Ð¾ÑÑÑпа к СайÑÑ, пÑекÑаÑиÑÑ Ð¸ÑполÑзование маÑеÑиалов и ÑеÑвиÑов СайÑа.\n</p>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>
2\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},7865:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_brand">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\n\t\t\t<main class="page-layout__page">\n <div class="page page-where-to-buy">\n \n\n\n\n<ul\n class="breadcrumbs breadcrumbs_light"\n >\n <li class="breadcrumbs__item"><a\n href="main.html"\n class="breadcrumbs__link breadcrumbs__link_type_home"\n ><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-home"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-home" /></svg></a></li><li class="breadcrumbs__item"><svg\n aria-hidden="true"\n class="svg-icon breadcrumbs__icon-arrow"\n\t \t><use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right-sm" /></svg><a\n href="where-to-buy.html"\n class="breadcrumbs__link breadcrumbs__link_type_current"\n >Ðде кÑпиÑÑ</a></li></ul>\n\n \n\n\n<section\n class="where-to-buy "\n\t>\n <h1 class="where-to-buy__title">\n Ðде кÑпиÑÑ\n </h1>\n\n <div class="where-to-buy__content">\n <div class="where-to-buy__text">\n <p>\n С пÑовеÑеннÑми пÑодÑкÑами гоÑовиÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие.\n Ðни не подведÑÑ, они гаÑанÑиÑÑÑÑ ÑезÑлÑÑаÑ.\n Ðменно поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ вдоÑ
новлÑÑÑ Ð½Ð° новÑе кÑлинаÑнÑе ÑвеÑÑениÑ.\n </p>\n </div>\n\n \n\n\n \n<div\n class="partners partners_primary where-to-buy__partners"\n >\n <div class="partners__list">\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/ozon.svg" />\n </div>\n <div class="partners__item">\n <img class="partners__item-logo" src="/assets/images/partners/igooods.svg" />\n </div>\n </div>\n <div class="partners__gradient"></div>\n</div>\n\n <div class="where-to-buy__image">\n <img src="/assets/images/partners/where-to-buy-bg.webp" alt="">\n </div>\n </div>\n</section>\n </div>\n\t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">
2\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},1662:e=>{"use strict";e.exports="\n\n\n\n<div\n class=\"cookie-modal js-cookie-modal\"\n >\n <div class=\"cookie-modal__close js-cookie-modal-close\">\n \n\n\t\n<svg\n aria-hidden=\"true\"\n class=\"svg-icon cookie-modal__close-icon\"\n\t \t>\n <use xlink:href=\"/assets/images/sprites/sprite.svg#icon-close\" />\n</svg>\n </div>\n\n <div class=\"cookie-modal__content\">\n <h3 class=\"cookie-modal__title\">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class=\"cookie-modal__text\">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href=\"privacy-policy.html\">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass=\"button button_theme_primary cookie-modal__button js-cookie-modal-accept\"\n type=\"button\"\n \n\t >
2\n\n <span class=\"button__text\">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src=\"https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || 'ru';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = '6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: 'ÐÑпÑавиÑÑ',\n rules: 'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href=\"privacy-policy.html\">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>',\n serverError: 'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже',\n placeholder: {\n name: 'ÐаÑе Ð¸Ð¼Ñ *',\n email: 'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *',\n phone: 'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *',\n theme: 'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *',\n message: 'ÐведиÑе ваÑе ÑообÑение',\n },\n error: {\n required: 'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ', // 'This field is required'\n email: 'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ', // 'Invalid email address format'\n alpha: 'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ', // 'The field can contain only letters'\n },\n infoPanelText: 'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ',\n infoPanelTitle: 'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии',\n recapthaText: 'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href=\"https://policies.google.com/privacy\">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href=\"https://policies.google.com/terms\">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.',\n successText: 'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.',\n successTitle: 'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение'\n },\n options: [\n { value: 'quality', caption: 'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии', info: true },\n { value: 'question', caption: 'ÐопÑоÑ' },\n { value: 'gratitude', caption: 'ÐлагодаÑноÑÑÑ' },\n { value: 'offer', caption: 'ÐÑедложение' },\n ],\n };\n<\/script>\n"},8176:e=>{"use strict";e.exports='<head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n'},5795:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n <head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n <body>\n \n\t\t<div class="page-layout page-layout_brand">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n\t\t\t<main class="page-layout__page">\n \t\t\t</main>\n\n \n<footer class="footer">\n <div class="footer__body">\n <div class="footer__corporate">\n <a class="footer__logo" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n <div class="footer__copyright">\n <div class="footer__copyright-top">\n <a href="privacy-policy.html">ÐолиÑика конÑиденÑиалÑноÑÑи</a>\n </div>\n <div class="footer__copyright-top">\n <a href="user-agreement.html">ÐолÑзоваÑелÑÑкое ÑоглаÑение</a>\n </div>\n <div class="footer__copyright-bottom">\n © 2024 ÐÐР«Ðкомилк»\n </div>\n </div>\n </div>\n <div class="footer__info">\n <div class="footer__info-block">\n <div class="footer__title">\n ЦенÑÑалÑнÑй оÑÐ¸Ñ Â«Ðкомилк»\n </div>\n <div class="footer__address">\n г. ÐоÑква, Ñл. ÐеÑейÑкаÑ, д. 17, оÑÐ¸Ñ 213\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+74967717423">\n +7 (496) 771 74 23\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐР«ÐзеÑеÑкий молоÑнÑй комбнаÑ»\n </div>\n <div class="footer__address">\n ÐоÑковÑÐºÐ°Ñ Ð¾Ð±Ð»., ÐмиÑÑовÑкий Ñ-н, Ñ. ÐзеÑеÑкое, 7Ð\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (903) 589 72 73\n </a>\n </div>\n <div class="footer__info-block">\n <div class="footer__title">\n ÐÐÐ «ÐовоÑибиÑÑкий молоÑнÑй комбинаѻ\n </div>\n <div class="footer__address">\n г. ÐовоÑибиÑÑк, Ñл. СÑанÑионнаÑ, д. 2 к. 1\n </div>\n <a class="footer__mail" href="mailto:[email protected]">\n [email protected]\n </a>\n <a class="footer__phone" href="tel:+79035897273">\n +7 (383) 209 17 10\n </a>\n </div>\n </div>\n <div class="footer-socials footer__socials">\n <div class="footer-socials__text">\n ÐÑиÑоединÑйÑеÑÑ Ðº нам:\n </div>\n <div class="footer-socials__links">\n <a class="footer-socials__link" href="https://vk.com/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/vk.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n <a class="footer-socials__link" href="https://ok.ru/ecomilkru">\n <span class="footer-socials__link-icon">\n <img src="assets/images/footer/ok.svg" alt="social icon" loading="lazy">\n </span>\n </a>\n </div>\n </div>\n <div class="footer__bottom">\n <nav class="footer-navigation footer__bottom-navigation">\n <ul class="footer-navigation__menu-list">\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n <li class="footer-navigation__menu-item">\n <a class="footer-navigation__menu-link" href="where-to-buy.html">\n Ðде кÑпиÑÑ?\n </a>\n </li>\n </ul>\n </nav>\n <a class="footer__developer" href="https://artw.ru/" target="_blanc">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon footer__developer-logo"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-artw" />\n</svg>
2\n <span class="footer__developer-text">\n РазÑабоÑка ÑайÑа\n </span>\n </a>\n </div>\n </div>\n</footer>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n\t\t</div>\n\t</body>\n</html>\n'},4913:e=>{"use strict";e.exports='<!DOCTYPE html>\n<html lang="ru">\n<head>\n <meta charset="utf-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1.0"/>\n <meta http-equiv="x-ua-compatible" content="ie=edge"/>\n\n <title>Ðкомилк - оÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð¿ÑоизводиÑелÑ</title>\n\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Regular.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Medium.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-DemiBold.woff2" as="font" type="font/woff2" crossorigin>\n <link rel="preload" href="/assets/fonts/TTFirsNeue/TTFirsNeue-Bold.woff2" as="font" type="font/woff2" crossorigin>\n <script>
2\n (function() {\n var apiKey = window.PageData && window.PageData.apiKey ? window.PageData.apiKey : \'\';\n if (apiKey) {\n var script = document.createElement(\'script\');\n script.src = \'https://api-maps.yandex.ru/v3/?apikey=\' + encodeURIComponent(apiKey) + \'&lang=ru_RU\';\n script.async = true;\n document.head.appendChild(script);\n }\n })();\n <\/script>\n</head>\n\n<body>\n \n <div id="app" class="page-layout page-layout_fullpage js-full-page page-layout_brand">\n \n\n\n\n<header\n class="header header_theme_transparent js-header js-lock-padding"\n >\n <div class="mobile-screen header__mobile-screen js-mobile-screen">\n <div class="mobile-screen__container">\n <nav class="mobile-screen__menu">\n <ul class="mobile-screen__menu-list">\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="about.html"\n >\n Ркомпании\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="catalog.html"\n >\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="news.html"\n >\n ÐовоÑÑи\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="recipes.html"\n >\n РеÑепÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="where-to-buy.html"\n >\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="mobile-screen__menu-item">\n <a\n class="mobile-screen__menu-link js-mobile-menu-link"\n href="contacts.html"\n >\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n <a class="mobile-screen__phone" href=tel:+74957717423>\n +7 495 771-74-23\n </a>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light mobile-screen__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="header__container">\n <div class="header__body">\n <a href=tel:+74957717423 class="header__phone">\n +7 495 771-74-23\n </a>\n\n <nav class="header-menu header__menu">\n <ul class="header-menu__list">\n <li class="header-menu__item">\n <a class="header-menu__link" href="about.html">\n Ркомпании\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="catalog.html">\n ÐÑодÑкÑиÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="news.html">\n ÐовоÑÑи\n </a>\n </li>\n <li class="header-menu__item header-menu__item_logo">\n <a class="header-menu__link" href="main.html">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon header-menu__logo-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-logo" />\n</svg>\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="recipes.html">\n РеÑепÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="where-to-buy.html">\n Ðде кÑпиÑÑ\n </a>\n </li>\n <li class="header-menu__item">\n <a class="header-menu__link" href="contacts.html">\n ÐонÑакÑÑ\n </a>\n </li>\n </ul>\n </nav>\n\n \n\n\n \n<div\n class="language-buttons language-buttons_light header__language-buttons"\n >\n <a\n\n class="language-buttons__button "\n >
2\n <span class="language-buttons__button-text">ru</span>\n </a>\n </div>\n\n <div class="header-burger header__burger js-burger">\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n <span class="header-burger__stripe"></span>\n </div>\n </div>\n </div>\n</header>\n \n <main class="page-layout__page">\n </main>\n\n \n\n\n\n<div\n class="cookie-modal js-cookie-modal"\n >\n <div class="cookie-modal__close js-cookie-modal-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon cookie-modal__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </div>\n\n <div class="cookie-modal__content">\n <h3 class="cookie-modal__title">ÐÑ Ð¸ÑполÑзÑем cookie â ÑайлÑ</h3>\n\n <p class="cookie-modal__text">\n Ðни помогаÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÐ°Ð¹Ñ Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей.\n ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑабоÑÑ Ñ ÑайÑом, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой Ñайлов cookie, в ÑооÑвеÑÑÑвии Ñ <a href="privacy-policy.html">ÐолиÑикой конÑиденÑиалÑноÑÑи</a>.\n </p>\n\n \n\n\n \n\n\t\n<button\n\tclass="button button_theme_primary cookie-modal__button js-cookie-modal-accept"\n type="button"\n \n\t >\n\n <span class="button__text">ÐонÑÑно</span>\n \n</button>\n </div>\n</div>\n\n<script src="https://www.google.com/recaptcha/api.js?onload=recapOnLoadCallBack&render=6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT" async defer><\/script>\n<script>\n window.PageData = window.PageData || {};\n window.PageData.lang = window.PageData?.lang || \'ru\';\n window.PageData.recaptchaLoaded = false;\n window.PageData.recaptchaKey = \'6Ldif30qAAAAAJEJfQKSkxzvfJ73Ts9be1Qt3pFT\';\n\n function recapOnLoadCallBack () {\n window.PageData.recaptchaLoaded = true;\n }\n\n // TODO: УдалиÑÑ Ð¿Ð¾Ñле инÑегÑаÑии Ñ Ð±Ñком\n window.PageData.feedbackForm = {\n translations: {\n btnText: \'ÐÑпÑавиÑÑ\',\n rules: \'ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ âÐÑпÑавиÑÑâ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ <a href="privacy-policy.html">ÐолиÑикой ÐонÑиденÑиалÑноÑÑи</a>\',\n serverError: \'УпÑ. ЧÑо-Ñо поÑло не Ñак, попÑобÑйÑе позже\',\n placeholder: {\n name: \'ÐаÑе Ð¸Ð¼Ñ *\',\n email: \'ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа *\',\n phone: \'ÐÐ¾Ð¼ÐµÑ ÑелеÑона *\',\n theme: \'ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ *\',\n message: \'ÐведиÑе ваÑе ÑообÑение\',\n },\n error: {\n required: \'Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\', // \'This field is required\'\n email: \'ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑа ÑлекÑÑонной поÑÑÑ\', // \'Invalid email address format\'\n alpha: \'Ðоле Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ\', // \'The field can contain only letters\'\n },\n infoPanelText: \'ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿Ð¾ каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑа, не вÑбÑаÑÑвайÑе ÑпаковкÑ\',\n infoPanelTitle: \'ÐбÑаÑение <br>по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\',\n recapthaText: \'ÐÑÐ¾Ñ ÑÐ°Ð¹Ñ Ð·Ð°ÑиÑен reCAPTCHA, и на него ÑаÑпÑоÑÑÑанÑÑÑÑÑ <a href="https://policies.google.com/privacy">ÐолиÑика конÑиденÑиалÑноÑÑи</a> и <a href="https://policies.google.com/terms">УÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ</a> Google.\',\n successText: \'Ðак ÑолÑко наÑи ÑпеÑиалиÑÑÑ Ñ Ð½Ð¸Ð¼ ознакомÑÑÑÑ,Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ по ÑказаннÑм конÑакÑнÑм даннÑм.\',\n successTitle: \'СпаÑибо,<br>Ð¼Ñ Ð¿Ð¾Ð»ÑÑили обÑаÑение\'\n },\n options: [\n { value: \'quality\', caption: \'ÐбÑаÑение по каÑеÑÑÐ²Ñ Ð¿ÑодÑкÑии\', info: true },\n { value: \'question\', caption: \'ÐопÑоÑ\' },\n { value: \'gratitude\', caption: \'ÐлагодаÑноÑÑÑ\' },\n { value: \'offer\', caption: \'ÐÑедложение\' },\n ],\n };\n<\/script>\n </div>\n</body>\n</html>\n'},7920:e=>{"use strict";e.exports='\n\n\n\n<ul\n class="breadcrumbs "\n >\n </ul>\n'},6346:e=>{"use strict";e.exports='\n\n\n \n\n\n<button\n\tclass="button button_theme_primary "\n type="button"\n \n\t>\n\n \n</button>\n'},2372:e=>{"use strict";e.exports='\n\n\n\n<div\n class="circle-brand-icon "\n >\n <img src="" alt="Ðконка" class="circle-brand-icon__picture">\n <img src="" alt="ÐÑенд" class="circle-brand-icon__text-icon">\n</div>\n'},9136:e=>{"use strict";e.exports='\n\n\n<svg\n aria-hidden="true"\n class="svg-icon"\n\t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-" />\n</svg>\n'},5450:e=>{"use strict";e.exports='\n\n\n\n<div\n class="number-item"\n >\n <div class="number-item__top">\n <span class="number-item__number"></span>\n </div>\n </div>\n'},1038:e=>{"use strict";e.exports='\n\n\n\n<div\n class="option-icon "\n >\n <span class="option-icon__caption"></span>\n</div>\n'},8494:e=>{"use strict";e.exports='\n\n\n<div\n class="pagination "\n >\n\t<div class="pagination__pages">\n\t\t<a href="#" class="pagination__round-link pagination__round-link_prev">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_active "\n >\n 1\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n "\n >\n 2\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_disabled "\n >\n ...\n </a>\n <a\n href="#"\n class="\n pagination__round-link\n pagination__round-link_hidden "\n >\n 5\n </a>\n \n\t\t<a href="#" class="pagination__round-link">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon pagination__icon-arrow"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-arrow-right" />\n</svg>\n\t\t</a>\n\t</div>\n\n\t<div class="pagination__more">\n\t \n\n\n\n\t\n\t\n<a\n\tclass="button button_theme_transparent-primary pagination__button"\n \n\t href="#"\n >
2\n\n <span class="button__text">ÐоказаÑÑ ÐµÑе 6</span>\n \n</a>\n\t</div>\n</div>\n'},3280:e=>{"use strict";e.exports='\n\n\n\n<div\n class="popup popup_type_ordinary"\n data-popup=""\n >\n <div class="popup__wrapper">\n <div class="popup__content">\n <button type="button" class="popup__close js-popup-close">\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon popup__close-icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-close" />\n</svg>\n </button>\n\n </div>\n </div>\n</div>\n'},1088:e=>{"use strict";e.exports='\n\n\n<div\n class="product-property "\n >\n <strong></strong>\n <span></span>\n</div>\n'},7544:e=>{"use strict";e.exports='\n\n\n<div\n class="promo-label "\n >\n \n</div>\n'},8072:e=>{"use strict";e.exports='\n\n\n\n\n\n<button\n\tclass="round-button round-button_theme_white "\n type="button"\n \n\t>\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon round-button__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-" />\n</svg>\n\n</button>\n'},204:e=>{"use strict";e.exports='\n\n\n<div\n class="switch-box"\n >\n <div class="switch-box__highlights js-switch-highlight"></div>\n </div>\n'},8104:e=>{"use strict";e.exports='\n\n\n<div\n class="video js-video"\n >\n <video\n class="video__player js-player"\n loop\n controls\n preload="auto"\n poster=""\n >\n </video>\n\n <div class="video__screen js-screen">\n <img\n class="video__screen-preview"\n src=""\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n\n <button\n class="video__play-button"\n type="button"\n >\n <img\n class="video__play-button-icon"\n src="/assets/images/promo-video/play.svg"\n alt="о наÑем пÑоизводÑÑве"\n loading="lazy"\n >\n </button>\n </div>\n</div>\n'},5056:e=>{"use strict";e.exports='\n\n\n<div\n class="video-tag"\n >\n \n\n\t\n<svg\n aria-hidden="true"\n class="svg-icon video-tag__icon"\n\t \t>\n <use xlink:href="/assets/images/sprites/sprite.svg#icon-play" />\n</svg>\n <div class="video-tag__caption">\n <span class="video-tag__caption-text video-tag__caption-text_desktop">\n \n </span>\n <span class="video-tag__caption-text video-tag__caption-text_mobile">\n \n </span>\n </div>\n</div>\n'},8579:(e,n,t)=>{"use strict";t.d(n,{A:()=>i});var s=t(3703);function i(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){new s.A(e,{slidesPerView:"auto",spaceBetween:12,watchOverflow:!0,speed:500,grabCursor:!0,breakpoints:{1024:{spaceBetween:24}}})}))}},8497:(e,n,t)=>{"use strict";t.d(n,{A:()=>r});var s=t(3703),i=t(6405),a=t(6303);
2function r(e){document.querySelectorAll(".".concat(e)).forEach((function(e){var n=e.querySelector('[data-popup-invoker="brands-filter"]');null==n||n.addEventListener("click",(function(){i.z.openPopup("brands-filter",300)}));var t=e.querySelector(".js-popup-close");null==t||t.addEventListener("click",(function(){i.z.closePopup("brands-filter",300)}));var r=e.querySelector(".js-brand-list-carousel-slider"),o=null;function l(){r&&a.BH.matches&&!o&&(o=new s.A(r,{observer:!0,observeParents:!0,observeSlideChildren:!0,slidesPerView:"auto",spaceBetween:12,watchOverflow:!0,speed:500,preloadImages:!1,grabCursor:!0,breakpoints:{1280:{spaceBetween:20}}}))}l(),window.addEventListener("resize",(function(){a.BH.matches?l():o&&(o.destroy(),o=null)}))}))}},897:()=>{},4705:(e,n,t)=>{"use strict";t.d(n,{A:()=>i});var s=t(3703);function i(e){var n=document.querySelector(".".concat(e));if(n){var t=n.querySelector(".js-slider"),i=n.querySelector(".js-scale"),a=n.querySelectorAll("[data-step]"),r=new s.A(t,{slidesPerView:1,spaceBetween:12,speed:500,allowTouchMove:!1});a.forEach((function(e){e.addEventListener("click",(function(n){n.preventDefault(),a.forEach((function(e){return e.classList.remove("isActive")})),e.classList.add("isActive");var t=e.getAttribute("data-step"),s=120*Number.parseInt(t);r.slideTo(Number(t)),i.scrollLeft=s}))}))}}},537:(e,n,t)=>{"use strict";t.d(n,{A:()=>d});var s=t(4289);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(){a=function(){return n};var e,n={},t=Object.prototype,s=t.hasOwnProperty,r=Object.defineProperty||function(e,n,t){e[n]=t.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function u(e,n,t){return Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[n]}try{u({},"")}catch(e){u=function(e,n,t){return e[n]=t}}function p(e,n,t,s){var i=n&&n.prototype instanceof b?n:b,a=Object.create(i.prototype),o=new P(s||[]);return r(a,"_invoke",{value:L(e,t,o)}),a}function h(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(e){return{type:"throw",arg:e}}}n.wrap=p;var m="suspendedStart",v="suspendedYield",g="executing",f="completed",_={};function b(){}function y(){}function w(){}var k={};u(k,l,(function(){return this}));var T=Object.getPrototypeOf,E=T&&T(T(D([])));E&&E!==t&&s.call(E,l)&&(k=E);var x=w.prototype=b.prototype=Object.create(k);function S(e){["next","throw","return"].forEach((function(n){u(e,n,(function(e){return this._invoke(n,e)}))}))}function A(e,n){function t(a,r,o,l){var c=h(e[a],e,r);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==i(u)&&s.call(u,"__await")?n.resolve(u.__await).then((function(e){t("next",e,o,l)}),(function(e){t("throw",e,o,l)})):n.resolve(u).then((function(e){d.value=e,o(d)}),(function(e){return t("throw",e,o,l)}))}l(c.arg)}var a;r(this,"_invoke",{value:function(e,s){function i(){return new n((function(n,i){t(e,s,n,i)}))}return a=a?a.then(i,i):i()}})}function L(n,t,s){var i=m;return function(a,r){if(i===g)throw Error("Generator is already running");if(i===f){if("throw"===a)throw r;return{value:e,done:!0}}for(s.method=a,s.arg=r;;){var o=s.delegate;if(o){var l=C(o,s);if(l){if(l===_)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===m)throw i=f,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=g;var c=h(n,t,s);if("normal"===c.type){if(i=s.done?f:v,c.arg===_)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=f,s.method="throw",s.arg=c.arg)}}}function C(n,t){var s=t.method,i=n.iterator[s];if(i===e)return t.delegate=null,"throw"===s&&n.iterator.return&&(t.method="return",t.arg=e,C(n,t),"throw"===t.method)||"return"!==s&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+s+"' method")),_;var a=h(i,n.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,_;var r=a.arg;return r?r.done?(t[n.resultName]=r.value,t.next=n.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,_):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function R(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function I(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function D(n){if(n||""===n){var t=n[l];if(t)return t.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var a=-1,r=function t(){for(;++a<n.length;)if(s.call(n,a))return t.value=n[a],t.done=!1,t;return t.value=e,t.done=!0,t};return r.next=r}}throw new TypeError(i(n)+" is not iterable")}return y.prototype=w,r(x,"constructor",{value:w,configurable:!0}),r(w,"constructor",{value:y,configurable:!0}),y.displayName=u(w,d,"GeneratorFunction"),n.isGeneratorFunction=function(e){var n="function"==typeof e&&e.constructor;return!!n&&(n===y||"GeneratorFunction"===(n.displayName||n.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,u(e,d,"GeneratorFunction")),e.prototype=Object.create(x),e},n.awrap=function(e){return{__await:e}},S(A.prototype),u(A.prototype,c,(function(){return this})),n.AsyncIterator=A,n.async=function(e,t,s,i,a){void 0===a&&(a=Promise);var r=new A(p(e,t,s,i),a);return n.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},S(x),u(x,d,"Generator"),u(x,l,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),n.keys=function(e){var n=Object(e),t=[];for(var s in n)t.push(s);return t.reverse(),function e(){for(;t.length;){var s=t.pop();if(s in n)return e.value=s,e.done=!1,e}return e.done=!0,e}},n.values=D,P.prototype={constructor:P,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEac
2h(I),!n)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var t=this;function i(s,i){return o.type="throw",o.arg=n,t.next=s,i&&(t.method="next",t.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a],o=r.completion;if("root"===r.tryLoc)return i("end");if(r.tryLoc<=this.prev){var l=s.call(r,"catchLoc"),c=s.call(r,"finallyLoc");if(l&&c){if(this.prev<r.catchLoc)return i(r.catchLoc,!0);if(this.prev<r.finallyLoc)return i(r.finallyLoc)}else if(l){if(this.prev<r.catchLoc)return i(r.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return i(r.finallyLoc)}}}},abrupt:function(e,n){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=n&&n<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=e,r.arg=n,a?(this.method="next",this.next=a.finallyLoc,_):this.complete(r)},complete:function(e,n){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&n&&(this.next=n),_},finish:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),I(t),_}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var s=t.completion;if("throw"===s.type){var i=s.arg;I(t)}return i}}throw Error("illegal catch attempt")},delegateYield:function(n,t,s){return this.delegate={iterator:D(n),resultName:t,nextLoc:s},"next"===this.method&&(this.arg=e),_}},n}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);n&&(s=s.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,s)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n,t){return(n=function(e){var n=function(e){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=i(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n,t,s,i,a,r){try{var o=e[a](r),l=o.value}catch(e){return void t(e)}o.done?n(l):Promise.resolve(l).then(s,i)}function d(){return u.apply(this,arguments)}function u(){var e;return e=a().mark((function e(){var n,t,i,r,l,c,d,u,p,h,m,v,g,f,_,b,y;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(f=function(e){var n={center:e,zoom:c};v.update({location:o(o({},n),{},{duration:400})})},g=function(e){var n={center:e,zoom:c},t=document.createElement("img");t.src=i,t.onclick=function(){return v.update({location:o(o({},n),{},{duration:400})})};var s=document.createElement("div");return s.appendChild(t),s.style.height="79px",s.style.width="64px",s.style.position="relative",s.style.top="-60px",s.style.left="-24px",new h({coordinates:e,mapFollowsOnDrag:!0},s)},n=document.querySelector(".js-contacts")){e.next=5;break}return e.abrupt("return");case 5:if(t=new s.A(".js-contacts-switch-box"),i=n.getAttribute("data-pin"),r=[37.443703,55.710661],l=[37.3955,56.063273],c=16,n&&t){e.next=12;break}return e.abrupt("return");case 12:return e.next=14,ymaps3.ready;case 14:d=ymaps3,u=d.YMap,p=d.YMapDefaultSchemeLayer,h=d.YMapMarker,m=d.YMapDefaultFeaturesLayer,v=new u(document.getElementById("map-container"),{location:{center:r,zoom:c}},[new p,new m]),_=g(r),b=g(l),v.addChild(_),v.addChild(b),y=n.querySelectorAll(".js-contacts-tab"),t.element.addEventListener("change",(function(e){var t=e.detail;
2y.forEach((function(e){return e.classList.remove("isActive")}));var s=n.querySelector('[data-id="'.concat(t,'"]'));s&&(s.classList.add("isActive"),f("contacts-office"===t?r:l))}));case 22:case"end":return e.stop()}}),e)})),u=function(){var n=this,t=arguments;return new Promise((function(s,i){var a=e.apply(n,t);function r(e){c(a,s,i,r,o,"next",e)}function o(e){c(a,s,i,r,o,"throw",e)}r(void 0)}))},u.apply(this,arguments)}},4865:(e,n,t)=>{"use strict";function s(e){var n=document.querySelector(".".concat(e));if(n)if(document.cookie.includes("ecomilk=cookie%20accepted"))n.remove();else{n.classList.add("isOpen");var t=n.querySelector(".js-cookie-modal-accept");null==t||t.addEventListener("click",(function(){n.classList.remove("isOpen"),setTimeout((function(){n.remove()}),500),document.cookie="".concat(encodeURIComponent("ecomilk"),"=").concat(encodeURIComponent("cookie accepted"),"; max-age=630720000; path=/")}));var s=n.querySelector(".js-cookie-modal-close");null==s||s.addEventListener("click",(function(){n.classList.remove("isOpen")})),document.addEventListener("keydown",(function(e){27===e.which&&n.classList.remove("isOpen")}))}}t.d(n,{A:()=>s})},4805:(e,n,t)=>{"use strict";var s={};t.r(s),t.d(s,{alpha:()=>$c,alpha_dash:()=>Uc,alpha_num:()=>Gc,alpha_spaces:()=>qc,between:()=>Vc,confirmed:()=>Hc,digits:()=>Wc,dimensions:()=>Xc,double:()=>Ld,email:()=>Qc,excluded:()=>sd,ext:()=>id,image:()=>ad,integer:()=>rd,is:()=>od,is_not:()=>ld,length:()=>cd,max:()=>ud,max_value:()=>hd,mimes:()=>md,min:()=>gd,min_value:()=>_d,numeric:()=>wd,oneOf:()=>td,regex:()=>Td,required:()=>Ed,required_if:()=>Sd,size:()=>Ad});var i=Object.freeze({}),a=Array.isArray;function r(e){return null==e}function o(e){return null!=e}function l(e){return!0===e}function c(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function d(e){return"function"==typeof e}function u(e){return null!==e&&"object"==typeof e}var p=Object.prototype.toString;function h(e){return"[object Object]"===p.call(e)}function m(e){var n=parseFloat(String(e));return n>=0&&Math.floor(n)===n&&isFinite(e)}function v(e){return o(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function g(e){return null==e?"":Array.isArray(e)||h(e)&&e.toString===p?JSON.stringify(e,f,2):String(e)}function f(e,n){return n&&n.__v_isRef?n.value:n}function _(e){var n=parseFloat(e);return isNaN(n)?e:n}function b(e,n){for(var t=Object.create(null),s=e.split(","),i=0;i<s.length;i++)t[s[i]]=!0;return n?function(e){return t[e.toLowerCase()]}:function(e){return t[e]}}var y=b("slot,component",!0),w=b("key,ref,slot,slot-scope,is");function k(e,n){var t=e.length;if(t){if(n===e[t-1])return void(e.length=t-1);var s=e.indexOf(n);if(s>-1)return e.splice(s,1)}}var T=Object.prototype.hasOwnProperty;function E(e,n){return T.call(e,n)}function x(e){var n=Object.create(null);return function(t){return n[t]||(n[t]=e(t))}}var S=/-(\w)/g,A=x((function(e){return e.replace(S,(function(e,n){return n?n.toUpperCase():""}))})),L=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),C=/\B([A-Z])/g,R=x((function(e){return e.replace(C,"-$1").toLowerCase()})),I=Function.prototype.bind?function(e,n){return e.bind(n)}:function(e,n){function t(t){var s=arguments.length;return s?s>1?e.apply(n,arguments):e.call(n,t):e.call(n)}return t._length=e.length,t};function P(e,n){n=n||0;for(var t=e.length-n,s=new Array(t);t--;)s[t]=e[t+n];return s}function D(e,n){for(var t in n)e[t]=n[t];return e}function O(e){for(var n={},t=0;t<e.length;t++)e[t]&&D(n,e[t]);return n}function M(e,n,t){}var F=function(e,n,t){return!1},N=function(e){return e};function $(e,n){if(e===n)return!0;var t=u(e),s=u(n);if(!t||!s)return!t&&!s&&String(e)===String(n);try{var i=Array.isArray(e),a=Array.isArray(n);if(i&&a)return e.length===n.length&&e.every((function(e,t){return $(e,n[t])}));if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(i||a)return!1;var r=Object.keys(e),o=Object.keys(n);return r.length===o.length&&r.every((function(t){return $(e[t],n[t])}))}catch(e){return!1}}function B(e,n){for(var t=0;t<e.length;t++)if($(e[t],n))return t;return-1}function U(e){var n=!1;
2return function(){n||(n=!0,e.apply(this,arguments))}}var j="data-server-rendered",G=["component","directive","filter"],z=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],q={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:F,isReservedAttr:F,isUnknownElement:F,getTagNamespace:M,parsePlatformTagName:N,mustUseProp:F,async:!0,_lifecycleHooks:z},K=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function V(e){var n=(e+"").charCodeAt(0);return 36===n||95===n}function H(e,n,t,s){Object.defineProperty(e,n,{value:t,enumerable:!!s,writable:!0,configurable:!0})}var Y=new RegExp("[^".concat(K.source,".$_\\d]")),W="__proto__"in{},X="undefined"!=typeof window,Q=X&&window.navigator.userAgent.toLowerCase(),J=Q&&/msie|trident/.test(Q),Z=Q&&Q.indexOf("msie 9.0")>0,ee=Q&&Q.indexOf("edge/")>0;Q&&Q.indexOf("android");var ne=Q&&/iphone|ipad|ipod|ios/.test(Q);Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q);var te,se=Q&&Q.match(/firefox\/(\d+)/),ie={}.watch,ae=!1;if(X)try{var re={};Object.defineProperty(re,"passive",{get:function(){ae=!0}}),window.addEventListener("test-passive",null,re)}catch(e){}var oe=function(){return void 0===te&&(te=!X&&void 0!==t.g&&t.g.process&&"server"===t.g.process.env.VUE_ENV),te},le=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ce(e){return"function"==typeof e&&/native code/.test(e.toString())}var de,ue="undefined"!=typeof Symbol&&ce(Symbol)&&"undefined"!=typeof Reflect&&ce(Reflect.ownKeys);de="undefined"!=typeof Set&&ce(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var pe=null;function he(e){void 0===e&&(e=null),e||pe&&pe._scope.off(),pe=e,e&&e._scope.on()}var me=function(){function e(e,n,t,s,i,a,r,o){this.tag=e,this.data=n,this.children=t,this.text=s,this.elm=i,this.ns=void 0,this.context=a,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=n&&n.key,this.componentOptions=r,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=o,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),ve=function(e){void 0===e&&(e="");var n=new me;return n.text=e,n.isComment=!0,n};function ge(e){return new me(void 0,void 0,void 0,String(e))}function fe(e){var n=new me(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return n.ns=e.ns,n.isStatic=e.isStatic,n.key=e.key,n.isComment=e.isComment,n.fnContext=e.fnContext,n.fnOptions=e.fnOptions,n.fnScopeId=e.fnScopeId,n.asyncMeta=e.asyncMeta,n.isCloned=!0,n}"function"==typeof SuppressedError&&SuppressedError;var _e=0,be=[],ye=function(){for(var e=0;e<be.length;e++){var n=be[e];n.subs=n.subs.filter((function(e){return e})),n._pending=!1}be.length=0},we=function(){function e(){this._pending=!1,this.id=_e++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,be.push(this))}
vendor: 4,707 bytes, line 2
2,e.prototype.depend=function(n){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){for(var n=this.subs.filter((function(e){return e})),t=0,s=n.length;t<s;t++)n[t].update()},e}();we.target=null;var ke=[];function Te(e){ke.push(e),we.target=e}function Ee(){ke.pop(),we.target=ke[ke.length-1]}var xe=Array.prototype,Se=Object.create(xe);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(e){var n=xe[e];H(Se,e,(function(){for(var t=[],s=0;s<arguments.length;s++)t[s]=arguments[s];var i,a=n.apply(this,t),r=this.__ob__;switch(e){case"push":case"unshift":i=t;break;case"splice":i=t.slice(2)}return i&&r.observeArray(i),r.dep.notify(),a}))}));var Ae=Object.getOwnPropertyNames(Se),Le={},Ce=!0;function Re(e){Ce=e}var Ie={notify:M,depend:M,addSub:M,removeSub:M},Pe=function(){function e(e,n,t){if(void 0===n&&(n=!1),void 0===t&&(t=!1),this.value=e,this.shallow=n,this.mock=t,this.dep=t?Ie:new we,this.vmCount=0,H(e,"__ob__",this),a(e)){if(!t)if(W)e.__proto__=Se;else for(var s=0,i=Ae.length;s<i;s++)H(e,o=Ae[s],Se[o]);n||this.observeArray(e)}else{var r=Object.keys(e);for(s=0;s<r.length;s++){var o;Oe(e,o=r[s],Le,void 0,n,t)}}}return e.prototype.observeArray=function(e){for(var n=0,t=e.length;n<t;n++)De(e[n],!1,this.mock)},e}();function De(e,n,t){return e&&E(e,"__ob__")&&e.__ob__ instanceof Pe?e.__ob__:!Ce||!t&&oe()||!a(e)&&!h(e)||!Object.isExtensible(e)||e.__v_skip||Ue(e)||e instanceof me?void 0:new Pe(e,n,t)}function Oe(e,n,t,s,i,r,o){void 0===o&&(o=!1);var l=new we,c=Object.getOwnPropertyDescriptor(e,n);if(!c||!1!==c.configurable){var d=c&&c.get,u=c&&c.set;d&&!u||t!==Le&&2!==arguments.length||(t=e[n]);var p=i?t&&t.__ob__:De(t,!1,r);return Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){var n=d?d.call(e):t;return we.target&&(l.depend(),p&&(p.dep.depend(),a(n)&&Ne(n))),Ue(n)&&!i?n.value:n},set:function(n){var s,a,o=d?d.call(e):t;if((s=o)===(a=n)?0===s&&1/s!=1/a:s==s||a==a){if(u)u.call(e,n);else{if(d)return;if(!i&&Ue(o)&&!Ue(n))return void(o.value=n);t=n}p=i?n&&n.__ob__:De(n,!1,r),l.notify()}}}),l}}function Me(e,n,t){if(!Be(e)){var s=e.__ob__;return a(e)&&m(n)?(e.length=Math.max(e.length,n),e.splice(n,1,t),s&&!s.shallow&&s.mock&&De(t,!1,!0),t):n in e&&!(n in Object.prototype)?(e[n]=t,t):e._isVue||s&&s.vmCount?t:s?(Oe(s.value,n,t,void 0,s.shallow,s.mock),s.dep.notify(),t):(e[n]=t,t)}}function Fe(e,n){if(a(e)&&m(n))e.splice(n,1);else{var t=e.__ob__;e._isVue||t&&t.vmCount||Be(e)||E(e,n)&&(delete e[n],t&&t.dep.notify())}}function Ne(e){for(var n=void 0,t=0,s=e.length;t<s;t++)(n=e[t])&&n.__ob__&&n.__ob__.dep.depend(),a(n)&&Ne(n)}function $e(e){return function(e,n){Be(e)||De(e,n,oe())}(e,!0),H(e,"__v_isShallow",!0),e}function Be(e){return!(!e||!e.__v_isReadonly)}function Ue(e){return!(!e||!0!==e.__v_isRef)}function je(e,n,t){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var e=n[t];if(Ue(e))return e.value;var s=e&&e.__ob__;return s&&s.dep.depend(),e},set:function(e){var s=n[t];Ue(s)&&!Ue(e)?s.value=e:n[t]=e}})}var Ge=x((function(e){var n="&"===e.charAt(0),t="~"===(e=n?e.slice(1):e).charAt(0),s="!"===(e=t?e.slice(1):e).charAt(0);return{name:e=s?e.slice(1):e,once:t,capture:s,passive:n}}));function ze(e,n){function t(){var e=t.fns;if(!a(e))return et(e,null,arguments,n,"v-on handler");for(var s=e.slice(),i=0;i<s.length;i++)et(s[i],null,arguments,n,"v-on handler")}return t.fns=e,t}function qe(e,n,t,s,i,a){var o,c,d,u;for(o in e)c=e[o],d=n[o],u=Ge(o),r(c)||(r(d)?(r(c.fns)&&(c=e[o]=ze(c,a)),l(u.once)&&(c=e[o]=i(u.name,c,u.capture)),t(u.name,c,u.capture,u.passive,u.params)):c!==d&&(d.fns=c,e[o]=d));for(o in n)r(e[o])&&s((u=Ge(o)).name,n[o],u.capture)}function Ke(e,n,t){var s;e instanceof me&&(e=e.data.hook||(e.data.hook={}));var i=e[n];function a(){t.apply(this,arguments),k(s.fns,a)}r(i)?s=ze([a]):o(i.fns)&&l(i.merged)?(s=i).fns.push(a):s=ze([i,a]),s.merged=!0,e[n]=s}function Ve(e,n,t,s,i){if(o(n)){if(E(n,t))return e[t]=n[t],i||delete n[t],!0;if(E(n,s))return e[t]=n[s],i||delete n[s],!0}return!1}function He(e){return c(e)?[ge(e)]:a(e)?We(e):void 0}function Ye(e){return o(e)&&o(e.text)&&!1===e.isComment}function We(e,n){var t,s,i,d,u=[];for(t=0;t<e.length;t++)r(s=e[t])||"boolean"==typeof s||(d=u[i=u.length-1],a(s)?s.length>0&&(Ye((s=We(s,"".concat(n||"","_").concat(t)))[0])&&Ye(d)&&(u[i]=ge(d.text+s[0].text),s.shift()),u.push.apply(u,s)):c(s)?Ye(d)?u[i]=ge(d.text+s):""!==s&&u.push(ge(s)):Ye(s)&&Ye(d)?u[i]=ge(d.text+s.text):(l(e._isVList)&&o(s.tag)&&r(s.key)&&o(n)&&(s.key="__vlist".concat(n,"_").concat(t,"__")),u.push(s)));return u}var Xe=1,Qe=2;function Je(e,n,t,s,i,r){return(a(t)||c(t))&&(i=s,s=t,t=void 0),l(r)&&(i=Qe),function(e,n,t,s,i){if(o(t)&&o(t.__ob__))return ve();
vendor: 4,427 bytes, line 2
2if(o(t)&&o(t.is)&&(n=t.is),!n)return ve();var r,l;if(a(s)&&d(s[0])&&((t=t||{}).scopedSlots={default:s[0]},s.length=0),i===Qe?s=He(s):i===Xe&&(s=function(e){for(var n=0;n<e.length;n++)if(a(e[n]))return Array.prototype.concat.apply([],e);return e}(s)),"string"==typeof n){var c=void 0;l=e.$vnode&&e.$vnode.ns||q.getTagNamespace(n),r=q.isReservedTag(n)?new me(q.parsePlatformTagName(n),t,s,void 0,void 0,e):t&&t.pre||!o(c=Vt(e.$options,"components",n))?new me(n,t,s,void 0,void 0,e):Ft(c,t,e,s,n)}else r=Ft(n,t,e,s);return a(r)?r:o(r)?(o(l)&&Ze(r,l),o(t)&&function(e){u(e.style)&&vt(e.style),u(e.class)&&vt(e.class)}(t),r):ve()}(e,n,t,s,i)}function Ze(e,n,t){if(e.ns=n,"foreignObject"===e.tag&&(n=void 0,t=!0),o(e.children))for(var s=0,i=e.children.length;s<i;s++){var a=e.children[s];o(a.tag)&&(r(a.ns)||l(t)&&"svg"!==a.tag)&&Ze(a,n,t)}}function en(e,n){var t,s,i,r,l=null;if(a(e)||"string"==typeof e)for(l=new Array(e.length),t=0,s=e.length;t<s;t++)l[t]=n(e[t],t);else if("number"==typeof e)for(l=new Array(e),t=0;t<e;t++)l[t]=n(t+1,t);else if(u(e))if(ue&&e[Symbol.iterator]){l=[];for(var c=e[Symbol.iterator](),d=c.next();!d.done;)l.push(n(d.value,l.length)),d=c.next()}else for(i=Object.keys(e),l=new Array(i.length),t=0,s=i.length;t<s;t++)r=i[t],l[t]=n(e[r],r,t);return o(l)||(l=[]),l._isVList=!0,l}function nn(e,n,t,s){var i,a=this.$scopedSlots[e];a?(t=t||{},s&&(t=D(D({},s),t)),i=a(t)||(d(n)?n():n)):i=this.$slots[e]||(d(n)?n():n);var r=t&&t.slot;return r?this.$createElement("template",{slot:r},i):i}function tn(e){return Vt(this.$options,"filters",e)||N}function sn(e,n){return a(e)?-1===e.indexOf(n):e!==n}function an(e,n,t,s,i){var a=q.keyCodes[n]||t;return i&&s&&!q.keyCodes[n]?sn(i,s):a?sn(a,e):s?R(s)!==n:void 0===e}function rn(e,n,t,s,i){if(t&&u(t)){a(t)&&(t=O(t));var r=void 0,o=function(a){if("class"===a||"style"===a||w(a))r=e;else{var o=e.attrs&&e.attrs.type;r=s||q.mustUseProp(n,o,a)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var l=A(a),c=R(a);l in r||c in r||(r[a]=t[a],i&&((e.on||(e.on={}))["update:".concat(a)]=function(e){t[a]=e}))};for(var l in t)o(l)}return e}function on(e,n){var t=this._staticTrees||(this._staticTrees=[]),s=t[e];return s&&!n||cn(s=t[e]=this.$options.staticRenderFns[e].call(this._renderProxy,this._c,this),"__static__".concat(e),!1),s}function ln(e,n,t){return cn(e,"__once__".concat(n).concat(t?"_".concat(t):""),!0),e}function cn(e,n,t){if(a(e))for(var s=0;s<e.length;s++)e[s]&&"string"!=typeof e[s]&&dn(e[s],"".concat(n,"_").concat(s),t);else dn(e,n,t)}function dn(e,n,t){e.isStatic=!0,e.key=n,e.isOnce=t}function un(e,n){if(n&&h(n)){var t=e.on=e.on?D({},e.on):{};for(var s in n){var i=t[s],a=n[s];t[s]=i?[].concat(i,a):a}}return e}function pn(e,n,t,s){n=n||{$stable:!t};for(var i=0;i<e.length;i++){var r=e[i];a(r)?pn(r,n,t):r&&(r.proxy&&(r.fn.proxy=!0),n[r.key]=r.fn)}return s&&(n.$key=s),n}function hn(e,n){for(var t=0;t<n.length;t+=2){var s=n[t];"string"==typeof s&&s&&(e[n[t]]=n[t+1])}return e}function mn(e,n){return"string"==typeof e?n+e:e}function vn(e){e._o=ln,e._n=_,e._s=g,e._l=en,e._t=nn,e._q=$,e._i=B,e._m=on,e._f=tn,e._k=an,e._b=rn,e._v=ge,e._e=ve,e._u=pn,e._g=un,e._d=hn,e._p=mn}function gn(e,n){if(!e||!e.length)return{};for(var t={},s=0,i=e.length;s<i;s++){var a=e[s],r=a.data;if(r&&r.attrs&&r.attrs.slot&&delete r.attrs.slot,a.context!==n&&a.fnContext!==n||!r||null==r.slot)(t.default||(t.default=[])).push(a);else{var o=r.slot,l=t[o]||(t[o]=[]);"template"===a.tag?l.push.apply(l,a.children||[]):l.push(a)}}for(var c in t)t[c].every(fn)&&delete t[c];return t}function fn(e){return e.isComment&&!e.asyncFactory||" "===e.text}function _n(e){return e.isComment&&e.asyncFactory}function bn(e,n,t,s){var a,r=Object.keys(t).length>0,o=n?!!n.$stable:!r,l=n&&n.$key;if(n){if(n._normalized)return n._normalized;if(o&&s&&s!==i&&l===s.$key&&!r&&!s.$hasNormal)return s;for(var c in a={},n)n[c]&&"$"!==c[0]&&(a[c]=yn(e,t,c,n[c]))}else a={};for(var d in t)d in a||(a[d]=wn(t,d));return n&&Object.isExtensible(n)&&(n._normalized=a),H(a,"$stable",o),H(a,"$key",l),H(a,"$hasNormal",r),a}function yn(e,n,t,s){var i=function(){var n=pe;he(e);var t=arguments.length?s.apply(null,arguments):s({}),i=(t=t&&"object"==typeof t&&!a(t)?[t]:He(t))&&t[0];return he(n),t&&(!i||1===t.length&&i.isComment&&!_n(i))?void 0:t};return s.proxy&&Object.defineProperty(n,t,{get:i,enumerable:!0,configurable:!0}),i}function wn(e,n){return function(){return e[n]}}function kn(e,n,t,s,i){var a=!1;
vendor: 7,257 bytes, line 2
2for(var r in n)r in e?n[r]!==t[r]&&(a=!0):(a=!0,Tn(e,r,s,i));for(var r in e)r in n||(a=!0,delete e[r]);return a}function Tn(e,n,t,s){Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){return t[s][n]}})}function En(e,n){for(var t in n)e[t]=n[t];for(var t in e)t in n||delete e[t]}var xn,Sn,An=null;function Ln(e,n){return(e.__esModule||ue&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?n.extend(e):e}function Cn(e){if(a(e))for(var n=0;n<e.length;n++){var t=e[n];if(o(t)&&(o(t.componentOptions)||_n(t)))return t}}function Rn(e,n){xn.$on(e,n)}function In(e,n){xn.$off(e,n)}function Pn(e,n){var t=xn;return function s(){null!==n.apply(null,arguments)&&t.$off(e,s)}}function Dn(e,n,t){xn=e,qe(n,t||{},Rn,In,Pn,e),xn=void 0}var On=function(){function e(e){void 0===e&&(e=!1),this.detached=e,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Sn,!e&&Sn&&(this.index=(Sn.scopes||(Sn.scopes=[])).push(this)-1)}return e.prototype.run=function(e){if(this.active){var n=Sn;try{return Sn=this,e()}finally{Sn=n}}},e.prototype.on=function(){Sn=this},e.prototype.off=function(){Sn=this.parent},e.prototype.stop=function(e){if(this.active){var n=void 0,t=void 0;for(n=0,t=this.effects.length;n<t;n++)this.effects[n].teardown();for(n=0,t=this.cleanups.length;n<t;n++)this.cleanups[n]();if(this.scopes)for(n=0,t=this.scopes.length;n<t;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!e){var s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0,this.active=!1}},e}(),Mn=null;function Fn(e){var n=Mn;return Mn=e,function(){Mn=n}}function Nn(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function $n(e,n){if(n){if(e._directInactive=!1,Nn(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var t=0;t<e.$children.length;t++)$n(e.$children[t]);Un(e,"activated")}}function Bn(e,n){if(!(n&&(e._directInactive=!0,Nn(e))||e._inactive)){e._inactive=!0;for(var t=0;t<e.$children.length;t++)Bn(e.$children[t]);Un(e,"deactivated")}}function Un(e,n,t,s){void 0===s&&(s=!0),Te();var i=pe,a=Sn;s&&he(e);var r=e.$options[n],o="".concat(n," hook");if(r)for(var l=0,c=r.length;l<c;l++)et(r[l],e,t||null,e,o);e._hasHookEvent&&e.$emit("hook:"+n),s&&(he(i),a&&a.on()),Ee()}var jn=[],Gn=[],zn={},qn=!1,Kn=!1,Vn=0,Hn=0,Yn=Date.now;if(X&&!J){var Wn=window.performance;Wn&&"function"==typeof Wn.now&&Yn()>document.createEvent("Event").timeStamp&&(Yn=function(){return Wn.now()})}var Xn=function(e,n){if(e.post){if(!n.post)return 1}else if(n.post)return-1;return e.id-n.id};function Qn(){var e,n;for(Hn=Yn(),Kn=!0,jn.sort(Xn),Vn=0;Vn<jn.length;Vn++)(e=jn[Vn]).before&&e.before(),n=e.id,zn[n]=null,e.run();var t=Gn.slice(),s=jn.slice();Vn=jn.length=Gn.length=0,zn={},qn=Kn=!1,function(e){for(var n=0;n<e.length;n++)e[n]._inactive=!0,$n(e[n],!0)}(t),function(e){for(var n=e.length;n--;){var t=e[n],s=t.vm;s&&s._watcher===t&&s._isMounted&&!s._isDestroyed&&Un(s,"updated")}}(s),ye(),le&&q.devtools&&le.emit("flush")}var Jn="watcher";function Zn(e,n,t){Te();try{if(n)for(var s=n;s=s.$parent;){var i=s.$options.errorCaptured;if(i)for(var a=0;a<i.length;a++)try{if(!1===i[a].call(s,e,n,t))return}catch(e){nt(e,s,"errorCaptured hook")}}nt(e,n,t)}finally{Ee()}}function et(e,n,t,s,i){var a;try{(a=t?e.apply(n,t):e.call(n))&&!a._isVue&&v(a)&&!a._handled&&(a.catch((function(e){return Zn(e,s,i+" (Promise/async)")})),a._handled=!0)}catch(e){Zn(e,s,i)}return a}function nt(e,n,t){if(q.errorHandler)try{return q.errorHandler.call(null,e,n,t)}catch(n){n!==e&&tt(n)}tt(e)}function tt(e,n,t){if(!X||"undefined"==typeof console)throw e;console.error(e)}"".concat(Jn," callback"),"".concat(Jn," getter"),"".concat(Jn," cleanup");var st,it=!1,at=[],rt=!1;function ot(){rt=!1;var e=at.slice(0);at.length=0;for(var n=0;n<e.length;n++)e[n]()}if("undefined"!=typeof Promise&&ce(Promise)){var lt=Promise.resolve();st=function(){lt.then(ot),ne&&setTimeout(M)},it=!0}else if(J||"undefined"==typeof MutationObserver||!ce(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())st="undefined"!=typeof setImmediate&&ce(setImmediate)?function(){setImmediate(ot)}:function(){setTimeout(ot,0)};else{var ct=1,dt=new MutationObserver(ot),ut=document.createTextNode(String(ct));dt.observe(ut,{characterData:!0}),st=function(){ct=(ct+1)%2,ut.data=String(ct)},it=!0}function pt(e,n){var t;if(at.push((function(){if(e)try{e.call(n)}catch(e){Zn(e,n,"nextTick")}else t&&t(n)})),rt||(rt=!0,st()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){t=e}))}function ht(e){return function(n,t){if(void 0===t&&(t=pe),t)return function(e,n,t){var s=e.$options;s[n]=Gt(s[n],t)}(t,e,n)}}ht("beforeMount"),ht("mounted"),ht("beforeUpdate"),ht("updated"),ht("beforeDestroy"),ht("destroyed"),ht("activated"),ht("deactivated"),ht("serverPrefetch"),ht("renderTracked"),ht("renderTriggered"),ht("errorCaptured");var mt=new de;function vt(e){return gt(e,mt),mt.clear(),e}function gt(e,n){var t,s,i=a(e);if(!(!i&&!u(e)||e.__v_skip||Object.isFrozen(e)||e instanceof me)){if(e.__ob__){var r=e.__ob__.dep.id;if(n.has(r))return;n.add(r)}if(i)for(t=e.length;t--;)gt(e[t],n);else if(Ue(e))gt(e.value,n);else for(t=(s=Object.keys(e)).length;t--;)gt(e[s[t]],n)}}var ft=0,_t=function(){function e(e,n,t,s,i){var a;void 0===(a=Sn&&!Sn._vm?Sn:e?e._scope:void 0)&&(a=Sn),a&&a.active&&a.effects.push(this),(this.vm=e)&&i&&(e._watcher=this),s?(this.deep=!!s.deep,this.user=!!s.user,this.lazy=!!s.lazy,this.sync=!!s.sync,this.before=s.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=t,this.id=++ft,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new de,this.newDepIds=new de,this.expression="",d(n)?this.getter=n:(this.getter=function(e){if(!Y.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(n),this.getter||(this.getter=M)),this.value=this.lazy?void 0:this.get()}return e.prototype.get=function(){var e;Te(this);var n=this.vm;try{e=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Zn(e,n,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&vt(e),Ee(),this.cleanupDeps()}return e},e.prototype.addDep=function(e){var n=e.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(e),this.depIds.has(n)||e.addSub(this))},e.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var n=this.deps[e];this.newDepIds.has(n.id)||n.removeSub(this)}var t=this.depIds;this.depIds=this.newDepIds,this.newDepIds=t,this.newDepIds.clear(),t=this.deps,this.deps=this.newDeps,this.newDeps=t,this.newDeps.length=0},e.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var n=e.id;if(null==zn[n]&&(e!==we.target||!e.noRecurse)){if(zn[n]=!0,Kn){for(var t=jn.length-1;t>Vn&&jn[t].id>e.id;)t--;jn.splice(t+1,0,e)}else jn.push(e);qn||(qn=!0,pt(Qn))}}(this)},e.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||u(e)||this.deep){var n=this.value;if(this.value=e,this.user){var t='callback for watcher "'.concat(this.expression,'"');et(this.cb,this.vm,[e,n],this.vm,t)}else this.cb.call(this.vm,e,n)}}},e.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1}
vendor: 5,859 bytes, line 2
2,e.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},e.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&k(this.vm._scope.effects,this),this.active){for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},e}(),bt={enumerable:!0,configurable:!0,get:M,set:M};function yt(e,n,t){bt.get=function(){return this[n][t]},bt.set=function(e){this[n][t]=e},Object.defineProperty(e,t,bt)}function wt(e){var n=e.$options;if(n.props&&function(e,n){var t=e.$options.propsData||{},s=e._props=$e({}),i=e.$options._propKeys=[];!e.$parent||Re(!1);var a=function(a){i.push(a);var r=Ht(a,n,t,e);Oe(s,a,r,void 0,!0),a in e||yt(e,"_props",a)};for(var r in n)a(r);Re(!0)}(e,n.props),function(e){var n=e.$options,t=n.setup;if(t){var s=e._setupContext=function(e){return{get attrs(){if(!e._attrsProxy){var n=e._attrsProxy={};H(n,"_v_attr_proxy",!0),kn(n,e.$attrs,i,e,"$attrs")}return e._attrsProxy},get listeners(){return e._listenersProxy||kn(e._listenersProxy={},e.$listeners,i,e,"$listeners"),e._listenersProxy},get slots(){return function(e){return e._slotsProxy||En(e._slotsProxy={},e.$scopedSlots),e._slotsProxy}(e)},emit:I(e.$emit,e),expose:function(n){n&&Object.keys(n).forEach((function(t){return je(e,n,t)}))}}}(e);he(e),Te();var a=et(t,null,[e._props||$e({}),s],e,"setup");if(Ee(),he(),d(a))n.render=a;else if(u(a))if(e._setupState=a,a.__sfc){var r=e._setupProxy={};for(var o in a)"__sfc"!==o&&je(r,a,o)}else for(var o in a)V(o)||je(e,a,o)}}(e),n.methods&&function(e,n){for(var t in e.$options.props,n)e[t]="function"!=typeof n[t]?M:I(n[t],e)}(e,n.methods),n.data)!function(e){var n=e.$options.data;h(n=e._data=d(n)?function(e,n){Te();try{return e.call(n,n)}catch(e){return Zn(e,n,"data()"),{}}finally{Ee()}}(n,e):n||{})||(n={});for(var t=Object.keys(n),s=e.$options.props,i=(e.$options.methods,t.length);i--;){var a=t[i];s&&E(s,a)||V(a)||yt(e,"_data",a)}var r=De(n);r&&r.vmCount++}(e);else{var t=De(e._data={});t&&t.vmCount++}n.computed&&function(e,n){var t=e._computedWatchers=Object.create(null),s=oe();for(var i in n){var a=n[i],r=d(a)?a:a.get;s||(t[i]=new _t(e,r||M,M,kt)),i in e||Tt(e,i,a)}}(e,n.computed),n.watch&&n.watch!==ie&&function(e,n){for(var t in n){var s=n[t];if(a(s))for(var i=0;i<s.length;i++)St(e,t,s[i]);else St(e,t,s)}}(e,n.watch)}var kt={lazy:!0};function Tt(e,n,t){var s=!oe();d(t)?(bt.get=s?Et(n):xt(t),bt.set=M):(bt.get=t.get?s&&!1!==t.cache?Et(n):xt(t.get):M,bt.set=t.set||M),Object.defineProperty(e,n,bt)}function Et(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),we.target&&n.depend(),n.value}}function xt(e){return function(){return e.call(this,this)}}function St(e,n,t,s){return h(t)&&(s=t,t=t.handler),"string"==typeof t&&(t=e[t]),e.$watch(n,t,s)}function At(e,n){if(e){for(var t=Object.create(null),s=ue?Reflect.ownKeys(e):Object.keys(e),i=0;i<s.length;i++){var a=s[i];if("__ob__"!==a){var r=e[a].from;if(r in n._provided)t[a]=n._provided[r];else if("default"in e[a]){var o=e[a].default;t[a]=d(o)?o.call(n):o}}}return t}}var Lt=0;function Ct(e){var n=e.options;if(e.super){var t=Ct(e.super);if(t!==e.superOptions){e.superOptions=t;var s=function(e){var n,t=e.options,s=e.sealedOptions;for(var i in t)t[i]!==s[i]&&(n||(n={}),n[i]=t[i]);return n}(e);s&&D(e.extendOptions,s),(n=e.options=Kt(t,e.extendOptions)).name&&(n.components[n.name]=e)}}return n}function Rt(e,n,t,s,r){var o,c=this,d=r.options;E(s,"_uid")?(o=Object.create(s))._original=s:(o=s,s=s._original);var u=l(d._compiled),p=!u;this.data=e,this.props=n,this.children=t,this.parent=s,this.listeners=e.on||i,this.injections=At(d.inject,s),this.slots=function(){return c.$slots||bn(s,e.scopedSlots,c.$slots=gn(t,s)),c.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return bn(s,e.scopedSlots,this.slots())}}),u&&(this.$options=d,this.$slots=this.slots(),this.$scopedSlots=bn(s,e.scopedSlots,this.$slots)),d._scopeId?this._c=function(e,n,t,i){var r=Je(o,e,n,t,i,p);return r&&!a(r)&&(r.fnScopeId=d._scopeId,r.fnContext=s),r}:this._c=function(e,n,t,s){return Je(o,e,n,t,s,p)}}function It(e,n,t,s,i){var a=fe(e);return a.fnContext=t,a.fnOptions=s,n.slot&&((a.data||(a.data={})).slot=n.slot),a}function Pt(e,n){for(var t in n)e[A(t)]=n[t]}function Dt(e){return e.name||e.__name||e._componentTag}vn(Rt.prototype);var Ot={init:function(e,n){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var t=e;Ot.prepatch(t,t)}else{var s=e.componentInstance=function(e,n){var t={_isComponent:!0,_parentVnode:e,parent:n},s=e.data.inlineTemplate;return o(s)&&(t.render=s.render,t.staticRenderFns=s.staticRenderFns),new e.componentOptions.Ctor(t)}(e,Mn);s.$mount(n?e.elm:void 0,n)}},prepatch:function(e,n){var t=n.componentOptions;!function(e,n,t,s,a){var r=s.data.scopedSlots,o=e.$scopedSlots,l=!!(r&&!r.$stable||o!==i&&!o.$stable||r&&e.$scopedSlots.$key!==r.$key||!r&&e.$scopedSlots.$key),c=!!(a||e.$options._renderChildren||l),d=e.$vnode;e.$options._parentVnode=s,e.$vnode=s,e._vnode&&(e._vnode.parent=s),e.$options._renderChildren=a;var u=s.data.attrs||i;e._attrsProxy&&kn(e._attrsProxy,u,d.data&&d.data.attrs||i,e,"$attrs")&&(c=!0),e.$attrs=u,t=t||i;var p=e.$options._parentListeners;if(e._listenersProxy&&kn(e._listenersProxy,t,p||i,e,"$listeners"),e.$listeners=e.$options._parentListeners=t,Dn(e,t,p),n&&e.$options.props){Re(!1);for(var h=e._props,m=e.$options._propKeys||[],v=0;v<m.length;v++){var g=m[v],f=e.$options.props;h[g]=Ht(g,f,n,e)}Re(!0),e.$options.propsData=n}c&&(e.$slots=gn(a,s.context),e.$forceUpdate())}(n.componentInstance=e.componentInstance,t.propsData,t.listeners,n,t.children)},insert:function(e){var n,t=e.context,s=e.componentInstance;s._isMounted||(s._isMounted=!0,Un(s,"mounted")),e.data.keepAlive&&(t._isMounted?((n=s)._inactive=!1,Gn.push(n)):$n(s,
vendor: 9,359 bytes, line 2
2!0))},destroy:function(e){var n=e.componentInstance;n._isDestroyed||(e.data.keepAlive?Bn(n,!0):n.$destroy())}},Mt=Object.keys(Ot);function Ft(e,n,t,s,c){if(!r(e)){var d=t.$options._base;if(u(e)&&(e=d.extend(e)),"function"==typeof e){var p;if(r(e.cid)&&(e=function(e,n){if(l(e.error)&&o(e.errorComp))return e.errorComp;if(o(e.resolved))return e.resolved;var t=An;if(t&&o(e.owners)&&-1===e.owners.indexOf(t)&&e.owners.push(t),l(e.loading)&&o(e.loadingComp))return e.loadingComp;if(t&&!o(e.owners)){var s=e.owners=[t],i=!0,a=null,c=null;t.$on("hook:destroyed",(function(){return k(s,t)}));var d=function(e){for(var n=0,t=s.length;n<t;n++)s[n].$forceUpdate();e&&(s.length=0,null!==a&&(clearTimeout(a),a=null),null!==c&&(clearTimeout(c),c=null))},p=U((function(t){e.resolved=Ln(t,n),i?s.length=0:d(!0)})),h=U((function(n){o(e.errorComp)&&(e.error=!0,d(!0))})),m=e(p,h);return u(m)&&(v(m)?r(e.resolved)&&m.then(p,h):v(m.component)&&(m.component.then(p,h),o(m.error)&&(e.errorComp=Ln(m.error,n)),o(m.loading)&&(e.loadingComp=Ln(m.loading,n),0===m.delay?e.loading=!0:a=setTimeout((function(){a=null,r(e.resolved)&&r(e.error)&&(e.loading=!0,d(!1))}),m.delay||200)),o(m.timeout)&&(c=setTimeout((function(){c=null,r(e.resolved)&&h(null)}),m.timeout)))),i=!1,e.loading?e.loadingComp:e.resolved}}(p=e,d),void 0===e))return function(e,n,t,s,i){var a=ve();return a.asyncFactory=e,a.asyncMeta={data:n,context:t,children:s,tag:i},a}(p,n,t,s,c);n=n||{},Ct(e),o(n.model)&&function(e,n){var t=e.model&&e.model.prop||"value",s=e.model&&e.model.event||"input";(n.attrs||(n.attrs={}))[t]=n.model.value;var i=n.on||(n.on={}),r=i[s],l=n.model.callback;o(r)?(a(r)?-1===r.indexOf(l):r!==l)&&(i[s]=[l].concat(r)):i[s]=l}(e.options,n);var h=function(e,n){var t=n.options.props;if(!r(t)){var s={},i=e.attrs,a=e.props;if(o(i)||o(a))for(var l in t){var c=R(l);Ve(s,a,l,c,!0)||Ve(s,i,l,c,!1)}return s}}(n,e);if(l(e.options.functional))return function(e,n,t,s,r){var l=e.options,c={},d=l.props;if(o(d))for(var u in d)c[u]=Ht(u,d,n||i);else o(t.attrs)&&Pt(c,t.attrs),o(t.props)&&Pt(c,t.props);var p=new Rt(t,c,r,s,e),h=l.render.call(null,p._c,p);if(h instanceof me)return It(h,t,p.parent,l);if(a(h)){for(var m=He(h)||[],v=new Array(m.length),g=0;g<m.length;g++)v[g]=It(m[g],t,p.parent,l);return v}}(e,h,n,t,s);var m=n.on;if(n.on=n.nativeOn,l(e.options.abstract)){var g=n.slot;n={},g&&(n.slot=g)}!function(e){for(var n=e.hook||(e.hook={}),t=0;t<Mt.length;t++){var s=Mt[t],i=n[s],a=Ot[s];i===a||i&&i._merged||(n[s]=i?Nt(a,i):a)}}(n);var f=Dt(e.options)||c;return new me("vue-component-".concat(e.cid).concat(f?"-".concat(f):""),n,void 0,void 0,void 0,t,{Ctor:e,propsData:h,listeners:m,tag:c,children:s},p)}}}function Nt(e,n){var t=function(t,s){e(t,s),n(t,s)};return t._merged=!0,t}var $t=M,Bt=q.optionMergeStrategies;function Ut(e,n,t){if(void 0===t&&(t=!0),!n)return e;for(var s,i,a,r=ue?Reflect.ownKeys(n):Object.keys(n),o=0;o<r.length;o++)"__ob__"!==(s=r[o])&&(i=e[s],a=n[s],t&&E(e,s)?i!==a&&h(i)&&h(a)&&Ut(i,a):Me(e,s,a));return e}function jt(e,n,t){return t?function(){var s=d(n)?n.call(t,t):n,i=d(e)?e.call(t,t):e;return s?Ut(s,i):i}:n?e?function(){return Ut(d(n)?n.call(this,this):n,d(e)?e.call(this,this):e)}:n:e}function Gt(e,n){var t=n?e?e.concat(n):a(n)?n:[n]:e;return t?function(e){for(var n=[],t=0;t<e.length;t++)-1===n.indexOf(e[t])&&n.push(e[t]);return n}(t):t}function zt(e,n,t,s){var i=Object.create(e||null);return n?D(i,n):i}Bt.data=function(e,n,t){return t?jt(e,n,t):n&&"function"!=typeof n?e:jt(e,n)},z.forEach((function(e){Bt[e]=Gt})),G.forEach((function(e){Bt[e+"s"]=zt})),Bt.watch=function(e,n,t,s){if(e===ie&&(e=void 0),n===ie&&(n=void 0),!n)return Object.create(e||null);if(!e)return n;var i={};for(var r in D(i,e),n){var o=i[r],l=n[r];o&&!a(o)&&(o=[o]),i[r]=o?o.concat(l):a(l)?l:[l]}return i},Bt.props=Bt.methods=Bt.inject=Bt.computed=function(e,n,t,s){if(!e)return n;var i=Object.create(null);return D(i,e),n&&D(i,n),i},Bt.provide=function(e,n){return e?function(){var t=Object.create(null);return Ut(t,d(e)?e.call(this):e),n&&Ut(t,d(n)?n.call(this):n,!1),t}:n};var qt=function(e,n){return void 0===n?e:n};function Kt(e,n,t){if(d(n)&&(n=n.options),function(e){var n=e.props;if(n){var t,s,i={};if(a(n))for(t=n.length;t--;)"string"==typeof(s=n[t])&&(i[A(s)]={type:null});else if(h(n))for(var r in n)s=n[r],i[A(r)]=h(s)?s:{type:s};e.props=i}}(n),function(e){var n=e.inject;if(n){var t=e.inject={};if(a(n))for(var s=0;s<n.length;s++)t[n[s]]={from:n[s]};else if(h(n))for(var i in n){var r=n[i];t[i]=h(r)?D({from:i},r):{from:r}}}}(n),function(e){var n=e.directives;if(n)for(var t in n){var s=n[t];d(s)&&(n[t]={bind:s,update:s})}}(n),!n._base&&(n.extends&&(e=Kt(e,n.extends,t)),n.mixins))for(var s=0,i=n.mixins.length;s<i;s++)e=Kt(e,n.mixins[s],t);var r,o={};for(r in e)l(r);for(r in n)E(e,r)||l(r);function l(s){var i=Bt[s]||qt;o[s]=i(e[s],n[s],t,s)}return o}function Vt(e,n,t,s){if("string"==typeof t){var i=e[n];if(E(i,t))return i[t];var a=A(t);if(E(i,a))return i[a];var r=L(a);return E(i,r)?i[r]:i[t]||i[a]||i[r]}}function Ht(e,n,t,s){var i=n[e],a=!E(t,e),r=t[e],o=Qt(Boolean,i.type);if(o>-1)if(a&&!E(i,"default"))r=!1;else if(""===r||r===R(e)){var l=Qt(String,i.type);(l<0||o<l)&&(r=!0)}if(void 0===r){r=function(e,n,t){if(E(n,"default")){var s=n.default;return e&&e.$options.propsData&&void 0===e.$options.propsData[t]&&void 0!==e._props[t]?e._props[t]:d(s)&&"Function"!==Wt(n.type)?s.call(e):s}}(s,i,e);var c=Ce;Re(!0),De(r),Re(c)}return r}var Yt=/^\s*function (\w+)/;function Wt(e){var n=e&&e.toString().match(Yt);return n?n[1]:""}function Xt(e,n){return Wt(e)===Wt(n)}function Qt(e,n){if(!a(n))return Xt(n,e)?0:-1;for(var t=0,s=n.length;t<s;t++)if(Xt(n[t],e))return t;return-1}function Jt(e){this._init(e)}function Zt(e){return e&&(Dt(e.Ctor.options)||e.tag)}function es(e,n){return a(e)?e.indexOf(n)>-1:"string"==typeof e?e.split(",").indexOf(n)>-1:(t=e,!("[object RegExp]"!==p.call(t))&&e.test(n));var t}function ns(e,n){var t=e.cache,s=e.keys,i=e._vnode,a=e.$vnode;for(var r in t){var o=t[r];if(o){var l=o.name;l&&!n(l)&&ts(t,r,s,i)}}a.componentOptions.children=void 0}function ts(e,n,t,s){var i=e[n];!i||s&&i.tag===s.tag||i.componentInstance.$destroy(),e[n]=null,k(t,n)}!function(e){e.prototype._init=function(e){var n=this;n._uid=Lt++,n._isVue=!0,n.__v_skip=!0,n._scope=new On(!0),n._scope.parent=void 0,n._scope._vm=!0,e&&e._isComponent?function(e,n){var t=e.$options=Object.create(e.constructor.options),s=n._parentVnode;t.parent=n.parent,t._parentVnode=s;var i=s.componentOptions;t.propsData=i.propsData,t._parentListeners=i.listeners,t._renderChildren=i.children,t._componentTag=i.tag,n.render&&(t.render=n.render,t.staticRenderFns=n.staticRenderFns)}(n,e):n.$options=Kt(Ct(n.constructor),e||{},n),n._renderProxy=n,n._self=n,function(e){var n=e.$options,t=n.parent;if(t&&!n.abstract){for(;t.$options.abstract&&t.$parent;)t=t.$parent;t.$children.push(e)}e.$parent=t,e.$root=t?t.$root:e,e.$children=[],e.$refs={},e._provided=t?t._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(n),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var n=e.$options._parentListeners;n&&Dn(e,n)}(n),function(e){e._vnode=null,e._staticTrees=null;var n=e.$options,t=e.$vnode=n._parentVnode,s=t&&t.context;e.$slots=gn(n._renderChildren,s),e.$scopedSlots=t?bn(e.$parent,t.data.scopedSlots,e.$slots):i,e._c=function(n,t,s,i){return Je(e,n,t,s,i,!1)},e.$createElement=function(n,t,s,i){return Je(e,n,t,s,i,!0)};var a=t&&t.data;Oe(e,"$attrs",a&&a.attrs||i,null,!0),Oe(e,"$listeners",n._parentListeners||i,null,!0)}(n),Un(n,"beforeCreate",void 0,!1),function(e){var n=At(e.$options.inject,e);n&&(Re(!1),Object.keys(n).forEach((function(t){Oe(e,t,n[t])})),Re(!0))}(n),wt(n),function(e){var n=e.$options.provide;if(n){var t=d(n)?n.call(e):n;if(!u(t))return;for(var s=function(e){var n=e._provided,t=e.$parent&&e.$parent._provided;return t===n?e._provided=Object.create(t):n}(e),i=ue?Reflect.ownKeys(t):Object.keys(t),a=0;a<i.length;a++){var r=i[a];Object.defineProperty(s,r,Object.getOwnPropertyDescriptor(t,r))}}}(n),Un(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(Jt),function(e){Object.defineProperty(e.prototype,"$data",{get:function(){return this._data}}),Object.defineProperty(e.prototype,"$props",{get:function(){return this._props}}),e.prototype.$set=Me,e.prototype.$delete=Fe,e.prototype.$watch=function(e,n,t){var s=this;if(h(n))return St(s,e,n,t);(t=t||{}).user=!0;var i=new _t(s,e,n,t);if(t.immediate){var a='callback for immediate watcher "'.concat(i.expression,'"');Te(),et(n,s,[i.value],s,a),Ee()}return function(){i.teardown()}}}(Jt),function(e){var n=/^hook:/;e.prototype.$on=function(e,t){var s=this;if(a(e))for(var i=0,r=e.length;i<r;i++)s.$on(e[i],t);else(s._events[e]||(s._events[e]=[])).push(t),n.test(e)&&(s._hasHookEvent=!0);return s},e.prototype.$once=function(e,n){var t=this;function s(){t.$off(e,s),n.apply(t,arguments)}return s.fn=n,t.$on(e,s),t},e.prototype.$off=function(e,n){var t=this;if(!arguments.length)return t._events=Object.create(null),t;if(a(e)){for(var s=0,i=e.length;s<i;s++)t.$off(e[s],n);return t}var r,o=t._events[e];if(!o)return t;if(!n)return t._events[e]=null,t;for(var l=o.length;l--;)if((r=o[l])===n||r.fn===n){o.splice(l,1);break}return t},e.prototype.$emit=function(e){var n=this,t=n._events[e];if(t){t=t.length>1?P(t):t;
vendor: 20,530 bytes, line 2
2for(var s=P(arguments,1),i='event handler for "'.concat(e,'"'),a=0,r=t.length;a<r;a++)et(t[a],n,s,n,i)}return n}}(Jt),function(e){e.prototype._update=function(e,n){var t=this,s=t.$el,i=t._vnode,a=Fn(t);t._vnode=e,t.$el=i?t.__patch__(i,e):t.__patch__(t.$el,e,n,!1),a(),s&&(s.__vue__=null),t.$el&&(t.$el.__vue__=t);for(var r=t;r&&r.$vnode&&r.$parent&&r.$vnode===r.$parent._vnode;)r.$parent.$el=r.$el,r=r.$parent},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){Un(e,"beforeDestroy"),e._isBeingDestroyed=!0;var n=e.$parent;!n||n._isBeingDestroyed||e.$options.abstract||k(n.$children,e),e._scope.stop(),e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),Un(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(Jt),function(e){vn(e.prototype),e.prototype.$nextTick=function(e){return pt(e,this)},e.prototype._render=function(){var e=this,n=e.$options,t=n.render,s=n._parentVnode;s&&e._isMounted&&(e.$scopedSlots=bn(e.$parent,s.data.scopedSlots,e.$slots,e.$scopedSlots),e._slotsProxy&&En(e._slotsProxy,e.$scopedSlots)),e.$vnode=s;var i,r=pe,o=An;try{he(e),An=e,i=t.call(e._renderProxy,e.$createElement)}catch(n){Zn(n,e,"render"),i=e._vnode}finally{An=o,he(r)}return a(i)&&1===i.length&&(i=i[0]),i instanceof me||(i=ve()),i.parent=s,i}}(Jt);var ss=[String,RegExp,Array],is={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:ss,exclude:ss,max:[String,Number]},methods:{cacheVNode:function(){var e=this,n=e.cache,t=e.keys,s=e.vnodeToCache,i=e.keyToCache;if(s){var a=s.tag,r=s.componentInstance,o=s.componentOptions;n[i]={name:Zt(o),tag:a,componentInstance:r},t.push(i),this.max&&t.length>parseInt(this.max)&&ts(n,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)ts(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(n){ns(e,(function(e){return es(n,e)}))})),this.$watch("exclude",(function(n){ns(e,(function(e){return!es(n,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,n=Cn(e),t=n&&n.componentOptions;if(t){var s=Zt(t),i=this.include,a=this.exclude;if(i&&(!s||!es(i,s))||a&&s&&es(a,s))return n;var r=this.cache,o=this.keys,l=null==n.key?t.Ctor.cid+(t.tag?"::".concat(t.tag):""):n.key;r[l]?(n.componentInstance=r[l].componentInstance,k(o,l),o.push(l)):(this.vnodeToCache=n,this.keyToCache=l),n.data.keepAlive=!0}return n||e&&e[0]}}};!function(e){var n={get:function(){return q}};Object.defineProperty(e,"config",n),e.util={warn:$t,extend:D,mergeOptions:Kt,defineReactive:Oe},e.set=Me,e.delete=Fe,e.nextTick=pt,e.observable=function(e){return De(e),e},e.options=Object.create(null),G.forEach((function(n){e.options[n+"s"]=Object.create(null)})),e.options._base=e,D(e.options.components,is),function(e){e.use=function(e){var n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(e)>-1)return this;var t=P(arguments,1);return t.unshift(this),d(e.install)?e.install.apply(e,t):d(e)&&e.apply(null,t),n.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Kt(this.options,e),this}}(e),function(e){e.cid=0;var n=1;e.extend=function(e){e=e||{};var t=this,s=t.cid,i=e._Ctor||(e._Ctor={});if(i[s])return i[s];var a=Dt(e)||Dt(t.options),r=function(e){this._init(e)};return(r.prototype=Object.create(t.prototype)).constructor=r,r.cid=n++,r.options=Kt(t.options,e),r.super=t,r.options.props&&function(e){var n=e.options.props;for(var t in n)yt(e.prototype,"_props",t)}(r),r.options.computed&&function(e){var n=e.options.computed;for(var t in n)Tt(e.prototype,t,n[t])}(r),r.extend=t.extend,r.mixin=t.mixin,r.use=t.use,G.forEach((function(e){r[e]=t[e]})),a&&(r.options.components[a]=r),r.superOptions=t.options,r.extendOptions=e,r.sealedOptions=D({},r.options),i[s]=r,r}}(e),function(e){G.forEach((function(n){e[n]=function(e,t){return t?("component"===n&&h(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&d(t)&&(t={bind:t,update:t}),this.options[n+"s"][e]=t,t):this.options[n+"s"][e]}}))}(e)}(Jt),Object.defineProperty(Jt.prototype,"$isServer",{get:oe}),Object.defineProperty(Jt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Jt,"FunctionalRenderContext",{value:Rt}),Jt.version="2.7.16";var as=b("style,class"),rs=b("input,textarea,option,select,progress"),os=function(e,n,t){return"value"===t&&rs(e)&&"button"!==n||"selected"===t&&"option"===e||"checked"===t&&"input"===e||"muted"===t&&"video"===e},ls=b("contenteditable,draggable,spellcheck"),cs=b("events,caret,typing,plaintext-only"),ds=function(e,n){return vs(n)||"false"===n?"false":"contenteditable"===e&&cs(n)?n:"true"},us=b("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ps="http://www.w3.org/1999/xlink",hs=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},ms=function(e){return hs(e)?e.slice(6,e.length):""},vs=function(e){return null==e||!1===e};function gs(e,n){return{staticClass:fs(e.staticClass,n.staticClass),class:o(e.class)?[e.class,n.class]:n.class}}function fs(e,n){return e?n?e+" "+n:e:n||""}function _s(e){return Array.isArray(e)?function(e){for(var n,t="",s=0,i=e.length;s<i;s++)o(n=_s(e[s]))&&""!==n&&(t&&(t+=" "),t+=n);return t}(e):u(e)?function(e){var n="";for(var t in e)e[t]&&(n&&(n+=" "),n+=t);return n}(e):"string"==typeof e?e:""}var bs={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ys=b("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),ws=b("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),ks=function(e){return ys(e)||ws(e)};function Ts(e){return ws(e)?"svg":"math"===e?"math":void 0}var Es=Object.create(null),xs=b("text,number,password,search,email,tel,url");function Ss(e){return"string"==typeof e?document.querySelector(e)||document.createElement("div"):e}var As=Object.freeze({__proto__:null,createElement:function(e,n){var t=document.createElement(e);return"select"!==e||n.data&&n.data.attrs&&void 0!==n.data.attrs.multiple&&t.setAttribute("multiple","multiple"),t},createElementNS:function(e,n){return document.createElementNS(bs[e],n)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,n,t){e.insertBefore(n,t)},removeChild:function(e,n){e.removeChild(n)},appendChild:function(e,n){e.appendChild(n)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,n){e.textContent=n},setStyleScope:function(e,n){e.setAttribute(n,"")}}),Ls={create:function(e,n){Cs(n)},update:function(e,n){e.data.ref!==n.data.ref&&(Cs(e,!0),Cs(n))},destroy:function(e){Cs(e,!0)}};function Cs(e,n){var t=e.data.ref;if(o(t)){var s=e.context,i=e.componentInstance||e.elm,r=n?null:i,l=n?void 0:i;if(d(t))et(t,s,[r],s,"template ref function");else{var c=e.data.refInFor,u="string"==typeof t||"number"==typeof t,p=Ue(t),h=s.$refs;if(u||p)if(c){var m=u?h[t]:t.value;n?a(m)&&k(m,i):a(m)?m.includes(i)||m.push(i):u?(h[t]=[i],Rs(s,t,h[t])):t.value=[i]}else if(u){if(n&&h[t]!==i)return;h[t]=l,Rs(s,t,r)}else if(p){if(n&&t.value!==i)return;t.value=r}}}}function Rs(e,n,t){var s=e._setupState;s&&E(s,n)&&(Ue(s[n])?s[n].value=t:s[n]=t)}var Is=new me("",{},[]),Ps=["create","activate","update","remove","destroy"];function Ds(e,n){return e.key===n.key&&e.asyncFactory===n.asyncFactory&&(e.tag===n.tag&&e.isComment===n.isComment&&o(e.data)===o(n.data)&&function(e,n){if("input"!==e.tag)return!0;var t,s=o(t=e.data)&&o(t=t.attrs)&&t.type,i=o(t=n.data)&&o(t=t.attrs)&&t.type;return s===i||xs(s)&&xs(i)}(e,n)||l(e.isAsyncPlaceholder)&&r(n.asyncFactory.error))}function Os(e,n,t){var s,i,a={};for(s=n;s<=t;++s)o(i=e[s].key)&&(a[i]=s);return a}var Ms={create:Fs,update:Fs,destroy:function(e){Fs(e,Is)}};function Fs(e,n){(e.data.directives||n.data.directives)&&function(e,n){var t,s,i,a=e===Is,r=n===Is,o=$s(e.data.directives,e.context),l=$s(n.data.directives,n.context),c=[],d=[];for(t in l)s=o[t],i=l[t],s?(i.oldValue=s.value,i.oldArg=s.arg,Us(i,"update",n,e),i.def&&i.def.componentUpdated&&d.push(i)):(Us(i,"bind",n,e),i.def&&i.def.inserted&&c.push(i));if(c.length){var u=function(){for(var t=0;t<c.length;t++)Us(c[t],"inserted",n,e)};a?Ke(n,"insert",u):u()}if(d.length&&Ke(n,"postpatch",(function(){for(var t=0;t<d.length;t++)Us(d[t],"componentUpdated",n,e)})),!a)for(t in o)l[t]||Us(o[t],"unbind",e,e,r)}(e,n)}var Ns=Object.create(null);function $s(e,n){var t,s,i=Object.create(null);if(!e)return i;for(t=0;t<e.length;t++){if((s=e[t]).modifiers||(s.modifiers=Ns),i[Bs(s)]=s,n._setupState&&n._setupState.__sfc){var a=s.def||Vt(n,"_setupState","v-"+s.name);s.def="function"==typeof a?{bind:a,update:a}:a}s.def=s.def||Vt(n.$options,"directives",s.name)}return i}function Bs(e){return e.rawName||"".concat(e.name,".").concat(Object.keys(e.modifiers||{}).join("."))}function Us(e,n,t,s,i){var a=e.def&&e.def[n];if(a)try{a(t.elm,e,t,s,i)}catch(s){Zn(s,t.context,"directive ".concat(e.name," ").concat(n," hook"))}}var js=[Ls,Ms];function Gs(e,n){var t=n.componentOptions;if(!(o(t)&&!1===t.Ctor.options.inheritAttrs||r(e.data.attrs)&&r(n.data.attrs))){var s,i,a=n.elm,c=e.data.attrs||{},d=n.data.attrs||{};for(s in(o(d.__ob__)||l(d._v_attr_proxy))&&(d=n.data.attrs=D({},d)),d)i=d[s],c[s]!==i&&zs(a,s,i,n.data.pre);for(s in(J||ee)&&d.value!==c.value&&zs(a,"value",d.value),c)r(d[s])&&(hs(s)?a.removeAttributeNS(ps,ms(s)):ls(s)||a.removeAttribute(s))}}function zs(e,n,t,s){s||e.tagName.indexOf("-")>-1?qs(e,n,t):us(n)?vs(t)?e.removeAttribute(n):(t="allowfullscreen"===n&&"EMBED"===e.tagName?"true":n,e.setAttribute(n,t)):ls(n)?e.setAttribute(n,ds(n,t)):hs(n)?vs(t)?e.removeAttributeNS(ps,ms(n)):e.setAttributeNS(ps,n,t):qs(e,n,t)}function qs(e,n,t){if(vs(t))e.removeAttribute(n);else{if(J&&!Z&&"TEXTAREA"===e.tagName&&"placeholder"===n&&""!==t&&!e.__ieph){var s=function(n){n.stopImmediatePropagation(),e.removeEventListener("input",s)};e.addEventListener("input",s),e.__ieph=!0}e.setAttribute(n,t)}}var Ks={create:Gs,update:Gs};function Vs(e,n){var t=n.elm,s=n.data,i=e.data;if(!(r(s.staticClass)&&r(s.class)&&(r(i)||r(i.staticClass)&&r(i.class)))){var a=function(e){for(var n=e.data,t=e,s=e;o(s.componentInstance);)(s=s.componentInstance._vnode)&&s.data&&(n=gs(s.data,n));for(;o(t=t.parent);)t&&t.data&&(n=gs(n,t.data));return i=n.staticClass,a=n.class,o(i)||o(a)?fs(i,_s(a)):"";var i,a}(n),l=t._transitionClasses;o(l)&&(a=fs(a,_s(l))),a!==t._prevClass&&(t.setAttribute("class",a),t._prevClass=a)}}var Hs,Ys,Ws,Xs,Qs,Js,Zs={create:Vs,update:Vs},ei=/[\w).+\-_$\]]/;function ni(e){var n,t,s,i,a,r=!1,o=!1,l=!1,c=!1,d=0,u=0,p=0,h=0;for(s=0;s<e.length;s++)if(t=n,n=e.charCodeAt(s),r)39===n&&92!==t&&(r=!1);else if(o)34===n&&92!==t&&(o=!1);else if(l)96===n&&92!==t&&(l=!1);else if(c)47===n&&92!==t&&(c=!1);else if(124!==n||124===e.charCodeAt(s+1)||124===e.charCodeAt(s-1)||d||u||p){switch(n){case 34:o=!0;break;case 39:r=!0;break;case 96:l=!0;break;case 40:p++;break;case 41:p--;break;case 91:u++;break;case 93:u--;break;case 123:d++;break;case 125:d--}if(47===n){for(var m=s-1,v=void 0;m>=0&&" "===(v=e.charAt(m));m--);v&&ei.test(v)||(c=!0)}}else void 0===i?(h=s+1,i=e.slice(0,s).trim()):g();function g(){(a||(a=[])).push(e.slice(h,s).trim()),h=s+1}if(void 0===i?i=e.slice(0,s).trim():0!==h&&g(),a)for(s=0;s<a.length;s++)i=ti(i,a[s]);return i}function ti(e,n){var t=n.indexOf("(");if(t<0)return'_f("'.concat(n,'")(').concat(e,")");var s=n.slice(0,t),i=n.slice(t+1);return'_f("'.concat(s,'")(').concat(e).concat(")"!==i?","+i:i)}function si(e,n){console.error("[Vue compiler]: ".concat(e))}function ii(e,n){return e?e.map((function(e){return e[n]})).filter((function(e){return e})):[]}function ai(e,n,t,s,i){(e.props||(e.props=[])).push(mi({name:n,value:t,dynamic:i},s)),e.plain=!1}function ri(e,n,t,s,i){(i?e.dynamicAttrs||(e.dynamicAttrs=[]):e.attrs||(e.attrs=[])).push(mi({name:n,value:t,dynamic:i},s)),e.plain=!1}function oi(e,n,t,s){e.attrsMap[n]=t,e.attrsList.push(mi({name:n,value:t},s))}function li(e,n,t,s,i,a,r,o){(e.directives||(e.directives=[])).push(mi({name:n,rawName:t,value:s,arg:i,isDynamicArg:a,modifiers:r},o)),e.plain=!1}function ci(e,n,t){return t?"_p(".concat(n,',"').concat(e,'")'):e+n}function di(e,n,t,s,a,r,o,l){var c;(s=s||i).right?l?n="(".concat(n,")==='click'?'contextmenu':(").concat(n,")"):"click"===n&&(n="contextmenu",delete s.right):s.middle&&(l?n="(".concat(n,")==='click'?'mouseup':(").concat(n,")"):"click"===n&&(n="mouseup")),s.capture&&(delete s.capture,n=ci("!",n,l)),s.once&&(delete s.once,n=ci("~",n,l)),s.passive&&(delete s.passive,n=ci("&",n,l)),s.native?(delete s.native,c=e.nativeEvents||(e.nativeEvents={})):c=e.events||(e.events={});var d=mi({value:t.trim(),dynamic:l},o);s!==i&&(d.modifiers=s);var u=c[n];Array.isArray(u)?a?u.unshift(d):u.push(d):c[n]=u?a?[d,u]:[u,d]:d,e.plain=!1}function ui(e,n,t){var s=pi(e,":"+n)||pi(e,"v-bind:"+n);if(null!=s)return ni(s);if(!1!==t){var i=pi(e,n);if(null!=i)return JSON.stringify(i)}}function pi(e,n,t){var s;if(null!=(s=e.attrsMap[n]))for(var i=e.attrsList,a=0,r=i.length;a<r;a++)if(i[a].name===n){i.splice(a,1);break}return t&&delete e.attrsMap[n],s}function hi(e,n){for(var t=e.attrsList,s=0,i=t.length;s<i;s++){var a=t[s];if(n.test(a.name))return t.splice(s,1),a}}function mi(e,n){return n&&(null!=n.start&&(e.start=n.start),null!=n.end&&(e.end=n.end)),e}function vi(e,n,t){var s=t||{},i=s.number,a="$$v",r=a;s.trim&&(r="(typeof ".concat(a," === 'string'")+"? ".concat(a,".trim()")+": ".concat(a,")")),i&&(r="_n(".concat(r,")"));var o=gi(n,r);e.model={value:"(".concat(n,")"),expression:JSON.stringify(n),callback:"function (".concat(a,") {").concat(o,"}")}}function gi(e,n){var t=function(e){if(e=e.trim(),Hs=e.length,e.indexOf("[")<0||e.lastIndexOf("]")<Hs-1)return(Xs=e.lastIndexOf("."))>-1?{exp:e.slice(0,Xs),key:'"'+e.slice(Xs+1)+'"'}:{exp:e,key:null};for(Ys=e,Xs=Qs=Js=0;!_i();)bi(Ws=fi())?wi(Ws):91===Ws&&yi(Ws);return{exp:e.slice(0,Qs),key:e.slice(Qs+1,Js)}}(e);return null===t.key?"".concat(e,"=").concat(n):"$set(".concat(t.exp,", ").concat(t.key,", ").concat(n,")")}function fi(){return Ys.charCodeAt(++Xs)}function _i(){return Xs>=Hs}function bi(e){return 34===e||39===e}function yi(e){var n=1;for(Qs=Xs;!_i();)if(bi(e=fi()))wi(e);else if(91===e&&n++,93===e&&n--,0===n){Js=Xs;break}}function wi(e){for(var n=e;!_i()&&(e=fi())!==n;);}var ki,Ti="__r",Ei="__c";function xi(e,n,t){var s=ki;return function i(){null!==n.apply(null,arguments)&&Li(e,i,t,s)}}var Si=it&&!(se&&Number(se[1])<=53);function Ai(e,n,t,s){if(Si){var i=Hn,a=n;n=a._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return a.apply(this,arguments)}}ki.addEventListener(e,n,ae?{capture:t,passive:s}:t)}function Li(e,n,t,s){(s||ki).removeEventListener(e,n._wrapper||n,t)}function Ci(e,n){if(!r(e.data.on)||!r(n.data.on)){var t=n.data.on||{},s=e.data.on||{};ki=n.elm||e.elm,function(e){if(o(e[Ti])){var n=J?"change":"input";e[n]=[].concat(e[Ti],e[n]||[]),delete e[Ti]}o(e[Ei])&&(e.change=[].concat(e[Ei],e.change||[]),delete e[Ei])}(t),qe(t,s,Ai,Li,xi,n.context),ki=void 0}}var Ri,Ii={create:Ci,update:Ci,destroy:function(e){return Ci(e,Is)}};function Pi(e,n){if(!r(e.data.domProps)||!r(n.data.domProps)){var t,s,i=n.elm,a=e.data.domProps||{},c=n.data.domProps||{};for(t in(o(c.__ob__)||l(c._v_attr_proxy))&&(c=n.data.domProps=D({},c)),a)t in c||(i[t]="");for(t in c){if(s=c[t],"textContent"===t||"innerHTML"===t){if(n.children&&(n.children.length=0),s===a[t])continue;1===i.childNodes.length&&i.removeChild(i.childNodes[0])}if("value"===t&&"PROGRESS"!==i.tagName){i._value=s;var d=r(s)?"":String(s);Di(i,d)&&(i.value=d)}else if("innerHTML"===t&&ws(i.tagName)&&r(i.innerHTML)){(Ri=Ri||document.createElement("div")).innerHTML="<svg>".concat(s,"</svg>");for(var u=Ri.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;u.firstChild;)i.appendChild(u.firstChild)}else if(s!==a[t])try{i[t]=s}catch(e){}}}}function Di(e,n){return!e.composing&&("OPTION"===e.tagName||function(e,n){var t=!0;try{t=document.activeElement!==e}catch(e){}return t&&e.value!==n}(e,n)||function(e,n){var t=e.value,s=e._vModifiers;if(o(s)){if(s.number)return _(t)!==_(n);if(s.trim)return t.trim()!==n.trim()}return t!==n}(e,n))}var Oi={create:Pi,update:Pi},Mi=x((function(e){var n={},t=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var s=e.split(t);s.length>1&&(n[s[0].trim()]=s[1].trim())}})),n}));function Fi(e){var n=Ni(e.style);return e.staticStyle?D(e.staticStyle,n):n}function Ni(e){return Array.isArray(e)?O(e):"string"==typeof e?Mi(e):e}var $i,Bi=/^--/,Ui=/\s*!important$/,ji=function(e,n,t){if(Bi.test(n))e.style.setProperty(n,t);else if(Ui.test(t))e.style.setProperty(R(n),t.replace(Ui,""),"important");else{var s=zi(n);if(Array.isArray(t))for(var i=0,a=t.length;i<a;i++)e.style[s]=t[i];else e.style[s]=t}},Gi=["Webkit","Moz","ms"],zi=x((function(e){if($i=$i||document.createElement("div").style,"filter"!==(e=A(e))&&e in $i)return e;for(var n=e.charAt(0).toUpperCase()+e.slice(1),t=0;t<Gi.length;t++){var s=Gi[t]+n;if(s in $i)return s}}));function qi(e,n){var t=n.data,s=e.data;if(!(r(t.staticStyle)&&r(t.style)&&r(s.staticStyle)&&r(s.style))){var i,a,l=n.elm,c=s.staticStyle,d=s.normalizedStyle||s.style||{},u=c||d,p=Ni(n.data.style)||{};n.data.normalizedStyle=o(p.__ob__)?D({},p):p;var h=function(e){for(var n,t={},s=e;s.componentInstance;)(s=s.componentInstance._vnode)&&s.data&&(n=Fi(s.data))&&D(t,n);(n=Fi(e.data))&&D(t,n);for(var i=e;i=i.parent;)i.data&&(n=Fi(i.data))&&D(t,n);return t}(n);for(a in u)r(h[a])&&ji(l,a,"");for(a in h)i=h[a],ji(l,a,null==i?"":i)}}var Ki={create:qi,update:qi},Vi=/\s+/;function Hi(e,n){if(n&&(n=n.trim()))if(e.classList)n.indexOf(" ")>-1?n.split(Vi).forEach((function(n){return e.classList.add(n)})):e.classList.add(n);else{var t=" ".concat(e.getAttribute("class")||""," ");t.indexOf(" "+n+" ")<0&&e.setAttribute("class",(t+n).trim())}}function Yi(e,n){if(n&&(n=n.trim()))if(e.classList)n.indexOf(" ")>-1?n.split(Vi).forEach((function(n){return e.classList.remove(n)})):e.classList.remove(n),e.classList.length||e.removeAttribute("class");else{for(var t=" ".concat(e.getAttribute("class")||""," "),s=" "+n+" ";t.indexOf(s)>=0;)t=t.replace(s," ");(t=t.trim())?e.setAttribute("class",t):e.removeAttribute("class")}}function Wi(e){if(e){if("object"==typeof e){var n={};return!1!==e.css&&D(n,Xi(e.name||"v")),D(n,e),n}return"string"==typeof e?Xi(e):void 0}}var Xi=x((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),Qi=X&&!Z,Ji="transition",Zi="animation",ea="transition",na="transitionend",ta="animation",sa="animationend";Qi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ea="WebkitTransition",na="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ta="WebkitAnimation",sa="webkitAnimationEnd"));var ia=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function aa(e){ia((function(){ia(e)}))}function ra(e,n){var t=e._transitionClasses||(e._transitionClasses=[]);t.indexOf(n)<0&&(t.push(n),Hi(e,n))}
vendor: 6,606 bytes, line 2
2function oa(e,n){e._transitionClasses&&k(e._transitionClasses,n),Yi(e,n)}function la(e,n,t){var s=da(e,n),i=s.type,a=s.timeout,r=s.propCount;if(!i)return t();var o=i===Ji?na:sa,l=0,c=function(){e.removeEventListener(o,d),t()},d=function(n){n.target===e&&++l>=r&&c()};setTimeout((function(){l<r&&c()}),a+1),e.addEventListener(o,d)}var ca=/\b(transform|all)(,|$)/;function da(e,n){var t,s=window.getComputedStyle(e),i=(s[ea+"Delay"]||"").split(", "),a=(s[ea+"Duration"]||"").split(", "),r=ua(i,a),o=(s[ta+"Delay"]||"").split(", "),l=(s[ta+"Duration"]||"").split(", "),c=ua(o,l),d=0,u=0;return n===Ji?r>0&&(t=Ji,d=r,u=a.length):n===Zi?c>0&&(t=Zi,d=c,u=l.length):u=(t=(d=Math.max(r,c))>0?r>c?Ji:Zi:null)?t===Ji?a.length:l.length:0,{type:t,timeout:d,propCount:u,hasTransform:t===Ji&&ca.test(s[ea+"Property"])}}function ua(e,n){for(;e.length<n.length;)e=e.concat(e);return Math.max.apply(null,n.map((function(n,t){return pa(n)+pa(e[t])})))}function pa(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function ha(e,n){var t=e.elm;o(t._leaveCb)&&(t._leaveCb.cancelled=!0,t._leaveCb());var s=Wi(e.data.transition);if(!r(s)&&!o(t._enterCb)&&1===t.nodeType){for(var i=s.css,a=s.type,l=s.enterClass,c=s.enterToClass,p=s.enterActiveClass,h=s.appearClass,m=s.appearToClass,v=s.appearActiveClass,g=s.beforeEnter,f=s.enter,b=s.afterEnter,y=s.enterCancelled,w=s.beforeAppear,k=s.appear,T=s.afterAppear,E=s.appearCancelled,x=s.duration,S=Mn,A=Mn.$vnode;A&&A.parent;)S=A.context,A=A.parent;var L=!S._isMounted||!e.isRootInsert;if(!L||k||""===k){var C=L&&h?h:l,R=L&&v?v:p,I=L&&m?m:c,P=L&&w||g,D=L&&d(k)?k:f,O=L&&T||b,M=L&&E||y,F=_(u(x)?x.enter:x),N=!1!==i&&!Z,$=ga(D),B=t._enterCb=U((function(){N&&(oa(t,I),oa(t,R)),B.cancelled?(N&&oa(t,C),M&&M(t)):O&&O(t),t._enterCb=null}));e.data.show||Ke(e,"insert",(function(){var n=t.parentNode,s=n&&n._pending&&n._pending[e.key];s&&s.tag===e.tag&&s.elm._leaveCb&&s.elm._leaveCb(),D&&D(t,B)})),P&&P(t),N&&(ra(t,C),ra(t,R),aa((function(){oa(t,C),B.cancelled||(ra(t,I),$||(va(F)?setTimeout(B,F):la(t,a,B)))}))),e.data.show&&(n&&n(),D&&D(t,B)),N||$||B()}}}function ma(e,n){var t=e.elm;o(t._enterCb)&&(t._enterCb.cancelled=!0,t._enterCb());var s=Wi(e.data.transition);if(r(s)||1!==t.nodeType)return n();if(!o(t._leaveCb)){var i=s.css,a=s.type,l=s.leaveClass,c=s.leaveToClass,d=s.leaveActiveClass,p=s.beforeLeave,h=s.leave,m=s.afterLeave,v=s.leaveCancelled,g=s.delayLeave,f=s.duration,b=!1!==i&&!Z,y=ga(h),w=_(u(f)?f.leave:f),k=t._leaveCb=U((function(){t.parentNode&&t.parentNode._pending&&(t.parentNode._pending[e.key]=null),b&&(oa(t,c),oa(t,d)),k.cancelled?(b&&oa(t,l),v&&v(t)):(n(),m&&m(t)),t._leaveCb=null}));g?g(T):T()}function T(){k.cancelled||(!e.data.show&&t.parentNode&&((t.parentNode._pending||(t.parentNode._pending={}))[e.key]=e),p&&p(t),b&&(ra(t,l),ra(t,d),aa((function(){oa(t,l),k.cancelled||(ra(t,c),y||(va(w)?setTimeout(k,w):la(t,a,k)))}))),h&&h(t,k),b||y||k())}}function va(e){return"number"==typeof e&&!isNaN(e)}function ga(e){if(r(e))return!1;var n=e.fns;return o(n)?ga(Array.isArray(n)?n[0]:n):(e._length||e.length)>1}function fa(e,n){!0!==n.data.show&&ha(n)}var _a=function(e){var n,t,s={},i=e.modules,d=e.nodeOps;for(n=0;n<Ps.length;++n)for(s[Ps[n]]=[],t=0;t<i.length;++t)o(i[t][Ps[n]])&&s[Ps[n]].push(i[t][Ps[n]]);function u(e){var n=d.parentNode(e);o(n)&&d.removeChild(n,e)}function p(e,n,t,i,a,r,c){if(o(e.elm)&&o(r)&&(e=r[c]=fe(e)),e.isRootInsert=!a,!function(e,n,t,i){var a=e.data;if(o(a)){var r=o(e.componentInstance)&&a.keepAlive;if(o(a=a.hook)&&o(a=a.init)&&a(e,!1),o(e.componentInstance))return h(e,n),m(t,e.elm,i),l(r)&&function(e,n,t,i){for(var a,r=e;r.componentInstance;)if(o(a=(r=r.componentInstance._vnode).data)&&o(a=a.transition)){for(a=0;a<s.activate.length;++a)s.activate[a](Is,r);n.push(r);break}m(t,e.elm,i)}(e,n,t,i),!0}}(e,n,t,i)){var u=e.data,p=e.children,g=e.tag;o(g)?(e.elm=e.ns?d.createElementNS(e.ns,g):d.createElement(g,e),_(e),v(e,p,n),o(u)&&f(e,n),m(t,e.elm,i)):l(e.isComment)?(e.elm=d.createComment(e.text),m(t,e.elm,i)):(e.elm=d.createTextNode(e.text),m(t,e.elm,i))}}function h(e,n){o(e.data.pendingInsert)&&(n.push.apply(n,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,g(e)?(f(e,n),_(e)):(Cs(e),n.push(e))}function m(e,n,t){o(e)&&(o(t)?d.parentNode(t)===e&&d.insertBefore(e,n,t):d.appendChild(e,n))}function v(e,n,t){if(a(n))for(var s=0;s<n.length;++s)p(n[s],t,e.elm,null,!0,n,s);else c(e.text)&&d.appendChild(e.elm,d.createTextNode(String(e.text)))}function g(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return o(e.tag)}function f(e,t){for(var i=0;i<s.create.length;++i)s.create[i](Is,e);o(n=e.data.hook)&&(o(n.create)&&n.create(Is,e),o(n.insert)&&t.push(e))}function _(e){var n;if(o(n=e.fnScopeId))d.setStyleScope(e.elm,n);else for(var t=e;t;)o(n=t.context)&&o(n=n.$options._scopeId)&&d.setStyleScope(e.elm,n),t=t.parent;o(n=Mn)&&n!==e.context&&n!==e.fnContext&&o(n=n.$options._scopeId)&&d.setStyleScope(e.elm,n)}function y(e,n,t,s,i,a){for(;s<=i;++s)p(t[s],a,e,n,!1,t,s)}function w(e){var n,t,i=e.data;if(o(i))for(o(n=i.hook)&&o(n=n.destroy)&&n(e),n=0;n<s.destroy.length;++n)s.destroy[n](e);if(o(n=e.children))for(t=0;t<e.children.length;++t)w(e.children[t])}function k(e,n,t){for(;n<=t;++n){var s=e[n];o(s)&&(o(s.tag)?(T(s),w(s)):u(s.elm))}}function T(e,n){if(o(n)||o(e.data)){var t,i=s.remove.length+1;for(o(n)?n.listeners+=i:n=function(e,n){function t(){0==--t.listeners&&u(e)}return t.listeners=n,t}(e.elm,i),o(t=e.componentInstance)&&o(t=t._vnode)&&o(t.data)&&T(t,n),t=0;t<s.remove.length;++t)s.remove[t](e,n);o(t=e.data.hook)&&o(t=t.remove)?t(e,n):n()}else u(e.elm)}function E(e,n,t,s){for(var i=t;i<s;i++){var a=n[i];if(o(a)&&Ds(e,a))return i}}function x(e,n,t,i,a,c){if(e!==n){o(n.elm)&&o(i)&&(n=i[a]=fe(n));var u=n.elm=e.elm;if(l(e.isAsyncPlaceholder))o(n.asyncFactory.resolved)?L(e.elm,n,t):n.isAsyncPlaceholder=!0;else if(l(n.isStatic)&&l(e.isStatic)&&n.key===e.key&&(l(n.isCloned)||l(n.isOnce)))n.componentInstance=e.componentInstance;else{var h,m=n.data;o(m)&&o(h=m.hook)&&o(h=h.prepatch)&&h(e,n);var v=e.children,f=n.children;if(o(m)&&g(n)){for(h=0;h<s.update.length;++h)s.update[h](e,n);o(h=m.hook)&&o(h=h.update)&&h(e,n)}r(n.text)?o(v)&&o(f)?v!==f&&function(e,n,t,s,i){for(var a,l,c,u=0,h=0,m=n.length-1,v=n[0],g=n[m],f=t.length-1,_=t[0],b=t[f],w=!i;u<=m&&h<=f;)r(v)?v=n[++u]:r(g)?g=n[--m]:Ds(v,_)?(x(v,_,s,t,h),v=n[++u],_=t[++h]):Ds(g,b)?(x(g,b,s,t,f),g=n[--m],b=t[--f]):Ds(v,b)?(x(v,b,s,t,f),w&&d.insertBefore(e,v.elm,d.nextSibling(g.elm)),v=n[++u],b=t[--f]):Ds(g,_)?(x(g,_,s,t,h),w&&d.insertBefore(e,g.elm,v.elm),g=n[--m],_=t[++h]):(r(a)&&(a=Os(n,u,m)),r(l=o(_.ke
vendor: 4,393 bytes, line 2
2y)?a[_.key]:E(_,n,u,m))?p(_,s,e,v.elm,!1,t,h):Ds(c=n[l],_)?(x(c,_,s,t,h),n[l]=void 0,w&&d.insertBefore(e,c.elm,v.elm)):p(_,s,e,v.elm,!1,t,h),_=t[++h]);u>m?y(e,r(t[f+1])?null:t[f+1].elm,t,h,f,s):h>f&&k(n,u,m)}(u,v,f,t,c):o(f)?(o(e.text)&&d.setTextContent(u,""),y(u,null,f,0,f.length-1,t)):o(v)?k(v,0,v.length-1):o(e.text)&&d.setTextContent(u,""):e.text!==n.text&&d.setTextContent(u,n.text),o(m)&&o(h=m.hook)&&o(h=h.postpatch)&&h(e,n)}}}function S(e,n,t){if(l(t)&&o(e.parent))e.parent.data.pendingInsert=n;else for(var s=0;s<n.length;++s)n[s].data.hook.insert(n[s])}var A=b("attrs,class,staticClass,staticStyle,key");function L(e,n,t,s){var i,a=n.tag,r=n.data,c=n.children;if(s=s||r&&r.pre,n.elm=e,l(n.isComment)&&o(n.asyncFactory))return n.isAsyncPlaceholder=!0,!0;if(o(r)&&(o(i=r.hook)&&o(i=i.init)&&i(n,!0),o(i=n.componentInstance)))return h(n,t),!0;if(o(a)){if(o(c))if(e.hasChildNodes())if(o(i=r)&&o(i=i.domProps)&&o(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var d=!0,u=e.firstChild,p=0;p<c.length;p++){if(!u||!L(u,c[p],t,s)){d=!1;break}u=u.nextSibling}if(!d||u)return!1}else v(n,c,t);if(o(r)){var m=!1;for(var g in r)if(!A(g)){m=!0,f(n,t);break}!m&&r.class&&vt(r.class)}}else e.data!==n.text&&(e.data=n.text);return!0}return function(e,n,t,i){if(!r(n)){var a,c=!1,u=[];if(r(e))c=!0,p(n,u);else{var h=o(e.nodeType);if(!h&&Ds(e,n))x(e,n,u,null,null,i);else{if(h){if(1===e.nodeType&&e.hasAttribute(j)&&(e.removeAttribute(j),t=!0),l(t)&&L(e,n,u))return S(n,u,!0),e;a=e,e=new me(d.tagName(a).toLowerCase(),{},[],void 0,a)}var m=e.elm,v=d.parentNode(m);if(p(n,u,m._leaveCb?null:v,d.nextSibling(m)),o(n.parent))for(var f=n.parent,_=g(n);f;){for(var b=0;b<s.destroy.length;++b)s.destroy[b](f);if(f.elm=n.elm,_){for(var y=0;y<s.create.length;++y)s.create[y](Is,f);var T=f.data.hook.insert;if(T.merged)for(var E=T.fns.slice(1),A=0;A<E.length;A++)E[A]()}else Cs(f);f=f.parent}o(v)?k([e],0,0):o(e.tag)&&w(e)}}return S(n,u,c),n.elm}o(e)&&w(e)}}({nodeOps:As,modules:[Ks,Zs,Ii,Oi,Ki,X?{create:fa,activate:fa,remove:function(e,n){!0!==e.data.show?ma(e,n):n()}}:{}].concat(js)});Z&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&Sa(e,"input")}));var ba={inserted:function(e,n,t,s){"select"===t.tag?(s.elm&&!s.elm._vOptions?Ke(t,"postpatch",(function(){ba.componentUpdated(e,n,t)})):ya(e,n,t.context),e._vOptions=[].map.call(e.options,Ta)):("textarea"===t.tag||xs(e.type))&&(e._vModifiers=n.modifiers,n.modifiers.lazy||(e.addEventListener("compositionstart",Ea),e.addEventListener("compositionend",xa),e.addEventListener("change",xa),Z&&(e.vmodel=!0)))},componentUpdated:function(e,n,t){if("select"===t.tag){ya(e,n,t.context);var s=e._vOptions,i=e._vOptions=[].map.call(e.options,Ta);i.some((function(e,n){return!$(e,s[n])}))&&(e.multiple?n.value.some((function(e){return ka(e,i)})):n.value!==n.oldValue&&ka(n.value,i))&&Sa(e,"change")}}};function ya(e,n,t){wa(e,n),(J||ee)&&setTimeout((function(){wa(e,n)}),0)}function wa(e,n,t){var s=n.value,i=e.multiple;if(!i||Array.isArray(s)){for(var a,r,o=0,l=e.options.length;o<l;o++)if(r=e.options[o],i)a=B(s,Ta(r))>-1,r.selected!==a&&(r.selected=a);else if($(Ta(r),s))return void(e.selectedIndex!==o&&(e.selectedIndex=o));i||(e.selectedIndex=-1)}}function ka(e,n){return n.every((function(n){return!$(n,e)}))}function Ta(e){return"_value"in e?e._value:e.value}function Ea(e){e.target.composing=!0}function xa(e){e.target.composing&&(e.target.composing=!1,Sa(e.target,"input"))}function Sa(e,n){var t=document.createEvent("HTMLEvents");t.initEvent(n,!0,!0),e.dispatchEvent(t)}function Aa(e){return!e.componentInstance||e.data&&e.data.transition?e:Aa(e.componentInstance._vnode)}var La={model:ba,show:{bind:function(e,n,t){var s=n.value,i=(t=Aa(t)).data&&t.data.transition,a=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;s&&i?(t.data.show=!0,ha(t,(function(){e.style.display=a}))):e.style.display=s?a:"none"},update:function(e,n,t){var s=n.value;!s!=!n.oldValue&&((t=Aa(t)).data&&t.data.transition?(t.data.show=!0,s?ha(t,(function(){e.style.display=e.__vOriginalDisplay})):ma(t,(function(){e.style.display="none"}))):e.style.display=s?e.__vOriginalDisplay:"none")},unbind:function(e,n,t,s,i){i||(e.style.display=e.__vOriginalDisplay)}}},Ca={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterA
vendor: 13,622 bytes, line 2
2ctiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ra(e){var n=e&&e.componentOptions;return n&&n.Ctor.options.abstract?Ra(Cn(n.children)):e}function Ia(e){var n={},t=e.$options;for(var s in t.propsData)n[s]=e[s];var i=t._parentListeners;for(var s in i)n[A(s)]=i[s];return n}function Pa(e,n){if(/\d-keep-alive$/.test(n.tag))return e("keep-alive",{props:n.componentOptions.propsData})}var Da=function(e){return e.tag||_n(e)},Oa=function(e){return"show"===e.name},Ma={name:"transition",props:Ca,abstract:!0,render:function(e){var n=this,t=this.$slots.default;if(t&&(t=t.filter(Da)).length){var s=this.mode,i=t[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var a=Ra(i);if(!a)return i;if(this._leaving)return Pa(e,i);var r="__transition-".concat(this._uid,"-");a.key=null==a.key?a.isComment?r+"comment":r+a.tag:c(a.key)?0===String(a.key).indexOf(r)?a.key:r+a.key:a.key;var o=(a.data||(a.data={})).transition=Ia(this),l=this._vnode,d=Ra(l);if(a.data.directives&&a.data.directives.some(Oa)&&(a.data.show=!0),d&&d.data&&!function(e,n){return n.key===e.key&&n.tag===e.tag}(a,d)&&!_n(d)&&(!d.componentInstance||!d.componentInstance._vnode.isComment)){var u=d.data.transition=D({},o);if("out-in"===s)return this._leaving=!0,Ke(u,"afterLeave",(function(){n._leaving=!1,n.$forceUpdate()})),Pa(e,i);if("in-out"===s){if(_n(a))return l;var p,h=function(){p()};Ke(o,"afterEnter",h),Ke(o,"enterCancelled",h),Ke(u,"delayLeave",(function(e){p=e}))}}return i}}},Fa=D({tag:String,moveClass:String},Ca);function Na(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function $a(e){e.data.newPos=e.elm.getBoundingClientRect()}function Ba(e){var n=e.data.pos,t=e.data.newPos,s=n.left-t.left,i=n.top-t.top;if(s||i){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate(".concat(s,"px,").concat(i,"px)"),a.transitionDuration="0s"}}delete Fa.mode;var Ua={Transition:Ma,TransitionGroup:{props:Fa,beforeMount:function(){var e=this,n=this._update;this._update=function(t,s){var i=Fn(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),n.call(e,t,s)}},render:function(e){for(var n=this.tag||this.$vnode.data.tag||"span",t=Object.create(null),s=this.prevChildren=this.children,i=this.$slots.default||[],a=this.children=[],r=Ia(this),o=0;o<i.length;o++)(d=i[o]).tag&&null!=d.key&&0!==String(d.key).indexOf("__vlist")&&(a.push(d),t[d.key]=d,(d.data||(d.data={})).transition=r);if(s){var l=[],c=[];for(o=0;o<s.length;o++){var d;(d=s[o]).data.transition=r,d.data.pos=d.elm.getBoundingClientRect(),t[d.key]?l.push(d):c.push(d)}this.kept=e(n,null,l),this.removed=c}return e(n,null,a)},updated:function(){var e=this.prevChildren,n=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,n)&&(e.forEach(Na),e.forEach($a),e.forEach(Ba),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var t=e.elm,s=t.style;ra(t,n),s.transform=s.WebkitTransform=s.transitionDuration="",t.addEventListener(na,t._moveCb=function e(s){s&&s.target!==t||s&&!/transform$/.test(s.propertyName)||(t.removeEventListener(na,e),t._moveCb=null,oa(t,n))})}})))},methods:{hasMove:function(e,n){if(!Qi)return!1;if(this._hasMove)return this._hasMove;var t=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach((function(e){Yi(t,e)})),Hi(t,n),t.style.display="none",this.$el.appendChild(t);var s=da(t);return this.$el.removeChild(t),this._hasMove=s.hasTransform}}}};Jt.config.mustUseProp=os,Jt.config.isReservedTag=ks,Jt.config.isReservedAttr=as,Jt.config.getTagNamespace=Ts,Jt.config.isUnknownElement=function(e){if(!X)return!0;if(ks(e))return!1;if(e=e.toLowerCase(),null!=Es[e])return Es[e];var n=document.createElement(e);return e.indexOf("-")>-1?Es[e]=n.constructor===window.HTMLUnknownElement||n.constructor===window.HTMLElement:Es[e]=/HTMLUnknownElement/.test(n.toString())},D(Jt.options.directives,La),D(Jt.options.components,Ua),Jt.prototype.__patch__=X?_a:M,Jt.prototype.$mount=function(e,n){return function(e,n,t){var s;e.$el=n,e.$options.render||(e.$options.render=ve),Un(e,"beforeMount"),s=function(){e._update(e._render(),t)},new _t(e,s,M,{before:function(){e._isMounted&&!e._isDestroyed&&Un(e,"beforeUpdate")}},!0),t=!1;var i=e._preWatchers;if(i)for(var a=0;a<i.length;a++)i[a].run();return null==e.$vnode&&(e._isMounted=!0,Un(e,"mounted")),e}(this,e=e&&X?Ss(e):void 0,n)},X&&setTimeout((function(){q.devtools&&le&&le.emit("init",Jt)}),0);var ja,Ga=/\{\{((?:.|\r?\n)+?)\}\}/g,za=/[-.*+?^${}()|[\]\/\\]/g,qa=x((function(e){var n=e[0].replace(za,"\\$&"),t=e[1].replace(za,"\\$&");return new RegExp(n+"((?:.|\\n)+?)"+t,"g")})),Ka={staticKeys:["staticClass"],transformNode:function(e,n){n.warn;var t=pi(e,"class");t&&(e.staticClass=JSON.stringify(t.replace(/\s+/g," ").trim()));var s=ui(e,"class",!1);s&&(e.classBinding=s)},genData:function(e){var n="";return e.staticClass&&(n+="staticClass:".concat(e.staticClass,",")),e.classBinding&&(n+="class:".concat(e.classBinding,",")),n}},Va={staticKeys:["staticStyle"],transformNode:function(e,n){n.warn;var t=pi(e,"style");t&&(e.staticStyle=JSON.stringify(Mi(t)));var s=ui(e,"style",!1);s&&(e.styleBinding=s)},genData:function(e){var n="";return e.staticStyle&&(n+="staticStyle:".concat(e.staticStyle,",")),e.styleBinding&&(n+="style:(".concat(e.styleBinding,"),")),n}},Ha=b("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Ya=b("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Wa=b("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Xa=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Qa=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ja="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(K.source,"]*"),Za="((?:".concat(Ja,"\\:)?").concat(Ja,")"),er=new RegExp("^<".concat(Za)),nr=/^\s*(\/?)>/,tr=new RegExp("^<\\/".concat(Za,"[^>]*>")),sr=/^<!DOCTYPE [^>]+>/i,ir=/^<!\--/,ar=/^<!\[/,rr=b("script,style,textarea",!0),or={},lr={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},cr=/&(?:lt|gt|quot|amp|#39);/g,dr=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,ur=b("pre,textarea",!0),pr=function(e,n){return e&&ur(e)&&"\n"===n[0]};function hr(e,n){var t=n?dr:cr;return e.replace(t,(function(e){return lr[e]}))}var mr,vr,gr,fr,_r,br,yr,wr,kr=/^@|^v-on:/,Tr=/^v-|^@|^:|^#/,Er=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,xr=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Sr=/^\(|\)$/g,Ar=/^\[.*\]$/,Lr=/:(.*)$/,Cr=/^:|^\.|^v-bind:/,Rr=/\.[^.\]]+(?=[^\]]*$)/g,Ir=/^v-slot(:|$)|^#/,Pr=/[\r\n]/,Dr=/[ \f\t\r\n]+/g,Or=x((function(e){return(ja=ja||document.createElement("div")).innerHTML=e,ja.textContent})),Mr="_empty_";function Fr(e,n,t){return{type:1,tag:e,attrsList:n,attrsMap:zr(n),rawAttrsMap:{},parent:t,children:[]}}function Nr(e,n){mr=n.warn||si,br=n.isPreTag||F,yr=n.mustUseProp||F,wr=n.getTagNamespace||F;n.isReservedTag;gr=ii(n.modules,"transformNode"),fr=ii(n.modules,"preTransformNode"),_r=ii(n.modules,"postTransformNode"),vr=n.delimiters;var t,s,i=[],a=!1!==n.preserveWhitespace,r=n.whitespace,o=!1,l=!1;function c(e){if(d(e),o||e.processed||(e=$r(e,n)),i.length||e===t||t.if&&(e.elseif||e.else)&&Ur(t,{exp:e.elseif,block:e}),s&&!e.forbidden)if(e.elseif||e.else)r=e,c=function(e){for(var n=e.length;n--;){if(1===e[n].type)return e[n];e.pop()}}(s.children),c&&c.if&&Ur(c,{exp:r.elseif,block:r});else{if(e.slotScope){var a=e.slotTarget||'"default"';(s.scopedSlots||(s.scopedSlots={}))[a]=e}s.children.push(e),e.parent=s}var r,c;e.children=e.children.filter((function(e){return!e.slotScope})),d(e),e.pre&&(o=!1),br(e.tag)&&(l=!1);for(var u=0;u<_r.length;u++)_r[u](e,n)}function d(e){if(!l)for(var n=void 0;(n=e.children[e.children.length-1])&&3===n.type&&" "===n.text;)e.children.pop()}return function(e,n){for(var t,s,i=[],a=n.expectHTML,r=n.isUnaryTag||F,o=n.canBeLeftOpenTag||F,l=0,c=function(){if(t=e,s&&rr(s)){var c=0,p=s.toLowerCase(),h=or[p]||(or[p]=new RegExp("([\\s\\S]*?)(</"+p+"[^>]*>)","i"));k=e.replace(h,(function(e,t,s){return c=s.length,rr(p)||"noscript"===p||(t=t.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),pr(p,t)&&(t=t.slice(1)),n.chars&&n.chars(t),""})),l+=e.length-k.length,e=k,u(p,l-c,l)}else{var m=e.indexOf("<");if(0===m){if(ir.test(e)){var v=e.indexOf("--\x3e");if(v>=0)return n.shouldKeepComment&&n.comment&&n.comment(e.substring(4,v),l,l+v+3),d(v+3),"continue"}if(ar.test(e)){var g=e.indexOf("]>");if(g>=0)return d(g+2),"continue"}var f=e.match(sr);if(f)return d(f[0].length),"continue";var _=e.match(tr);if(_){var b=l;return d(_[0].length),u(_[1],b,l),"continue"}var y=function(){var n=e.match(er);if(n){var t={tagName:n[1],attrs:[],start:l};d(n[0].length);for(var s=void 0,i=void 0;!(s=e.match(nr))&&(i=e.match(Qa)||e.match(Xa));)i.start=l,d(i[0].length),i.end=l,t.attrs.push(i);if(s)return t.unarySlash=s[1],d(s[0].length),t.end=l,t}}();if(y)return function(e){var t=e.tagName,l=e.unarySlash;a&&("p"===s&&Wa(t)&&u(s),o(t)&&s===t&&u(t));for(var c=r(t)||!!l,d=e.attrs.length,p=new Array(d),h=0;h<d;h++){var m=e.attrs[h],v=m[3]||m[4]||m[5]||"",g="a"===t&&"href"===m[1]?n.shouldDecodeNewlinesForHref:n.shouldDecodeNewlines;p[h]={name:m[1],value:hr(v,g)}}c||(i.push({tag:t,lowerCasedTag:t.toLowerCase(),attrs:p,start:e.start,end:e.end}),s=t),n.start&&n.start(t,p,c,e.start,e.end)}(y),pr(y.tagName,e)&&d(1),"continue"}var w=void 0,k=void 0,T=void 0;if(m>=0){for(k=e.slice(m);!(tr.test(k)||er.test(k)||ir.test(k)||ar.test(k)||(T=k.indexOf("<",1))<0);)m+=T,k=e.slice(m);w=e.substring(0,m)}m<0&&(w=e),w&&d(w.length),n.chars&&w&&n.chars(w,l-w.length,l)}if(e===t)return n.chars&&n.chars(e),"break"};e&&"break"!==c(););function d(n){l+=n,e=e.substring(n)}function u(e,t,a){var r,o;if(null==t&&(t=l),null==a&&(a=l),e)for(o=e.toLowerCase(),r=i.length-1;r>=0&&i[r].lowerCasedTag!==o;r--);else r=0;if(r>=0){for(var c=i.length-1;c>=r;c--)n.end&&n.end(i[c].tag,t,a);i.length=r,s=r&&i[r-1].tag}else"br"===o?n.start&&n.start(e,[],!0,t,a):"p"===o&&(n.start&&n.start(e,[],!1,t,a),n.end&&n.end(e,t,a))}u()}(e,{warn:mr,expectHTML:n.expectHTML,isUnaryTag:n.isUnaryTag,canBeLeftOpenTag:n.canBeLeftOpenTag,shouldDecodeNewlines:n.shouldDecodeNewlines,shouldDecodeNewlinesForHref:n.shouldDecodeNewlinesForHref,shouldKeepComment:n.comments,outputSourceRange:n.outputSourceRange,start:function(e,a,r,d,u){var p=s&&s.ns||wr(e);J&&"svg"===p&&(a=function(e){for(var n=[],t=0;t<e.length;t++){var s=e[t];qr.test(s.name)||(s.name=s.name.replace(Kr,""),n.push(s))}return n}(a));var h,m=Fr(e,a,s);p&&(m.ns=p),"style"!==(h=m).tag&&("script"!==h.tag||h.attrsMap.type&&"text/javascript"!==h.attrsMap.type)||oe()||(m.forbidden=!0);for(var v=0;v<fr.length;v++)m=fr[v](m,n)||m;o||(function(e){null!=pi(e,"v-pre")&&(e.pre=!0)}(m),m.pre&&(o=!0)),br(m.tag)&&(l=!0),o?function(e){var n=e.attrsList,t=n.length;if(t)for(var s=e.attrs=new Array(t),i=0;i<t;i++)s[i]={name:n[i].name,value:JSON.stringify(n[i].value)},null!=n[i].start&&(s[i].start=n[i].start,s[i].end=n[i].end);else e.pre||(e.plain=!0)}(m):m.processed||(Br(m),function(e){var n=pi(e,"v-if");if(n)e.if=n,Ur(e,{exp:n,block:e});else{null!=pi(e,"v-else")&&(e.else=!0);var t=pi(e,"v-else-if");t&&(e.elseif=t)}}(m),function(e){null!=pi(e,"v-once")&&(e.once=!0)}(m)),t||(t=m),r?c(m):(s=m,i.push(m))},end:function(e,n,t){var a=i[i.length-1];i.length-=1,s=i[i.length-1],c(a)},chars:function(e,n,t){if(s&&(!J||"textarea"!==s.tag||s.attrsMap.placeholder!==e)){var i,c=s.children;if(e=l||e.trim()?"script"===(i=s).tag||"style"===i.tag?e:Or(e):c.length?r?"condense"===r&&Pr.test(e)?"":" ":a?" ":"":""){l||"condense"!==r||(e=e.replace(Dr," "));var d=void 0,u=void 0;!o&&" "!==e&&(d=function(e,n){var t=n?qa(n):Ga;if(t.test(e)){for(var s,i,a,r=[],o=[],l=t.lastIndex=0;s=t.exec(e);){(i=s.index)>l&&(o.push(a=e.slice(l,i)),r.push(JSON.stringify(a)));var c=ni(s[1].trim());r.push("_s(".concat(c,")")),o.push({"@binding":c}),l=i+s[0].length}return l<e.length&&(o.push(a=e.slice(l)),r.push(JSON.stringify(a))),{expression:r.join("+"),tokens:o}}}(e,vr))?u={type:2,expression:d.expression,tokens:d.tokens,text:e}:" "===e&&c.length&&" "===c[c.length-1].text||(u={type:3,text:e}),u&&c.push(u)}}},comment:function(e,n,t){if(s){var i={type:3,text:e,isComment:!0};s.children.push(i)}}}),t}function $r(e,n){var t;!function(e){var n=ui(e,"key");n&&(e.key=n)}(e),e.plain=!e.key&&!e.scopedSlots&&!e.attrsList.length,function(e){var n=ui(e,"ref");n&&(e.ref=n,e.refInFor=function(e){for(var n=e;n;){if(void 0!==n.for)return!0;n=n.parent}return!1}(e))}(e),function(e){var n;"template"===e.tag?(n=pi(e,"scope"),e.slotScope=n||pi(e,"slot-scope")):(n=pi(e,"slot-scope"))&&(e.slotScope=n);var t,s=ui(e,"slot");if(s&&(e.slotTarget='""'===s?'"default"':s,e.slotTargetDynamic=!(!e.attrsMap[":slot"]&&!e.attrsMap["v-bind:slot"]),"template"===e.tag||e.slotScope||ri(e,"slot",s,function(e,n){return e.rawAttrsMap[":"+n]||e.rawAttrsMap["v-bind:"+n]||e.rawAttrsMap[n]}(e,"slot"))),"template"===e.tag){if(t=hi(e,Ir)){var i=jr(t),a=i.name,r=i.dynamic;e.slotTarget=a,e.slotTargetDynamic=r,e.slotScope=t.value||Mr}}else if(t=hi(e,Ir)){var o=e.scopedSlots||(e.scopedSlots={}),l=jr(t),c=l.name,d=(r=l.dynamic,o[c]=Fr("template",[],e));d.slotTarget=c,d.slotTargetDynamic=r,d.children=e.children.filter((function(e){if(!e.slotScope)return e.parent=d,!0})),d.slotScope=t.value||Mr,e.children=[],e.plain=!1}
vendor: 1,701 bytes, line 2
2}(e),"slot"===(t=e).tag&&(t.slotName=ui(t,"name")),function(e){var n;(n=ui(e,"is"))&&(e.component=n),null!=pi(e,"inline-template")&&(e.inlineTemplate=!0)}(e);for(var s=0;s<gr.length;s++)e=gr[s](e,n)||e;return function(e){var n,t,s,i,a,r,o,l,c=e.attrsList;for(n=0,t=c.length;n<t;n++)if(s=i=c[n].name,a=c[n].value,Tr.test(s))if(e.hasBindings=!0,(r=Gr(s.replace(Tr,"")))&&(s=s.replace(Rr,"")),Cr.test(s))s=s.replace(Cr,""),a=ni(a),(l=Ar.test(s))&&(s=s.slice(1,-1)),r&&(r.prop&&!l&&"innerHtml"===(s=A(s))&&(s="innerHTML"),r.camel&&!l&&(s=A(s)),r.sync&&(o=gi(a,"$event"),l?di(e,'"update:"+('.concat(s,")"),o,null,!1,0,c[n],!0):(di(e,"update:".concat(A(s)),o,null,!1,0,c[n]),R(s)!==A(s)&&di(e,"update:".concat(R(s)),o,null,!1,0,c[n])))),r&&r.prop||!e.component&&yr(e.tag,e.attrsMap.type,s)?ai(e,s,a,c[n],l):ri(e,s,a,c[n],l);else if(kr.test(s))s=s.replace(kr,""),(l=Ar.test(s))&&(s=s.slice(1,-1)),di(e,s,a,r,!1,0,c[n],l);else{var d=(s=s.replace(Tr,"")).match(Lr),u=d&&d[1];l=!1,u&&(s=s.slice(0,-(u.length+1)),Ar.test(u)&&(u=u.slice(1,-1),l=!0)),li(e,s,i,a,u,l,r,c[n])}else ri(e,s,JSON.stringify(a),c[n]),!e.component&&"muted"===s&&yr(e.tag,e.attrsMap.type,s)&&ai(e,s,"true",c[n])}(e),e}function Br(e){var n;if(n=pi(e,"v-for")){var t=function(e){var n=e.match(Er);if(n){var t={};t.for=n[2].trim();var s=n[1].trim().replace(Sr,""),i=s.match(xr);return i?(t.alias=s.replace(xr,"").trim(),t.iterator1=i[1].trim(),i[2]&&(t.iterator2=i[2].trim())):t.alias=s,t}}(n);t&&D(e,t)}}function Ur(e,n){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push(n)}function jr(e){var n=e.name.replace(Ir,"");return n||"#"!==e.name[0]&&(n="default"),Ar.test(n)?{name:n.slice(1,-1),dynamic:!0}:{name:'"'.concat(n,'"'),dynamic:!1}
vendor: 12,945 bytes, line 2
2}function Gr(e){var n=e.match(Rr);if(n){var t={};return n.forEach((function(e){t[e.slice(1)]=!0})),t}}function zr(e){for(var n={},t=0,s=e.length;t<s;t++)n[e[t].name]=e[t].value;return n}var qr=/^xmlns:NS\d+/,Kr=/^NS\d+:/;function Vr(e){return Fr(e.tag,e.attrsList.slice(),e.parent)}var Hr,Yr,Wr={preTransformNode:function(e,n){if("input"===e.tag){var t=e.attrsMap;if(!t["v-model"])return;var s=void 0;if((t[":type"]||t["v-bind:type"])&&(s=ui(e,"type")),t.type||s||!t["v-bind"]||(s="(".concat(t["v-bind"],").type")),s){var i=pi(e,"v-if",!0),a=i?"&&(".concat(i,")"):"",r=null!=pi(e,"v-else",!0),o=pi(e,"v-else-if",!0),l=Vr(e);Br(l),oi(l,"type","checkbox"),$r(l,n),l.processed=!0,l.if="(".concat(s,")==='checkbox'")+a,Ur(l,{exp:l.if,block:l});var c=Vr(e);pi(c,"v-for",!0),oi(c,"type","radio"),$r(c,n),Ur(l,{exp:"(".concat(s,")==='radio'")+a,block:c});var d=Vr(e);return pi(d,"v-for",!0),oi(d,":type",s),$r(d,n),Ur(l,{exp:i,block:d}),r?l.else=!0:o&&(l.elseif=o),l}}}},Xr=[Ka,Va,Wr],Qr={expectHTML:!0,modules:Xr,directives:{model:function(e,n,t){var s=n.value,i=n.modifiers,a=e.tag,r=e.attrsMap.type;if(e.component)return vi(e,s,i),!1;if("select"===a)!function(e,n,t){var s=t&&t.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;'+"return ".concat(s?"_n(val)":"val","})"),a="var $$selectedVal = ".concat(i,";");di(e,"change",a="".concat(a," ").concat(gi(n,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]")),null,!0)}(e,s,i);else if("input"===a&&"checkbox"===r)!function(e,n,t){var s=t&&t.number,i=ui(e,"value")||"null",a=ui(e,"true-value")||"true",r=ui(e,"false-value")||"false";ai(e,"checked","Array.isArray(".concat(n,")")+"?_i(".concat(n,",").concat(i,")>-1")+("true"===a?":(".concat(n,")"):":_q(".concat(n,",").concat(a,")"))),di(e,"change","var $$a=".concat(n,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(a,"):(").concat(r,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(s?"_n("+i+")":i,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(gi(n,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(gi(n,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(gi(n,"$$c"),"}"),null,!0)}(e,s,i);else if("input"===a&&"radio"===r)!function(e,n,t){var s=t&&t.number,i=ui(e,"value")||"null";i=s?"_n(".concat(i,")"):i,ai(e,"checked","_q(".concat(n,",").concat(i,")")),di(e,"change",gi(n,i),null,!0)}(e,s,i);else if("input"===a||"textarea"===a)!function(e,n,t){var s=e.attrsMap.type,i=t||{},a=i.lazy,r=i.number,o=i.trim,l=!a&&"range"!==s,c=a?"change":"range"===s?Ti:"input",d="$event.target.value";o&&(d="$event.target.value.trim()"),r&&(d="_n(".concat(d,")"));var u=gi(n,d);l&&(u="if($event.target.composing)return;".concat(u)),ai(e,"value","(".concat(n,")")),di(e,c,u,null,!0),(o||r)&&di(e,"blur","$forceUpdate()")}(e,s,i);else if(!q.isReservedTag(a))return vi(e,s,i),!1;return!0},text:function(e,n){n.value&&ai(e,"textContent","_s(".concat(n.value,")"),n)},html:function(e,n){n.value&&ai(e,"innerHTML","_s(".concat(n.value,")"),n)}},isPreTag:function(e){return"pre"===e},isUnaryTag:Ha,mustUseProp:os,canBeLeftOpenTag:Ya,isReservedTag:ks,getTagNamespace:Ts,staticKeys:function(e){return e.reduce((function(e,n){return e.concat(n.staticKeys||[])}),[]).join(",")}(Xr)},Jr=x((function(e){return b("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))}));function Zr(e,n){e&&(Hr=Jr(n.staticKeys||""),Yr=n.isReservedTag||F,eo(e),no(e,!1))}function eo(e){if(e.static=function(e){return 2!==e.type&&(3===e.type||!(!e.pre&&(e.hasBindings||e.if||e.for||y(e.tag)||!Yr(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(Hr))))}(e),1===e.type){if(!Yr(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var n=0,t=e.children.length;n<t;n++){var s=e.children[n];eo(s),s.static||(e.static=!1)}if(e.ifConditions)for(n=1,t=e.ifConditions.length;n<t;n++){var i=e.ifConditions[n].block;eo(i),i.static||(e.static=!1)}}}function no(e,n){if(1===e.type){if((e.static||e.once)&&(e.staticInFor=n),e.static&&e.children.length&&(1!==e.children.length||3!==e.children[0].type))return void(e.staticRoot=!0);if(e.staticRoot=!1,e.children)for(var t=0,s=e.children.length;t<s;t++)no(e.children[t],n||!!e.for);if(e.ifConditions)for(t=1,s=e.ifConditions.length;t<s;t++)no(e.ifConditions[t].block,n)}}var to=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,so=/\([^)]*?\);*$/,io=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ao={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ro={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},oo=function(e){return"if(".concat(e,")return null;")},lo={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:oo("$event.target !== $event.currentTarget"),ctrl:oo("!$event.ctrlKey"),shift:oo("!$event.shiftKey"),alt:oo("!$event.altKey"),meta:oo("!$event.metaKey"),left:oo("'button' in $event && $event.button !== 0"),middle:oo("'button' in $event && $event.button !== 1"),right:oo("'button' in $event && $event.button !== 2")};function co(e,n){var t=n?"nativeOn:":"on:",s="",i="";for(var a in e){var r=uo(e[a]);e[a]&&e[a].dynamic?i+="".concat(a,",").concat(r,","):s+='"'.concat(a,'":').concat(r,",")}return s="{".concat(s.slice(0,-1),"}"),i?t+"_d(".concat(s,",[").concat(i.slice(0,-1),"])"):t+s}function uo(e){if(!e)return"function(){}";if(Array.isArray(e))return"[".concat(e.map((function(e){return uo(e)})).join(","),"]");var n=io.test(e.value),t=to.test(e.value),s=io.test(e.value.replace(so,""));if(e.modifiers){var i="",a="",r=[],o=function(n){if(lo[n])a+=lo[n],ao[n]&&r.push(n);else if("exact"===n){var t=e.modifiers;a+=oo(["ctrl","shift","alt","meta"].filter((function(e){return!t[e]})).map((function(e){return"$event.".concat(e,"Key")})).join("||"))}else r.push(n)};for(var l in e.modifiers)o(l);r.length&&(i+=function(e){return"if(!$event.type.indexOf('key')&&"+"".concat(e.map(po).join("&&"),")return null;")}(r)),a&&(i+=a);var c=n?"return ".concat(e.value,".apply(null, arguments)"):t?"return (".concat(e.value,").apply(null, arguments)"):s?"return ".concat(e.value):e.value;return"function($event){".concat(i).concat(c,"}")}return n||t?e.value:"function($event){".concat(s?"return ".concat(e.value):e.value,"}")}function po(e){var n=parseInt(e,10);if(n)return"$event.keyCode!==".concat(n);var t=ao[e],s=ro[e];return"_k($event.keyCode,"+"".concat(JSON.stringify(e),",")+"".concat(JSON.stringify(t),",")+"$event.key,"+"".concat(JSON.stringify(s))+")"}var ho={on:function(e,n){e.wrapListeners=function(e){return"_g(".concat(e,",").concat(n.value,")")}},bind:function(e,n){e.wrapData=function(t){return"_b(".concat(t,",'").concat(e.tag,"',").concat(n.value,",").concat(n.modifiers&&n.modifiers.prop?"true":"false").concat(n.modifiers&&n.modifiers.sync?",true":"",")")}},cloak:M},mo=function(e){this.options=e,this.warn=e.warn||si,this.transforms=ii(e.modules,"transformCode"),this.dataGenFns=ii(e.modules,"genData"),this.directives=D(D({},ho),e.directives);var n=e.isReservedTag||F;this.maybeComponent=function(e){return!!e.component||!n(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function vo(e,n){var t=new mo(n),s=e?"script"===e.tag?"null":go(e,t):'_c("div")';return{render:"with(this){return ".concat(s,"}"),staticRenderFns:t.staticRenderFns}}function go(e,n){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return fo(e,n);if(e.once&&!e.onceProcessed)return _o(e,n);if(e.for&&!e.forProcessed)return wo(e,n);if(e.if&&!e.ifProcessed)return bo(e,n);if("template"!==e.tag||e.slotTarget||n.pre){if("slot"===e.tag)return function(e,n){var t=e.slotName||'"default"',s=xo(e,n),i="_t(".concat(t).concat(s?",function(){return ".concat(s,"}"):""),a=e.attrs||e.dynamicAttrs?Lo((e.attrs||[]).concat(e.dynamicAttrs||[]).map((function(e){return{name:A(e.name),value:e.value,dynamic:e.dynamic}}))):null,r=e.attrsMap["v-bind"];return!a&&!r||s||(i+=",null"),a&&(i+=",".concat(a)),r&&(i+="".concat(a?"":",null",",").concat(r)),i+")"}(e,n);var t=void 0;if(e.component)t=function(e,n,t){var s=n.inlineTemplate?null:xo(n,t,!0);return"_c(".concat(e,",").concat(ko(n,t)).concat(s?",".concat(s):"",")")}(e.component,e,n);else{var s=void 0,i=n.maybeComponent(e);(!e.plain||e.pre&&i)&&(s=ko(e,n));var a=void 0,r=n.options.bindings;i&&r&&!1!==r.__isScriptSetup&&(a=function(e,n){var t=A(n),s=L(t),i=function(i){return e[n]===i?n:e[t]===i?t:e[s]===i?s:void 0},a=i("setup-const")||i("setup-reactive-const");if(a)return a;var r=i("setup-let")||i("setup-ref")||i("setup-maybe-ref");return r||void 0}(r,e.tag)),a||(a="'".concat(e.tag,"'"));var o=e.inlineTemplate?null:xo(e,n,!0);t="_c(".concat(a).concat(s?",".concat(s):"").concat(o?",".concat(o):"",")")}for(var l=0;l<n.transforms.length;l++)t=n.transforms[l](e,t);return t}return xo(e,n)||"void 0"}function fo(e,n){e.staticProcessed=!0;var t=n.pre;return e.pre&&(n.pre=e.pre),n.staticRenderFns.push("with(this){return ".concat(go(e,n),"}")),n.pre=t,"_m(".concat(n.staticRenderFns.length-1).concat(e.staticInFor?",true":"",")")}function _o(e,n){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return bo(e,n);if(e.staticInFor){for(var t="",s=e.parent;s;){if(s.for){t=s.key;break}s=s.parent}return t?"_o(".concat(go(e,n),",").concat(n.onceId++,",").concat(t,")"):go(e,n)}return fo(e,n)}function bo(e,n,t,s){return e.ifProcessed=!0,yo(e.ifConditions.slice(),n,t,s)}function yo(e,n,t,s){if(!e.length)return s||"_e()";var i=e.shift();return i.exp?"(".concat(i.exp,")?").concat(a(i.block),":").concat(yo(e,n,t,s)):"".concat(a(i.block));function a(e){return t?t(e,n):e.once?_o(e,n):go(e,n)}}function wo(e,n,t,s){var i=e.for,a=e.alias,r=e.iterator1?",".concat(e.iterator1):"",o=e.iterator2?",".concat(e.iterator2):"";return e.forProcessed=!0,"".concat(s||"_l","((").concat(i,"),")+"function(".concat(a).concat(r).concat(o,"){")+"return ".concat((t||go)(e,n))+"})"}function ko(e,n){var t="{",s=function(e,n){var t=e.directives;if(t){var s,i,a,r,o="directives:[",l=!1;for(s=0,i=t.length;s<i;s++){a=t[s],r=!0;var c=n.directives[a.name];c&&(r=!!c(e,a,n.warn)),r&&(l=!0,o+='{name:"'.concat(a.name,'",rawName:"').concat(a.rawName,'"').concat(a.value?",value:(".concat(a.value,"),expression:").concat(JSON.stringify(a.value)):"").concat(a.arg?",arg:".concat(a.isDynamicArg?a.arg:'"'.concat(a.arg,'"')):"").concat(a.modifiers?",modifiers:".concat(JSON.stringify(a.modifiers)):"","},"))}return l?o.slice(0,-1)+"]":void 0}}(e,n);s&&(t+=s+","),e.key&&(t+="key:".concat(e.key,",")),e.ref&&(t+="ref:".concat(e.ref,",")),e.refInFor&&(t+="refInFor:true,"),e.pre&&(t+="pre:true,"),e.component&&(t+='tag:"'.concat(e.tag,'",'));for(var i=0;i<n.dataGenFns.length;i++)t+=n.dataGenFns[i](e);if(e.attrs&&(t+="attrs:".concat(Lo(e.attrs),",")),e.props&&(t+="domProps:".concat(Lo(e.props),",")),e.events&&(t+="".concat(co(e.events,!1),",")),e.nativeEvents&&(t+="".concat(co(e.nativeEvents,!0),",")),e.slotTarget&&!e.slotScope&&(t+="slot:".concat(e.slotTarget,",")),e.scopedSlots&&(t+="".concat(function(e,n,t){var s=e.for||Object.keys(n).some((function(e){var t=n[e];return t.slotTargetDynamic||t.if||t.for||To(t)})),i=!!e.if;if(!s)for(var a=e.parent;a;){if(a.slotScope&&a.slotScope!==Mr||a.for){s=!0;break}a.if&&(i=!0),a=a.parent}var r=Object.keys(n).map((function(e){return Eo(n[e],t)})).join(",");return"scopedSlots:_u([".concat(r,"]").concat(s?",null,true":"").concat(!s&&i?",null,false,".concat(function(e){for(var n=5381,t=e.length;t;)n=33*n^e.charCodeAt(--t);return n>>>0}(r)):"",")")}(e,e.scopedSlots,n),",")),e.model&&(t+="model:{value:".concat(e.model.value,",callback:").concat(e.model.callback,",expression:").concat(e.model.expression,"},")),e.inlineTemplate){var a=function(e,n){var t=e.children[0];if(t&&1===t.type){var s=vo(t,n.options);return"inlineTemplate:{render:function(){".concat(s.render,"},staticRenderFns:[").concat(s.staticRenderFns.map((function(e){return"function(){".concat(e,"}")})).join(","),"]}")}}(e,n);a&&(t+="".concat(a,","))}return t=t.replace(/,$/,"")+"}",e.dynamicAttrs&&(t="_b(".concat(t,',"').concat(e.tag,'",').concat(Lo(e.dynamicAttrs),")")),e.wrapData&&(t=e.wrapData(t)),e.wrapListeners&&(t=e.wrapListeners(t)),t}function To(e){return 1===e.type&&("slot"===e.tag||e.children.some(To))}function Eo(e,n){var t=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!t)return bo(e,n,Eo,"null");if(e.for&&!e.forProcessed)return wo(e,n,Eo);var s=e.slotScope===Mr?"":String(e.slotScope),i="function(".concat(s,"){")+"return ".concat("template"===e.tag?e.if&&t?"(".concat(e.if,")?").concat(xo(e,n)||"undefined",":undefined"):xo(e,n)||"undefined":go(e,n),"}"),a=s?"":",proxy:true";return"{key:".concat(e.slotTarget||'"default"',",fn:").concat(i).c
2oncat(a,"}")}function xo(e,n,t,s,i){var a=e.children;if(a.length){var r=a[0];if(1===a.length&&r.for&&"template"!==r.tag&&"slot"!==r.tag){var o=t?n.maybeComponent(r)?",1":",0":"";return"".concat((s||go)(r,n)).concat(o)}var l=t?function(e,n){for(var t=0,s=0;s<e.length;s++){var i=e[s];if(1===i.type){if(So(i)||i.ifConditions&&i.ifConditions.some((function(e){return So(e.block)}))){t=2;break}(n(i)||i.ifConditions&&i.ifConditions.some((function(e){return n(e.block)})))&&(t=1)}}return t}(a,n.maybeComponent):0,c=i||Ao;return"[".concat(a.map((function(e){return c(e,n)})).join(","),"]").concat(l?",".concat(l):"")}}function So(e){return void 0!==e.for||"template"===e.tag||"slot"===e.tag}function Ao(e,n){return 1===e.type?go(e,n):3===e.type&&e.isComment?function(e){return"_e(".concat(JSON.stringify(e.text),")")}(e):"_v(".concat(2===(t=e).type?t.expression:Co(JSON.stringify(t.text)),")");var t}function Lo(e){for(var n="",t="",s=0;s<e.length;s++){var i=e[s],a=Co(i.value);i.dynamic?t+="".concat(i.name,",").concat(a,","):n+='"'.concat(i.name,'":').concat(a,",")}return n="{".concat(n.slice(0,-1),"}"),t?"_d(".concat(n,",[").concat(t.slice(0,-1),"])"):n}function Co(e){return e.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function Ro(e,n){try{return new Function(e)}catch(t){return n.push({err:t,code:e}),M}}function Io(e){var n=Object.create(null);return function(t,s,i){(s=D({},s)).warn,delete s.warn;var a=s.delimiters?String(s.delimiters)+t:t;if(n[a])return n[a];var r=e(t,s),o={},l=[];return o.render=Ro(r.render,l),o.staticRenderFns=r.staticRenderFns.map((function(e){return Ro(e,l)})),n[a]=o}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");var Po,Do,Oo=(Po=function(e,n){var t=Nr(e.trim(),n);!1!==n.optimize&&Zr(t,n);var s=vo(t,n);return{ast:t,render:s.render,staticRenderFns:s.staticRenderFns}},function(e){function n(n,t){var s=Object.create(e),i=[],a=[];if(t)for(var r in t.modules&&(s.modules=(e.modules||[]).concat(t.modules)),t.directives&&(s.directives=D(Object.create(e.directives||null),t.directives)),t)"modules"!==r&&"directives"!==r&&(s[r]=t[r]);s.warn=function(e,n,t){(t?a:i).push(e)};var o=Po(n.trim(),s);return o.errors=i,o.tips=a,o}return{compile:n,compileToFunctions:Io(n)}}),Mo=Oo(Qr).compileToFunctions;function Fo(e){return(Do=Do||document.createElement("div")).innerHTML=e?'<a href="\n"/>':'<div a="\n"/>',Do.innerHTML.indexOf(" ")>0}var No=!!X&&Fo(!1),$o=!!X&&Fo(!0),Bo=x((function(e){var n=Ss(e);return n&&n.innerHTML})),Uo=Jt.prototype.$mount;Jt.prototype.$mount=function(e,n){if((e=e&&Ss(e))===document.body||e===document.documentElement)return this;var t=this.$options;if(!t.render){var s=t.template;if(s)if("string"==typeof s)"#"===s.charAt(0)&&(s=Bo(s));else{if(!s.nodeType)return this;s=s.innerHTML}else e&&(s=function(e){if(e.outerHTML)return e.outerHTML;var n=document.createElement("div");return n.appendChild(e.cloneNode(!0)),n.innerHTML}(e));if(s){var i=Mo(s,{outputSourceRange:!1,shouldDecodeNewlines:No,shouldDecodeNewlinesForHref:$o,delimiters:t.delimiters,comments:t.comments},this),a=i.render,r=i.staticRenderFns;t.render=a,t.staticRenderFns=r}}return Uo.call(this,e,n)},Jt.compile=Mo;var jo=function(){var e,n,t,s,i=this,a=i._self._c;return a("div",{staticClass:"feedback-form"},[a("Popup",{attrs:{"is-show":i.isSuccessModal,type:"decor"},on:{close:function(e){i.isSuccessModal=!1}}},[null!==(e=i.translations)&&void 0!==e&&e.successTitle?a("h3",{staticClass:"popup-title",domProps:{innerHTML:i._s(i.translations.successTitle)}}):i._e(),i._v(" "),null!==(n=i.translations)&&void 0!==n&&n.successText?a("div",{staticClass:"popup-text"},[a("p",[i._v(i._s(i.translations.successText))])]):i._e(),i._v(" "),a("button",{staticClass:"button button_theme_primary popup-button",attrs:{type:"button"},on:{click:function(e){e.preventDefault(),i.isSuccessModal=!1}}},[i._v("\n "+i._s("ru"===i.language?"ÐонÑÑно":"Ok")+"\n ")])]),i._v(" "),a("Popup",{attrs:{"is-show":i.isQualityModal},on:{close:function(e){i.isQualityModal=!1}}},[null!==(t=i.translations)&&void 0!==t&&t.infoPanelTitle?a("h3",{staticClass:"popup-title",domProps:{innerHTML:i._s(i.translations.infoPanelTitle)}}):i._e(),i._v(" "),a("div",{staticClass:"popup-text"},[null!==(s=i.translations)&&void 0!==s&&s.infoPanelText?a("p",[i._v("\n "+i._s(i.translations.infoPanelText)+"\n ")]):i._e()]),i._v(" "),a("button",{staticClass:"button button_theme_primary popup-button",attrs:{type:"button"},on:{click:function(e){e.preventDefault(),i.isQualityModal=!1}}},[i._v("\n "+i._s("ru"===i.language?"ÐонÑÑно":"Ok")+"\n ")])]),i._v(" "),a("ValidationObserver",{ref:"form",scopedSlots:i._u([{key:"default",fn:function(e){var n,t,s;return[a("form",{on:{submit:function(n){return n.preventDefault(),e.handleSubmit(i.onSubmit)}}},[a("div",{staticClass:"feedback-form__field"},[a("div",{staticClass:"field-error"},[i._v("\n "+i._s(i.error)+"\n ")])]),i._v(" "),a("ValidationProvider",{attrs:{rules:"required|alpha"},scopedSlots:i._u([{key:"default",fn:function(e){var n,t=e.untouched,s=e.invalid,r=e.errors;return[a("div",{staticClass:"feedback-form__field"},[a("input",{directives:[{name:"model",rawName:"v-model",value:i.form.name,expression:"form.name"}],staticClass:"field-input",class:{isInvalid:s&&!t},attrs:{type:"text",name:"name",placeholder:null===(n=i.translations)||void 0===n?void 0:n.placeholder.name,maxlength:"30"},domProps:{value:i.form.name},on:{input:function(e){e.target.composing||i.$set(i.form,"name",e.target.value)}}}),i._v(" "),a("div",{staticClass:"field-error"},[i._v("\n "+i._s(r[0])+"\n ")])])]}}],null,!0)}),i._v(" "),a("ValidationProvider",{attrs:{rules:"required|email"},scopedSlots:i._u([{key:"default",fn:function(e){var n,t=e.untouched,s=e.invalid,r=e.errors;return[a("div",{staticClass:"feedback-form__field"},[a("input",{directives:[{name:"model",rawName:"v-model",value:i.form.email,expression:"form.email"}],staticClass:"field-input",class:{isInvalid:s&&!t},attrs:{type:"text",name:"email",placeholder:null===(n=i.translations)||void 0===n?void 0:n.placeholder.email,maxlength:"30"},domProps:{value:i.form.email},on:{input:function(e){e.target.composing||i.$set(i.form,"email",e.target.value)}}}),i._v(" "),a("div",{staticClass:"field-error"},[i._v("\n "+i._s(r[0])+"\n ")])])]}}],null,!0)}),i._v(" "),a("ValidationProvider",{attrs:{rules:"required"},scopedSlots:i._u([{key:"default",fn:function(e){var n,t=e.untouched,s=e.invalid,r=e.errors;return[a("div",{staticClass:"feedback-form__field"},[a("input",{directives:[{name:"model",rawName:"v-model",value:i.form.phone,expression:"form.phone"},{name:"mask",rawName:"v-mask",value:"+7(###)-###-####",expression:"'+7(###)-###-####'"}],staticClass:"field-input",class:{isInvalid:s&&!t},attrs:{type:"tel",name:"phone",placeholder:null===(n=i.translations)||void 0===n?void 0:n.placeholder.phone},domProps:{value:i.form.phone},on:{input:function(e){e.target.composing||i.$set(i.form,"phone",e.target.value)}}}),i._v(" "),a("div",{staticClass:"field-error"},[i._v("\n "+i._s(r[0])+"\n ")])])]}}],null,!0)}),i._v(" "),a("ValidationProvider",{attrs:{rules:"required"},scopedSlots:i._u([{key:"default",fn:function(e){var n,t=e.errors;return[a("div",{staticClass:"feedback-form__field"},[a("VSelect",{staticClass:"field-select",class:{isInvalid:t.length},attrs:{name:"theme",options:i.options,label:"caption",placeholder:null===(n=i.translations)||void 0===n?void 0:n.placeholder.theme},scopedSlots:i._u([{key:"option",fn:function(e){return[i._v("\n "+i._s(e.caption)+"\n "),e.info?a("span",{staticClass:"info-toggler",on:{click:function(e){return e.stopPropagation(),i.showModalQuality.apply(null,arguments)}}}):i._e()]}}],null,!0),model:{value:i.form.theme,callback:function(e){i.$set(i.form,"theme",e)},expression:"form.theme"}}),i._v(" "),a("div",{staticClass:"field-error"},[i._v("\n "+i._s(t[0])+"\n ")])],1)]}}],null,!0)}),i._v(" "),a("div",{staticClass:"feedback-form__field"},[a("textarea",{directives:[{name:"model",rawName:"v-model",value:i.form.message,expression:"form.message"}],staticClass:"field-input field-input_textarea",attrs:{name:"message",rows:"4",cols:"30",placeholder:null===(n=i.translations)||void 0===n?void 0:n.placeholder.message},domProps:{value:i.form.message},on:{input:function(e){e.target.composing||i.$set(i.form,"message",e.target.value)}}})]),i._v(" "),a("ValidationProvider",{attrs:{rules:"accepted",vid:"isAcceptedRules"},scopedSlots:i._u([{key:"default",fn:function(e){var n=e.untouched,t=e.invalid,s=e.errors;return[a("div",{staticClass:"feedback-form__field feedback-form__checkbox feedback-form__policy"},[a("label",{staticClass:"checkbox-label"},[a("input",{directives:[{name:"model",rawName:"v-model",value:i.form.isAcceptedRules,expression:"form.isAcceptedRules"}],staticClass:"checkbox-input",class:{isInvalid:t&&!n},attrs:{type:"checkbox",name:"isAcceptedRules"},domProps:{checked:Array.isArray(i.form.isAcceptedRules)?i._i(i.form.isAcceptedRules,null)>-1:i.form.isAcceptedRules},on:{change:function(e){var n=i.form.isAcceptedRules,t=e.target,s=!!t.checked;if(Array.isArray(n)){var a=i._i(n,null);t.checked?a<0&&i.$set(i.form,"isAcceptedRules",n.concat([null])):a>-1&&i.$set(i.form,"isAcceptedRules",n.slice(0,a).concat(n.slice(a+1)))}else i.$set(i.form,"isAcceptedRules",s)}}}),i._v(" "),a("span",{staticClass:"checkbox-custom"}),i._v(" "),a("span",{staticClass:"checkbox-text"},[i._v("\n Я Ð´Ð°Ñ "),a("a",{attrs:{href:"/personal-data-processing-policy/"}},[i._v("ÑоглаÑие на обÑабоÑÐºÑ ÑвоиÑ
пеÑÑоналÑнÑÑ
даннÑÑ
")]),i._v('\n на оÑновании ФедеÑалÑного закона â152-ФР"РпеÑÑоналÑнÑÑ
даннÑÑ
" Ð¾Ñ 27.07.2006 в ÑооÑвеÑÑÑвии Ñ\n '),a("a",{attrs:{href:"/policy/"}},[i._v("ÐолиÑикой конÑиденÑиалÑноÑÑи")]),i._v(".\n ")])]),i._v(" "),a("div",{staticClass:"field-error feedback-form__policy-error"},[i._v("\n "+i._s(s[0])+"\n ")])])]}}],null,!0)}),i._v(" "),a("div",{staticClass:"feedback-form__actions"},[a("button",{staticClass:"button button_theme_primary",attrs:{disabled:e.invalid||!i.form.isAcceptedRules,type:"submit"}},[i._v("\n "+i._s(null===(t=i.translations)||void 0===t?void 0:t.btnText)+"\n ")]),i._v(" "),a("p",{staticClass:"feedback-form__text",domProps:{innerHTML:i._s(null===(s=i.translations)||void 0===s?void 0:s.rules)}}
2)])],1)]}}])})],1)};jo._withStripped=!0;var Go=function(){var e=this,n=e._self._c;return n("Teleport",{attrs:{to:"body"}},[n("div",{staticClass:"popup",class:e.classNames},[n("div",{staticClass:"popup__wrapper"},[n("div",{staticClass:"popup__content"},[n("button",{staticClass:"popup__close",attrs:{type:"button"},on:{click:function(n){return n.preventDefault(),e.close.apply(null,arguments)}}},[n("svg",{staticClass:"svg-icon popup__close-icon",attrs:{"aria-hidden":"true"}},[n("use",{attrs:{"xlink:href":"/assets/images/sprites/sprite.svg#icon-close"}})])]),e._v(" "),e._t("default")],2)])])])};Go._withStripped=!0;var zo=t(1372),qo={name:"teleport",props:{to:{type:String,required:!0},where:{type:String,default:"after"},disabled:Boolean},data:function(){return{nodes:[],waiting:!1,observer:null,parent:null}},watch:{to:"maybeMove",where:"maybeMove",disabled:function(e){var n=this;e?(this.disable(),this.$nextTick((function(){n.teardownObserver()}))):(this.bootObserver(),this.move())}},mounted:function(){this.nodes=Array.from(this.$el.childNodes),this.disabled||this.bootObserver(),this.maybeMove()},beforeDestroy:function(){this.nodes=this.getComponentChildrenNode(),this.disable(),this.teardownObserver()},computed:{classes:function(){return this.disabled?["teleporter"]:["teleporter","hidden"]}},methods:{maybeMove:function(){this.disabled||this.move()},move:function(){if(this.waiting=!1,this.parent=document.querySelector(this.to),!this.parent)return this.disable(),void(this.waiting=!0);"before"===this.where?this.parent.prepend(this.getFragment()):this.parent.appendChild(this.getFragment())},disable:function(){this.$el.appendChild(this.getFragment()),this.parent=null},getFragment:function(){var e=document.createDocumentFragment();return this.nodes.forEach((function(n){return e.appendChild(n)})),e},onMutations:function(e){for(var n=this,t=!1,s=0;s<e.length;s++){var i=e[s],a=Array.from(i.addedNodes).filter((function(e){return!n.nodes.includes(e)}));Array.from(i.removedNodes).includes(this.parent)?(this.disable(),this.waiting=!this.disabled):this.waiting&&a.length>0&&(t=!0)}t&&this.move()},bootObserver:function(){var e=this;this.observer||(this.observer=new MutationObserver((function(n){return e.onMutations(n)})),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!1,characterData:!1}),this.childObserver||(this.childObserver=new MutationObserver((function(n){n.find((function(n){return n.target===e.$el}))&&(e.nodes.forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),e.nodes=e.getComponentChildrenNode(),e.maybeMove())})),this.childObserver.observe(this.$el,{childList:!0,subtree:!1,attributes:!1,characterData:!1})))},teardownObserver:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.childObserver&&(this.childObserver.disconnect(),this.childObserver=null)},getComponentChildrenNode:function(){return this.$vnode.componentOptions.children.map((function(e){return e.elm})).filter((function(e){return e}))}}};function Ko(e,n,t,s,i,a,r,o,l,c){"boolean"!=typeof r&&(l=o,o=r,r=!1);var d,u="function"==typeof t?t.options:t;if(e&&e.render&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0,i&&(u.functional=!0)),s&&(u._scopeId=s),a?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=d):n&&(d=r?function(e){n.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){n.call(this,o(e))}),d)if(u.functional){var p=u.render;u.render=function(e,n){return d.call(n),p(e,n)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,d):[d]}return t}var Vo,Ho="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function Yo(e){return function(e,n){return function(e,n){var t=Ho?n.media||"default":e,s=Wo[t]||(Wo[t]={ids:new Set,styles:[]});if(!s.ids.has(e)){s.ids.add(e);var i=n.source;if(n.map&&(i+="\n/*# sourceURL="+n.map.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),s.element||(s.element=document.createElement("style"),s.element.type="text/css",n.media&&s.element.setAttribute("media",n.media),void 0===Vo&&(Vo=document.head||document.getElementsByTagName("head")[0]),Vo.appendChild(s.element)),"styleSheet"in s.element)s.styles.push(i),s.element.styleSheet.cssText=s.styles.filter(
2Boolean).join("\n");else{var a=s.ids.size-1,r=document.createTextNode(i),o=s.element.childNodes;o[a]&&s.element.removeChild(o[a]),o.length?s.element.insertBefore(r,o[a]):s.element.appendChild(r)}}}(e,n)}}var Wo={},Xo=qo,Qo=function(){var e=this,n=e.$createElement;return(e._self._c||n)("div",{class:e.classes},[e._t("default")],2)};Qo._withStripped=!0;var Jo=Ko({render:Qo,staticRenderFns:[]},(function(e){e&&e("data-v-50f4b45b_0",{source:".hidden[data-v-50f4b45b] {\n visibility: hidden;\n display: none;\n}\n\n/*# sourceMappingURL=Teleport.vue.map */",map:{version:3,sources:["/home/shodan/Projects/vue2-teleport/src/Teleport.vue","Teleport.vue"],names:[],mappings:"AA2LA;EACA,kBAAA;EACA,aAAA;AC1LA;;AAEA,uCAAuC",file:"Teleport.vue",sourcesContent:["<template>\n <div :class=\"classes\">\n <slot/>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'teleport',\n props: {\n to: {\n type: String,\n required: true,\n },\n where: {\n type: String,\n default: 'after',\n },\n disabled: Boolean,\n },\n data() {\n return {\n nodes: [],\n waiting: false,\n observer: null,\n parent: null,\n };\n },\n watch: {\n to: 'maybeMove',\n where: 'maybeMove',\n disabled(value) {\n if (value) {\n this.disable();\n // Ensure all event done.\n this.$nextTick(() => {\n this.teardownObserver();\n });\n } else {\n this.bootObserver();\n this.move();\n }\n },\n },\n mounted() {\n // Store a reference to the nodes\n this.nodes = Array.from(this.$el.childNodes);\n\n if (!this.disabled) {\n this.bootObserver();\n }\n\n // Move slot content to target\n this.maybeMove();\n },\n beforeDestroy() {\n // Fix nodes reference\n this.nodes = this.getComponentChildrenNode();\n\n // Move back\n this.disable();\n\n // Stop observing\n this.teardownObserver();\n },\n computed: {\n classes() {\n if (this.disabled) {\n return ['teleporter'];\n }\n\n return ['teleporter', 'hidden'];\n },\n },\n methods: {\n maybeMove() {\n if (!this.disabled) {\n this.move();\n }\n },\n move() {\n this.waiting = false;\n\n this.parent = document.querySelector(this.to);\n\n if (!this.parent) {\n this.disable();\n\n this.waiting = true;\n\n return;\n }\n\n if (this.where === 'before') {\n this.parent.prepend(this.getFragment());\n } else {\n this.parent.appendChild(this.getFragment());\n }\n },\n disable() {\n this.$el.appendChild(this.getFragment());\n this.parent = null;\n },\n // Using a fragment is faster because it'll trigger only a single reflow\n // See https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment\n getFragment() {\n const fragment = document.createDocumentFragment();\n\n this.nodes.forEach(node => fragment.appendChild(node));\n\n return fragment;\n },\n onMutations(mutations) {\n // Makes sure the move operation is only done once\n let shouldMove = false;\n\n for (let i = 0; i < mutations.length; i++) {\n const mutation = mutations[i];\n const filteredAddedNodes = Array.from(mutation.addedNodes).filter(node => !this.nodes.includes(node));\n\n if (Array.from(mutation.removedNodes).includes(this.parent)) {\n this.disable();\n this.waiting = !this.disabled;\n } else if (this.waiting && filteredAddedNodes.length > 0) {\n shouldMove = true;\n }\n }\n\n if (shouldMove) {\n this.move();\n }\n },\n bootObserver() {\n if (this.observer) {\n return;\n }\n\n this.observer = new MutationObserver(mutations => this.onMutations(mutations));\n\n this.observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: false,\n characterData: false,\n });\n\n if (this.childObserver) {\n return;\n }\n // watch childNodes change\n this.childObserver = new MutationObserver(mutations =>
2 {\n const childChangeRecord = mutations.find(i => i.target === this.$el);\n if (childChangeRecord) {\n // Remove old nodes before update position.\n this.nodes.forEach((node) => node.parentNode && node.parentNode.removeChild(node));\n this.nodes = this.getComponentChildrenNode();\n this.maybeMove();\n }\n });\n\n this.childObserver.observe(this.$el, {\n childList: true,\n subtree: false,\n attributes: false,\n characterData: false,\n });\n },\n teardownObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n if (this.childObserver) {\n this.childObserver.disconnect();\n this.childObserver = null;\n }\n },\n getComponentChildrenNode() {\n return this.$vnode.componentOptions.children\n .map((i) => i.elm)\n .filter((i) => i);\n },\n },\n};\n<\/script>\n\n<style scoped lang=\"scss\">\n.hidden {\n visibility: hidden;\n display: none;\n}\n</style>\n",".hidden {\n visibility: hidden;\n display: none;\n}\n\n/*# sourceMappingURL=Teleport.vue.map */"]},media:void 0})}),Xo,"data-v-50f4b45b",!1,void 0,!1,Yo,void 0,void 0),Zo={install:function e(n){e.installed||(e.installed=!0,n.component("Teleport",Jo))}},el=null;function nl(e,n,t,s,i,a,r,o){var l,c="function"==typeof e?e.options:e;if(n&&(c.render=n,c.staticRenderFns=t,c._compiled=!0),s&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=o?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(e,n){return l.call(n),d(e,n)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}"undefined"!=typeof window?el=window.Vue:void 0!==t.g&&(el=t.g.Vue),el&&el.use(Zo);const tl=nl({name:"Popup",components:{Teleport:Jo},props:{isShow:{type:Boolean,default:!1},type:{type:String,default:"ordinary",validator:function(e){return["ordinary","decor","gallery"].includes(e)}}},emits:["close"],computed:{classNames:function(){return[this.isShow&&"isPopupActive",this.type&&"popup_type_".concat(this.type)]}},watch:{isShow:{immediate:!0,handler:function(e){e?(0,zo.s2)():(0,zo.Tl)()}}},beforeUnmount:function(){this.isShow&&(0,zo.Tl)()},methods:{close:function(){this.$emit("close")}}},Go,[],!1,null,null,null).exports;function sl(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);n&&(s=s.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,s)}return t}function il(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?sl(Object(t),!0).forEach((function(n){rl(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):sl(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function al(e){return al="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},al(e)}function rl(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var ol="_",ll="function",cl=[];function dl(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}var ul="[]",pl=[],hl="";function ml(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:hl,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:pl,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!dl(n)){if(al(n)!==ll)throw new Error("Text-mask:conformToMask; The mask property must be an array.");n=function(e){for(var n,t=[];-1!==(n=e.indexOf(ul));)t.push(n),e.splice(n,1);return{maskWithoutCaretTraps:e,indexes:t}}(n=n(e,t)).maskWithoutCaretTraps}var s=t.guide,i=void 0===s||s,a=t.previousConformedValue,r=void 0===a?hl:a,o=t.placeholderChar,l=void 0===o?ol:o,c=t.placeholder,d=void 0===c?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:cl,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ol;if(!dl(e))throw new Error("Text-mask:convertMaskToPlaceholder; The mask property must be an array.");if(-1!==e.indexOf(n))throw new Error("Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\n\n"+"The placeholder character that was received is: ".concat(JSON.stringify(n),"\n\n")+"The mask that was received is: ".concat(JSON.stringify(e)));return e.map((function(e){return e instanceof RegExp?n:e})).join("")}(n,l):c,u=t.currentCaretPosition,p=t.keepCharPositions,h=!1===i&&void 0!==r,m=e.length,v=r.length,g=d.length,f=n.length,_=m-v,b=_>0,y=u+(b?-_:0),w=y+Math.abs(_);if(!0===p&&!b){for(var k=hl,T=y;T<w;T++)d[T]===l&&(k+=l);e=e.slice(0,y)+k+e.slice(y,m)}for(var E=e.split(hl).map((function(e,n){return{char:e,isNew:n>=y&&n<w}})),x=m-1;x>=0;x--){var S=E[x].char;S!==l&&S===d[x>
2=y&&v===f?x-_:x]&&E.splice(x,1)}var A=hl,L=!1;e:for(var C=0;C<g;C++){var R=d[C];if(R===l){if(E.length>0)for(;E.length>0;){var I=E.shift(),P=I.char,D=I.isNew;if(P===l&&!0!==h){A+=l;continue e}if(n[C].test(P)){if(!0===p&&!1!==D&&r!==hl&&!1!==i&&b){for(var O=E.length,M=null,F=0;F<O;F++){var N=E[F];if(N.char!==l&&!1===N.isNew)break;if(N.char===l){M=F;break}}null!==M?(A+=P,E.splice(M,1)):C--}else A+=P;continue e}L=!0}!1===h&&(A+=d.substr(C,g));break}A+=R}if(h&&!1===b){for(var $=null,B=0;B<A.length;B++)d[B]===l&&($=B);A=null!==$?A.substr(0,$+1):hl}return{conformedValue:A,meta:{someCharsRejected:L}}}var vl={__nextCharOptional__:!0},gl={"#":/\d/,A:/[a-z]/i,N:/[a-z0-9]/i,"?":vl,X:/./},fl=function(e){return function(e){var n=e.lastIndexOf("/");return new RegExp(e.slice(1,n),e.slice(n+1))}(e.toString().replace(/.(\/)[gmiyus]{0,6}$/,(function(e){return e.replace("/","?/")})))},_l=function(e){return e instanceof RegExp?e:function(e){return new RegExp("/[".concat(function(e){return"[\\^$.|?*+()".indexOf(e)>-1?"\\".concat(e):e}(e),"]/"))}(e)};function bl(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return e.map((function(e,t,s){var i=n[e]||e,a=s[t-1],r=n[a]||a;return i===vl?null:r===vl?fl(_l(i)):i})).filter(Boolean)}var yl=function(e,n){var t=document.createEvent("HTMLEvents");t.initEvent(n,!0,!0),e.dispatchEvent(t)},wl=function(e){return e instanceof HTMLInputElement?e:e.querySelector("input")||e},kl=function(e){return"function"==typeof e},Tl=function(e){return"string"==typeof e},El=function(e){return e instanceof RegExp};function xl(e,n){return Array.isArray(e)?function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return bl(e.map((function(e){return e instanceof RegExp?e:"string"==typeof e?e.split(""):null})).filter(Boolean).reduce((function(e,n){return e.concat(n)}),[]),n)}(e,n):kl(e)?e:Tl(e)&&e.length>0?function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return bl(e.split(""),n)}(e,n):e}function Sl(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return null===e||Array.isArray(e)||"object"!==al(e)?n:Object.keys(e).reduce((function(n,t){var s=e[t];return null===s||s instanceof RegExp?il(il({},n),{},rl({},t,s)):n}),n)}var Al=function(){var e=new Map,n={previousValue:"",mask:[]};function t(t){return e.get(t)||il({},n)}return{partiallyUpdate:function(n,s){e.set(n,il(il({},t(n)),s))},remove:function(n){e.delete(n)},get:t}}();function Ll(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e.value,s=Al.get(e),i=s.previousValue,a=s.mask,r=t!==i,o=t.length>i.length;if((n||t&&r&&o)&&a){var l=ml(t,a,{guide:!1}).conformedValue;e.value=l,function(e){yl(e,"input")}(e)}Al.partiallyUpdate(e,{previousValue:t})}function Cl(e,n,t){var s=xl(n,t);Al.partiallyUpdate(e,{mask:s})}function Rl(e){return(Array.isArray(e)?e:[e]).filter((function(e){return Tl(e)||El(e)})).toString()}var Il=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Sl(e&&e.placeholders);return{bind:function(e,t){var s=t.value;Cl(e=wl(e),s,n),Ll(e)},componentUpdated:function(e,t){var s=t.value,i=t.oldValue;e=wl(e);var a=kl(s)||Rl(i)!==Rl(s);a&&Cl(e,s,n),Ll(e,a)},unbind:function(e){e=wl(e),Al.remove(e)}}}();!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Sl(e&&e.placeholders)}();var Pl=function(){return Pl=Object.assign||function(e){for(var n,t=1,s=arguments.length;t<s;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e},Pl.apply(this,arguments)};function Dl(e,n,t,s){return new(t||(t=Promise))((function(i,a){function r(e){try{l(s.next(e))}catch(e){a(e)}}function o(e){try{l(s.throw(e))}catch(e){a(e)}}function l(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(r,o)}l((s=s.apply(e,n||[])).next())}))}function Ol(e,n){var t,s,i,a,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
2function o(a){return function(o){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;r;)try{if(t=1,s&&(i=2&a[0]?s.return:a[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,a[1])).done)return i;switch(s=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,s=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!((i=(i=r.trys).length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){r.label=a[1];break}if(6===a[0]&&r.label<i[1]){r.label=i[1],i=a;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(a);break}i[2]&&r.ops.pop(),r.trys.pop();continue}a=n.call(e,r)}catch(e){a=[6,e],s=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}function Ml(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var s=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],r=0,o=a.length;r<o;r++,i++)s[i]=a[r];return s}function Fl(e){return e!=e}function Nl(e){return null==e}var $l=function(e){return null!==e&&e&&"object"==typeof e&&!Array.isArray(e)};function Bl(e){return""!==e&&!Nl(e)}function Ul(e){return"function"==typeof e}function jl(e){return Ul(e)&&!!e.__locatorRef}function Gl(e,n){var t=Array.isArray(e)?e:ql(e);if(Ul(t.findIndex))return t.findIndex(n);for(var s=0;s<t.length;s++)if(n(t[s],s))return s;return-1}function zl(e,n){return-1!==e.indexOf(n)}function ql(e){return Ul(Array.from)?Array.from(e):function(e){for(var n=[],t=e.length,s=0;s<t;s++)n.push(e[s]);return n}(e)}function Kl(e){return Ul(Object.values)?Object.values(e):Object.keys(e).map((function(n){return e[n]}))}function Vl(e,n){return Object.keys(n).forEach((function(t){if($l(n[t]))return e[t]||(e[t]={}),void Vl(e[t],n[t]);e[t]=n[t]})),e}function Hl(e,n,t){return void 0===n&&(n=0),void 0===t&&(t={cancelled:!1}),0===n?e:function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];clearTimeout(s),s=setTimeout((function(){s=void 0,t.cancelled||e.apply(void 0,i)}),n)};var s}function Yl(e,n){return e.replace(/{([^}]+)}/g,(function(e,t){return t in n?n[t]:"{"+t+"}"}))}var Wl={},Xl=function(){function e(){}return e.extend=function(e,n){var t=function(e){var n;return(null===(n=e.params)||void 0===n?void 0:n.length)&&(e.params=e.params.map((function(e){return"string"==typeof e?{name:e}:e}))),e}(n);Wl[e]?Wl[e]=Vl(Wl[e],n):Wl[e]=Pl({lazy:!1,computesRequired:!1},t)},e.isLazy=function(e){var n;return!!(null===(n=Wl[e])||void 0===n?void 0:n.lazy)},e.isRequireRule=function(e){var n;return!!(null===(n=Wl[e])||void 0===n?void 0:n.computesRequired)},e.getRuleDefinition=function(e){return Wl[e]},e}();function Ql(e,n){!function(e,n){if(!Ul(n)&&!Ul(n.validate)&&!Xl.getRuleDefinition(e))throw new Error("Extension Error: The validator '"+e+"' must be a function or have a 'validate' method.")}(e,n),"object"!=typeof n?Xl.extend(e,{validate:n}):Xl.extend(e,n)}var Jl=Pl({},{defaultMessage:"{_field_} is not valid.",skipOptional:!0,classes:{touched:"touched",untouched:"untouched",valid:"valid",invalid:"invalid",pristine:"pristine",dirty:"dirty"},bails:!0,mode:"aggressive",useConstraintAttrs:!0}),Zl=function(){return Jl};function ec(e){var n={};return Object.defineProperty(n,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?$l(e)&&e._$$isNormalized?e:$l(e)?Object.keys(e).reduce((function(n,t){var s;return s=!0===e[t]?[]:Array.isArray(e[t])||$l(e[t])?e[t]:[e[t]],!1!==e[t]&&(n[t]=nc(t,s)),n}),n):"string"!=typeof e?(console.warn("[vee-validate] rules must be either a string or an object."),n):e.split("|").reduce((function(e,n){var t=tc(n);return t.name?(e[t.name]=nc(t.name,t.params),e):e}),n):n}function nc(e,n){var t=Xl.getRuleDefinition(e);if(!t)return n;var s,i,a={};if(!t.params&&!Array.isArray(n))throw new Error("You provided an object params to a rule that has no defined schema.");if(Array.isArray(n)&&!t.params)return n;s=!t.params||t.params.length<n.length&&Array.isArray(n)?n.map((function(e,n){var s,a=null===(s=t.params)||void 0===s?void 0:s[n];return i=a||i,a||(a=i),a})):t.params;for(var r=0;r<s.length;r++){var o=s[r],l=o.default;
2Array.isArray(n)?r in n&&(l=n[r]):o.name in n?l=n[o.name]:1===s.length&&(l=n),o.isTarget&&(l=sc(l,o.cast)),"string"==typeof l&&"@"===l[0]&&(l=sc(l.slice(1),o.cast)),!jl(l)&&o.cast&&(l=o.cast(l)),a[o.name]?(a[o.name]=Array.isArray(a[o.name])?a[o.name]:[a[o.name]],a[o.name].push(l)):a[o.name]=l}return a}var tc=function(e){var n=[],t=e.split(":")[0];return zl(e,":")&&(n=e.split(":").slice(1).join(":").split(",")),{name:t,params:n}};function sc(e,n){var t=function(t){var s=t[e];return n?n(s):s};return t.__locatorRef=e,t}function ic(e,n,t){return void 0===t&&(t={}),Dl(this,void 0,void 0,(function(){var s,i,a,r,o,l;return Ol(this,(function(c){switch(c.label){case 0:return s=null==t?void 0:t.bails,i=null==t?void 0:t.skipIfEmpty,[4,ac({name:(null==t?void 0:t.name)||"{field}",rules:ec(n),bails:null==s||s,skipIfEmpty:null==i||i,forceRequired:!1,crossTable:(null==t?void 0:t.values)||{},names:(null==t?void 0:t.names)||{},customMessages:(null==t?void 0:t.customMessages)||{}},e,t)];case 1:return a=c.sent(),r=[],o={},l={},a.errors.forEach((function(e){var n=e.msg();r.push(n),o[e.rule]=n,l[e.rule]=e.msg})),[2,{valid:a.valid,required:a.required,errors:r,failedRules:o,regenerateMap:l}]}}))}))}function ac(e,n,t){var s=(void 0===t?{}:t).isInitial,i=void 0!==s&&s;return Dl(this,void 0,void 0,(function(){var t,s,a,r,o,l,c,d,u;return Ol(this,(function(p){switch(p.label){case 0:return[4,rc(e,n)];case 1:if(t=p.sent(),s=t.shouldSkip,a=t.required,r=t.errors,s)return[2,{valid:!r.length,required:a,errors:r}];o=Object.keys(e.rules).filter((function(e){return!Xl.isRequireRule(e)})),l=o.length,c=0,p.label=2;case 2:return c<l?i&&Xl.isLazy(o[c])?[3,4]:(d=o[c],[4,oc(e,n,{name:d,params:e.rules[d]})]):[3,5];case 3:if(!(u=p.sent()).valid&&u.error&&(r.push(u.error),e.bails))return[2,{valid:!1,required:a,errors:r}];p.label=4;case 4:return c++,[3,2];case 5:return[2,{valid:!r.length,required:a,errors:r}]}}))}))}function rc(e,n){return Dl(this,void 0,void 0,(function(){var t,s,i,a,r,o,l,c,d;return Ol(this,(function(u){switch(u.label){case 0:t=Object.keys(e.rules).filter(Xl.isRequireRule),s=t.length,i=[],a=Nl(n)||""===n||(p=n,Array.isArray(p)&&0===p.length),r=a&&e.skipIfEmpty,l=0,u.label=1;case 1:return l<s?(c=t[l],[4,oc(e,n,{name:c,params:e.rules[c]})]):[3,4];case 2:if(d=u.sent(),!$l(d))throw new Error("Require rules has to return an object (see docs)");if(void 0!==d.required&&(o=d.required),!d.valid&&d.error&&(i.push(d.error),e.bails))return[2,{shouldSkip:!0,required:d.required,errors:i}];u.label=3;case 3:return l++,[3,1];case 4:return a&&!o&&!e.skipIfEmpty||!e.bails&&!r?[2,{shouldSkip:!1,required:o,errors:i}]:[2,{shouldSkip:!o&&a,required:o,errors:i}]}var p}))}))}function oc(e,n,t){return Dl(this,void 0,void 0,(function(){var s,i,a,r,o;return Ol(this,(function(l){switch(l.label){case 0:if(!(s=Xl.getRuleDefinition(t.name))||!s.validate)throw new Error("No such validator '"+t.name+"' exists.");return i=s.castValue?s.castValue(n):n,a=function(e,n){if(Array.isArray(e))return e.map((function(e){var t="string"==typeof e&&"@"===e[0]?e.slice(1):e;return t in n?n[t]:e}));var t={};return Object.keys(e).forEach((function(s){t[s]=function(e){return jl(e)?e(n):e}(e[s])})),t}(t.params,e.crossTable),[4,s.validate(i,a)];case 1:return"string"==typeof(r=l.sent())?(o=Pl(Pl({},a||{}),{_field_:e.name,_value_:n,_rule_:t.name}),[2,{valid:!1,error:{rule:t.name,msg:function(){return Yl(r,o)}}}]):($l(r)||(r={valid:r}),[2,{valid:r.valid,required:r.required,error:r.valid?void 0:lc(e,n,s,t.name,a)}])}}))}))}function lc(e,n,t,s,i){var a,r=null!==(a=e.customMessages[s])&&void 0!==a?a:t.message,o=function(e,n,t){var s=n.params;if(!s)return{};var i=s.filter((function(e){return e.isTarget})).length;if(i<=0)return{};var a={},r=e.rules[t];!Array.isArray(r)&&$l(r)&&(r=s.map((function(e){return r[e.name]})));for(var o=0;o<s.length;o++){var l=s[o],c=r[o];if(jl(c)){c=c.__locatorRef;var d=e.names[c]||c;a[l.name]=d,a["_"+l.name+"_"]=e.crossTable[c]}}return a}(e,t,s),l=function(e,n,t,s){var i={},a=e.rules[t],r=n.params||[];return a?(Object.keys(a).forEach((function(n,t){var s=a[n];if(!jl(s))return{};var o=r[t];if(!o)return{};var l=s.__locatorRef;i[o.name]=e.names[l]||l,i["_"+o.name+"_"]=e.crossTable[l]})),{userTargets:i,userMessage:s}):{}}
2(e,t,s,r),c=l.userTargets,d=l.userMessage,u=Pl(Pl(Pl(Pl({},i||{}),{_field_:e.name,_value_:n,_rule_:s}),o),c);return{msg:function(){return function(e,n,t){return"function"==typeof e?e(n,t):Yl(e,Pl(Pl({},t),{_field_:n}))}(d||Zl().defaultMessage,e.name,u)},rule:s}}var cc={aggressive:function(){return{on:["input","blur"]}},eager:function(e){return e.errors.length?{on:["input","change"]}:{on:["change","blur"]}},passive:function(){return{on:[]}},lazy:function(){return{on:["change","blur"]}}},dc=new Jt;!function(){function e(e,n){this.container={},this.locale=e,this.merge(n)}e.prototype.resolve=function(e,n,t){return this.format(this.locale,e,n,t)},e.prototype.format=function(e,n,t,s){var i,a,r,o,l,c,d,u,p,h=null===(r=null===(a=null===(i=this.container[e])||void 0===i?void 0:i.fields)||void 0===a?void 0:a[n])||void 0===r?void 0:r[t],m=null===(l=null===(o=this.container[e])||void 0===o?void 0:o.messages)||void 0===l?void 0:l[t];return(p=h||m||"")||(p="{_field_} is not valid"),n=null!==(u=null===(d=null===(c=this.container[e])||void 0===c?void 0:c.names)||void 0===d?void 0:d[n])&&void 0!==u?u:n,Ul(p)?p(n,s):Yl(p,Pl(Pl({},s),{_field_:n}))},e.prototype.merge=function(e){Vl(this.container,e)},e.prototype.hasRule=function(e){var n,t;return!!(null===(t=null===(n=this.container[this.locale])||void 0===n?void 0:n.messages)||void 0===t?void 0:t[e])}}();var uc=function e(n,t){if(n===t)return!0;if(n&&t&&"object"==typeof n&&"object"==typeof t){if(n.constructor!==t.constructor)return!1;var s,i,a;if(Array.isArray(n)){if((s=n.length)!=t.length)return!1;for(i=s;0!=i--;)if(!e(n[i],t[i]))return!1;return!0}if(n.constructor===RegExp)return n.source===t.source&&n.flags===t.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===t.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===t.toString();if((s=(a=Object.keys(n)).length)!==Object.keys(t).length)return!1;for(i=s;0!=i--;)if(!Object.prototype.hasOwnProperty.call(t,a[i]))return!1;for(i=s;0!=i--;){var r=a[i];if(!e(n[r],t[r]))return!1}return!0}return n!=n&&t!=t};var pc=function(e){var n,t=(null===(n=e.data)||void 0===n?void 0:n.attrs)||e.elm;return!("input"!==e.tag||t&&t.type)||"textarea"===e.tag||zl(["text","password","search","email","tel","url","number"],null==t?void 0:t.type)};function hc(e){if(e.data){var n,t,s,i,a=e.data;if("model"in a)return a.model;if(e.data.directives)return n=e.data.directives,t=function(e){return"model"===e.name},-1===(i=Gl(s=Array.isArray(n)?n:ql(n),t))?void 0:s[i]}}function mc(e){var n,t,s=hc(e);if(s)return{value:s.value};var i=gc(e),a=(null==i?void 0:i.prop)||"value";return(null===(n=e.componentOptions)||void 0===n?void 0:n.propsData)&&a in e.componentOptions.propsData?{value:e.componentOptions.propsData[a]}:(null===(t=e.data)||void 0===t?void 0:t.domProps)&&"value"in e.data.domProps?{value:e.data.domProps.value}:void 0}function vc(e){if(!Array.isArray(e)&&void 0!==mc(e))return[e];var n=function(e){return Array.isArray(e)?e:Array.isArray(e.children)?e.children:e.componentOptions&&Array.isArray(e.componentOptions.children)?e.componentOptions.children:[]}(e);return n.reduce((function(e,n){var t=vc(n);return t.length&&e.push.apply(e,t),e}),[])}function gc(e){return e.componentOptions?e.componentOptions.Ctor.options.model:null}function fc(e,n,t){if(Nl(e[n]))e[n]=[t];else{if(Ul(e[n])&&e[n].fns){var s=e[n];return s.fns=Array.isArray(s.fns)?s.fns:[s.fns],void(zl(s.fns,t)||s.fns.push(t))}if(Ul(e[n])){var i=e[n];e[n]=[i]}Array.isArray(e[n])&&!zl(e[n],t)&&e[n].push(t)}}function _c(e,n,t){e.componentOptions?function(e,n,t){e.componentOptions&&(e.componentOptions.listeners||(e.componentOptions.listeners={}),fc(e.componentOptions.listeners,n,t))}(e,n,t):function(e,n,t){e.data||(e.data={}),Nl(e.data.on)&&(e.data.on={}),fc(e.data.on,n,t)}(e,n,t)}function bc(e,n){return e.$scopedSlots.default?e.$scopedSlots.default(n)||[]:e.$slots.default||[]}function yc(e,n){e.initialized||(e.initialValue=n);var t=function(e,n){return!(e._ignoreImmediate||!e.immediate)||(s=n,!(Fl(t=e.value)&&Fl(s)||t===s||!e.normalizedEvents.length)||!!e._needsValidation||!e.initialized&&void 0===n);var t,s}
2(e,n);if(e._needsValidation=!1,e.value=n,e._ignoreImmediate=!0,t){var s=function(){if(e.immediate||e.flags.validated)return kc(e);e.validateSilent()};e.initialized?s():e.$once("hook:mounted",(function(){return s()}))}}function wc(e){return(Ul(e.mode)?e.mode:cc[e.mode])(e)}function kc(e){var n=e.validateSilent();return e._pendingValidation=n,n.then((function(t){return n===e._pendingValidation&&(e.applyResult(t),e._pendingValidation=void 0),t}))}var Tc=0,Ec=Jt.extend({name:"ValidationProvider",inject:{$_veeObserver:{from:"$_veeObserver",default:function(){return this.$vnode.context.$_veeObserver||(this.$vnode.context.$_veeObserver={refs:{},observe:function(e){this.refs[e.id]=e},unobserve:function(e){delete this.refs[e]}}),this.$vnode.context.$_veeObserver}}},props:{vid:{type:String,default:""},name:{type:String,default:null},mode:{type:[String,Function],default:function(){return Zl().mode}},rules:{type:[Object,String],default:null},immediate:{type:Boolean,default:!1},bails:{type:Boolean,default:function(){return Zl().bails}},skipIfEmpty:{type:Boolean,default:function(){return Zl().skipOptional}},debounce:{type:Number,default:0},tag:{type:String,default:"span"},slim:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},customMessages:{type:Object,default:function(){return{}}},detectInput:{type:Boolean,default:!0}},watch:{rules:{deep:!0,handler:function(e,n){this._needsValidation=!uc(e,n)}}},data:function(){return{errors:[],value:void 0,initialized:!1,initialValue:void 0,flags:{untouched:!0,touched:!1,dirty:!1,pristine:!0,valid:!1,invalid:!1,validated:!1,pending:!1,required:!1,changed:!1,passed:!1,failed:!1},failedRules:{},isActive:!0,fieldName:"",id:""}},computed:{fieldDeps:function(){var e=this;return Object.keys(this.normalizedRules).reduce((function(n,t){var s,i=(s=e.normalizedRules[t],Array.isArray(s)?s.filter((function(e){return jl(e)||"string"==typeof e&&"@"===e[0]})):Object.keys(s).filter((function(e){return jl(s[e])})).map((function(e){return s[e]}))).map((function(e){return jl(e)?e.__locatorRef:e.slice(1)}));
2return n.push.apply(n,i),i.forEach((function(n){xc(e,n)})),n}),[])},normalizedEvents:function(){var e=this;return(wc(this).on||[]).map((function(n){return"input"===n?e._inputEventName:n}))},isRequired:function(){var e=Pl(Pl({},this._resolvedRules),this.normalizedRules),n=Object.keys(e).some(Xl.isRequireRule);return this.flags.required=!!n,n},classes:function(){return function(e,n){for(var t={},s=Object.keys(n),i=s.length,a=function(i){var a=s[i],r=e&&e[a]||a,o=n[a];return Nl(o)?"continue":"valid"!==a&&"invalid"!==a||n.validated?void("string"==typeof r?t[r]=o:Array.isArray(r)&&r.forEach((function(e){t[e]=o}))):"continue"},r=0;r<i;r++)a(r);return t}(Zl().classes,this.flags)},normalizedRules:function(){return ec(this.rules)}},mounted:function(){var e=this,n=function(){if(e.flags.validated){var n=e._regenerateMap;if(n){var t=[],s={};return Object.keys(n).forEach((function(e){var i=n[e]();t.push(i),s[e]=i})),void e.applyResult({errors:t,failedRules:s,regenerateMap:n})}e.validate()}};dc.$on("change:locale",n),this.$on("hook:beforeDestroy",(function(){dc.$off("change:locale",n)}))},render:function(e){var n=this;this.registerField();var t,s=bc(this,Pl(Pl({},(t=this).flags),{errors:t.errors,classes:t.classes,failedRules:t.failedRules,reset:function(){return t.reset()},validate:function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.validate.apply(t,e)},ariaInput:{"aria-invalid":t.flags.invalid?"true":"false","aria-required":t.isRequired?"true":"false","aria-errormessage":"vee_"+t.id},ariaMsg:{id:"vee_"+t.id,"aria-live":t.errors.length?"assertive":"off"}}));if(this.detectInput){var i=vc(s);i.length&&i.forEach((function(e,t){var s,i,a,r,o,l;if(zl(["checkbox","radio"],null===(i=null===(s=e.data)||void 0===s?void 0:s.attrs)||void 0===i?void 0:i.type)||!(t>0)){var c=Zl().useConstraintAttrs?function(e){var n,t=null===(n=e.data)||void 0===n?void 0:n.attrs;if(!zl(["input","select","textarea"],e.tag)||!t)return{};var s={};return"required"in t&&!1!==t.required&&Xl.getRuleDefinition("required")&&(s.required="checkbox"!==t.type||[!0]),pc(e)?ec(Pl(Pl({},s),function(e){var n,t=null===(n=e.data)||void 0===n?void 0:n.attrs,s={};return t?("email"===t.type&&Xl.getRuleDefinition("email")&&(s.email=["multiple"in t]),t.pattern&&Xl.getRuleDefinition("regex")&&(s.regex=t.pattern),t.maxlength>=0&&Xl.getRuleDefinition("max")&&(s.max=t.maxlength),t.minlength>=0&&Xl.getRuleDefinition("min")&&(s.min=t.minlength),"number"===t.type&&(Bl(t.min)&&Xl.getRuleDefinition("min_value")&&(s.min_value=Number(t.min)),Bl(t.max)&&Xl.getRuleDefinition("max_value")&&(s.max_value=Number(t.max))),s):s}(e))):ec(s)}(e):{};uc(n._resolvedRules,c)||(n._needsValidation=!0),zl(["input","select","textarea"],e.tag)&&(n.fieldName=(null===(r=null===(a=e.data)||void 0===a?void 0:a.attrs)||void 0===r?void 0:r.name)||(null===(l=null===(o=e.data)||void 0===o?void 0:o.attrs)||void 0===l?void 0:l.id)),n._resolvedRules=c,function(e,n){var t=mc(n);e._inputEventName=e._inputEventName||function(e,n){var t;return e.componentOptions?(gc(e)||{event:"input"}).event||"input":(null===(t=null==n?void 0:n.modifiers)||void 0===t?void 0:t.lazy)?"change":pc(e)?"input":"change"}(n,hc(n)),yc(e,null==t?void 0:t.value);var s=function(e){e.$veeOnInput||(e.$veeOnInput=function(n){e.syncValue(n),e.setFlags({dirty:!0,pristine:!1})});var n=e.$veeOnInput;e.$veeOnBlur||(e.$veeOnBlur=function(){e.setFlags({touched:!0,untouched:!1})});var t=e.$veeOnBlur,s=e.$veeHandler,i=wc(e);return s&&e.$veeDebounce===e.debounce||(s=Hl((function(){e.$nextTick((function(){e._pendingReset||kc(e),e._pendingReset=!1}))}),i.debounce||e.debounce),e.$veeHandler=s,e.$veeDebounce=e.debounce),{onInput:n,onBlur:t,onValidate:s}}(e),i=s.onInput,a=s.onBlur,r=s.onValidate;_c(n,e._inputEventName,i),_c(n,"blur",a),e.normalizedEvents.forEach((function(e){_c(n,e,r)})),e.initialized=!0}(n,e)}}))}return this.slim&&s.length<=1?s[0]:e(this.tag,s)},beforeDestroy:function(){this.$_veeObserver.unobserve(this.id)},activated:function(){this.isActive=!0},deactivated:function(){this.isActive=!1},methods:{setFlags:function(e){var n=this;Object.keys(e).forEach((function(t){n.flags[t]=e[t]}))},syncValue:function(e){var n=function(e){var n,t,s;if(!(s=e)||!("undefined"!=typeof Event&&Ul(Event)&&s instanceof Event||s&&s.srcElement))return e;var i=e.target;if("file"===i.type&&i.files)return ql(i.files);if(null===(n=i._vModifiers)||void 0===n?void 0:n.number){var a=parseFloat(i.value);return Fl(a)?i.value:a}return(null===(t=i._vModifiers)||void 0===t?void 0:t.trim)&&"string"==typeof i.value?i.value.trim():i.value}(e);this.value=n,this.flags.changed=!uc(this.initialValue,n)},reset:function(){var e=this;this.errors=[],this.initialValue=this.value;var n={untouched:!0,touched:!1,dirty:!1,pristine:!0,valid:!1,invalid:!1,validated:!1,pending:!1,required:!1,changed:!1,passed:!1,failed:!1};n.required=this.isRequired,this.setFlags(n),this.failedRules={},this.validateSilent(),this._pendingValidation=void 0,this._pendingReset=!0,setTimeout((function(){e._pendingReset=!1}),this.debounce)},validate:function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return Dl(this,void 0,void 0,(function(){return Ol(this,(function(n){return e.length>0&&this.syncValue(e[0]),[2,kc(this)]}))}))},validateSilent:function(){return Dl(this,void 0,void 0,(function(){var e,n;return Ol(this,(function(t){switch(t.label){case 0:return this.setFlags({pending:!0}),e=Pl(Pl({},this._resolvedRules),this.normalizedRules),Object.defineProperty(e,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,
2configurable:!1}),[4,ic(this.value,e,Pl(Pl({name:this.name||this.fieldName},(s=this.$_veeObserver.refs,this.fieldDeps.reduce((function(e,n){return s[n]?(e.values[n]=s[n].value,e.names[n]=s[n].name,e):e}),{names:{},values:{}}))),{bails:this.bails,skipIfEmpty:this.skipIfEmpty,isInitial:!this.initialized,customMessages:this.customMessages}))];case 1:return n=t.sent(),this.setFlags({pending:!1,valid:n.valid,invalid:!n.valid}),void 0!==n.required&&this.setFlags({required:n.required}),[2,n]}var s}))}))},setErrors:function(e){this.applyResult({errors:e,failedRules:{}})},applyResult:function(e){var n=e.errors,t=e.failedRules,s=e.regenerateMap;this.errors=n,this._regenerateMap=s,this.failedRules=Pl({},t||{}),this.setFlags({valid:!n.length,passed:!n.length,invalid:!!n.length,failed:!!n.length,validated:!0,changed:!uc(this.value,this.initialValue)})},registerField:function(){var e,n,t;n=function(e){return e.vid?e.vid:e.name?e.name:e.id?e.id:e.fieldName?e.fieldName:"_vee_"+ ++Tc}(e=this),t=e.id,!e.isActive||t===n&&e.$_veeObserver.refs[t]||(t!==n&&e.$_veeObserver.refs[t]===e&&e.$_veeObserver.unobserve(t),e.id=n,e.$_veeObserver.observe(e))},checkComputesRequiredState:function(){var e=Pl(Pl({},this._resolvedRules),this.normalizedRules);return Object.keys(e).some(Xl.isRequireRule)}}});function xc(e,n,t){void 0===t&&(t=!0);var s=e.$_veeObserver.refs;if(e._veeWatchers||(e._veeWatchers={}),!s[n]&&t)return e.$once("hook:mounted",(function(){xc(e,n,!1)}));!Ul(e._veeWatchers[n])&&s[n]&&(e._veeWatchers[n]=s[n].$watch("value",(function(){var n=e.checkComputesRequiredState();e.flags.validated&&(e._needsValidation=!0,e.validate()),n&&!e.flags.validated&&e.validateSilent()})))}var Sc=[["pristine","every"],["dirty","some"],["touched","some"],["untouched","every"],["valid","every"],["invalid","some"],["pending","some"],["validated","every"],["changed","some"],["passed","every"],["failed","some"]],Ac=0,Lc=Jt.extend({name:"ValidationObserver",provide:function(){return{$_veeObserver:this}},inject:{$_veeObserver:{from:"$_veeObserver",default:function(){return this.$vnode.context.$_veeObserver?this.$vnode.context.$_veeObserver:null}}},props:{tag:{type:String,default:"span"},vid:{type:String,default:function(){return"obs_"+Ac++}},slim:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},data:function(){return{id:"",refs:{},observers:[],errors:{},flags:Ic(),fields:{}}},created:function(){var e=this;this.id=this.vid,Rc(this);var n=Hl((function(n){var t=n.errors,s=n.flags,i=n.fields;e.errors=t,e.flags=s,e.fields=i}),16);this.$watch(Pc,n)},activated:function(){Rc(this)},deactivated:function(){Cc(this)},beforeDestroy:function(){Cc(this)},render:function(e){var n,t=bc(this,Pl(Pl({},(n=this).flags),{errors:n.errors,fields:n.fields,validate:n.validate,validateWithInfo:n.validateWithInfo,passes:n.handleSubmit,handleSubmit:n.handleSubmit,reset:n.reset}));return this.slim&&t.length<=1?t[0]:e(this.tag,{on:this.$listeners},t)},methods:{observe:function(e,n){var t;void 0===n&&(n="provider"),"observer"!==n?this.refs=Pl(Pl({},this.refs),((t={})[e.id]=e,t)):this.observers.push(e)},unobserve:function(e,n){if(void 0===n&&(n="provider"),"provider"!==n){var t=Gl(this.observers,(function(n){return n.id===e}));-1!==t&&this.observers.splice(t,1)}else{if(!this.refs[e])return;this.$delete(this.refs,e)}},validateWithInfo:function(e){var n=(void 0===e?{}:e).silent,t=void 0!==n&&n;return Dl(this,void 0,void 0,(function(){var e,n,s,i,a,r;return Ol(this,(function(o){switch(o.label){case 0:return[4,Promise.all(Ml(Kl(this.refs).filter((function(e){return!e.disabled})).map((function(e){return e[t?"validateSilent":"validate"]().then((function(e){return e.valid}))})),this.observers.filter((function(e){return!e.disabled})).map((function(e){return e.validate({silent:t})}))))];case 1:return e=o.sent(),n=e.every((function(e){return e})),s=Pc.call(this),i=s.errors,a=s.flags,r=s.fields,this.errors=i,this.flags=a,this.fields=r,[2,{errors:i,flags:a,fields:r,isValid:n}]}}))}))},validate:function(e){var n=(void 0===e?{}:e).silent,t=void 0!==n&&n;return Dl(this,void 0,void 0,(function(){return Ol(this,(function(e){switch(e.label){case 0:return[4,this.validateWithInfo({silent:t})];case 1:return[2,e.sent().isValid]}}))}))},handleSubmit:function(e){return Dl(this,void 0,void 0,(function(){return Ol(this,(function(n){switch(n.label){case 0:return[4,this.validate()];case 1:return n.sent()&&e?[2,e()]:[2]}}))}))},reset:function(){return Ml(Kl(this.refs),this.observers).forEac
2h((function(e){return e.reset()}))},setErrors:function(e){var n=this;Object.keys(e).forEach((function(t){var s=n.refs[t];if(s){var i=e[t]||[];i="string"==typeof i?[i]:i,s.setErrors(i)}})),this.observers.forEach((function(n){n.setErrors(e)}))}}});function Cc(e){e.$_veeObserver&&e.$_veeObserver.unobserve(e.id,"observer")}function Rc(e){e.$_veeObserver&&e.$_veeObserver.observe(e,"observer")}function Ic(){return Pl(Pl({},{untouched:!0,touched:!1,dirty:!1,pristine:!0,valid:!1,invalid:!1,validated:!1,pending:!1,required:!1,changed:!1,passed:!1,failed:!1}),{valid:!0,invalid:!1})}function Pc(){for(var e=Ml(Kl(this.refs),this.observers.filter((function(e){return!e.disabled}))),n={},t=Ic(),s={},i=e.length,a=0;a<i;a++){var r=e[a];Array.isArray(r.errors)?(n[r.id]=r.errors,s[r.id]=Pl({id:r.id,name:r.name,failedRules:r.failedRules},r.flags)):(n=Pl(Pl({},n),r.errors),s=Pl(Pl({},s),r.fields))}return Sc.forEach((function(n){var s=n[0],i=n[1];t[s]=e[i]((function(e){return e.flags[s]}))})),{errors:n,flags:t,fields:s}}var Dc={en:/^[A-Z]*$/i,cs:/^[A-ZÃÄÄÃÄÃÅÃÅŠŤÃŮÎ]*$/i,da:/^[A-ZÃÃÃ
]*$/i,de:/^[A-ZÃÃÃÃ]*$/i,es:/^[A-ZÃÃÃÃÃÃÃ]*$/i,fa:/^[Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙٰپÚÚ¯ÚÚ©Û]*$/,fr:/^[A-ZÃÃÃÃÃÃÃÃÃÃÃÅÃÃß]*$/i,it:/^[A-Z\xC0-\xFF]*$/i,lt:/^[A-ZÄÄÄÄĮŠŲŪŽ]*$/i,nl:/^[A-ZÃÃÃÃÃÃ]*$/i,hu:/^[A-ZÃÃÃÃÃÅÃÃŰ]*$/i,pl:/^[A-ZÄÄÄÅÅÅÃŻŹ]*$/i,pt:/^[A-ZÃÃÃÃÃÃÃÃÃÃÃÃÃ]*$/i,ro:/^[A-ZÄÃÃÅÅ¢]*$/i,ru:/^[Ð-ЯÐ]*$/i,sk:/^[A-ZÃÃÄÄÃÃĹĽÅÃÅŠŤÃÃŽ]*$/i,sr:/^[A-ZÄÄŽŠÄ]*$/i,sv:/^[A-ZÃ
ÃÃ]*$/i,tr:/^[A-ZÃÄİıÃÅÃ]*$/i,uk:/^[Ð-ЩЬЮЯÐÐÐÒ]*$/i,ar:/^[Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙÙ°]*$/,az:/^[A-ZÃÆÄİıÃÅÃ]*$/i,el:/^[Î-Ï]*$/i,ja:/^[A-Z\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF]*$/i,he:/^[A-Z\u05D0-\u05EA']*$/i},Oc={en:/^[A-Z\s]*$/i,cs:/^[A-ZÃÄÄÃÄÃÅÃÅŠŤÃŮÎ\s]*$/i,da:/^[A-ZÃÃÃ
\s]*$/i,de:/^[A-ZÃÃÃÃ\s]*$/i,es:/^[A-ZÃÃÃÃÃÃÃ\s]*$/i,fa:/^[Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙٰپÚÚ¯ÚÚ©Û]*$/,fr:/^[A-ZÃÃÃÃÃÃÃÃÃÃÃÅÃÃß\s]*$/i,it:/^[A-Z\xC0-\xFF\s]*$/i,lt:/^[A-ZÄÄÄÄĮŠŲŪŽ\s]*$/i,nl:/^[A-ZÃÃÃÃÃÃ\s]*$/i,hu:/^[A-ZÃÃÃÃÃÅÃÃŰ\s]*$/i,pl:/^[A-ZÄÄÄÅÅÅÃŻŹ\s]*$/i,pt:/^[A-ZÃÃÃÃÃÃÃÃÃÃÃÃÃ\s]*$/i,ro:/^[A-ZÄÃÃÅÅ¢\s]*$/i,ru:/^[Ð-ЯÐ\s]*$/i,sk:/^[A-ZÃÃÄÄÃÃĹĽÅÃÅŠŤÃÃŽ\s]*$/i,sr:/^[A-ZÄÄŽŠÄ\s]*$/i,sv:/^[A-ZÃ
ÃÃ\s]*$/i,tr:/^[A-ZÃÄİıÃÅÃ\s]*$/i,uk:/^[Ð-ЩЬЮЯÐÐÐÒ\s]*$/i,ar:/^[Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙÙ°\s]*$/,az:/^[A-ZÃÆÄİıÃÅÃ\s]*$/i,el:/^[Î-Ï\s]*$/i,ja:/^[A-Z\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF\s]*$/i,he:/^[A-Z\u05D0-\u05EA'\s]*$/i},Mc={en:/^[0-9A-Z]*$/i,cs:/^[0-9A-ZÃÄÄÃÄÃÅÃÅŠŤÃŮÎ]*$/i,da:/^[0-9A-ZÃÃÃ
]$/i,de:/^[0-9A-ZÃÃÃÃ]*$/i,es:/^[0-9A-ZÃÃÃÃÃÃÃ]*$/i,fa:/^[Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙٰپÚÚ¯ÚÚ©Û]*$/,fr:/^[0-9A-ZÃÃÃÃÃÃÃÃÃÃÃÅÃÃß]*$/i,it:/^[0-9A-Z\xC0-\xFF]*$/i,lt:/^[0-9A-ZÄÄÄÄĮŠŲŪŽ]*$/i,hu:/^[0-9A-ZÃÃÃÃÃÅÃÃŰ]*$/i,nl:/^[0-9A-ZÃÃÃÃÃÃ]*$/i,pl:/^[0-9A-ZÄÄÄÅÅÅÃŻŹ]*$/i,pt:/^[0-9A-ZÃÃÃÃÃÃÃÃÃÃÃÃÃ]*$/i,ro:/^[0-9A-ZÄÃÃÅÅ¢]*$/i,ru:/^[0-9Ð-ЯÐ]*$/i,sk:/^[0-9A-ZÃÃÄÄÃÃĹĽÅÃÅŠŤÃÃŽ]*$/i,sr:/^[0-9A-ZÄÄŽŠÄ]*$/i,sv:/^[0-9A-ZÃ
ÃÃ]*$/i,tr:/^[0-9A-ZÃÄİıÃÅÃ]*$/i,uk:/^[0-9Ð-ЩЬЮЯÐÐÐÒ]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙÙ°]*$/,az:/^[0-9A-ZÃÆÄİıÃÅÃ]*$/i,el:/^[0-9Î-Ï]*$/i,ja:/^[0-9A-Z\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF]*$/i,he:/^[0-9A-Z\u05D0-\u05EA']*$/i},Fc={en:/^[0-9A-Z_-]*$/i,cs:/^[0-9A-ZÃÄÄÃÄÃÅÃÅŠŤÃŮÎ_-]*$/i,da:/^[0-9A-ZÃÃÃ
_-]*$/i,de:/^[0-9A-ZÃÃÃÃ_-]*$/i,es:/^[0-9A-ZÃÃÃÃÃÃÃ_-]*$/i,fa:/^[Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙٰپÚÚ¯ÚÚ©Û]*$/,fr:/^[0-9A-ZÃÃÃÃÃÃÃÃÃÃÃÅÃÃß_-]*$/i,it:/^[0-9A-Z\xC0-\xFF_-]*$/i,lt:/^[0-9A-ZÄÄÄÄĮŠŲŪŽ_-]*$/i,nl:/^[0-9A-ZÃÃÃÃÃÃ_-]*$/i,hu:/^[0-9A-ZÃÃÃÃÃÅÃÃŰ_-]*$/i,pl:/^[0-9A-ZÄÄÄÅÅÅÃŻŹ_-]*$/i,pt:/^[0-9A-ZÃÃÃÃÃÃÃÃÃÃÃÃÃ_-]*$/i,ro:/^[0-9A-ZÄÃÃÅÅ¢_-]*$/i,ru:/^[0-9Ð-ЯÐ_-]*$/i,sk:/^[0-9A-ZÃÃÄÄÃÃĹĽÅÃÅŠŤÃÃŽ_-]*$/i,sr:/^[0-9A-ZÄÄŽŠÄ_-]*$/i,sv:/^[0-9A-ZÃ
ÃÃ_-]*$/i,tr:/^[0-9A-ZÃÄİıÃÅÃ_-]*$/i,uk:/^[0-9Ð-ЩЬЮЯÐÐÐÒ_-]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºÙÙÙÙÙ
ÙÙÙÙÙÙÙÙÙÙÙÙÙÙ°_-]*$/,az:/^[0-9A-ZÃÆÄİıÃÅÃ_-]*$/i,el:/^[0-9Î-Ï_-]*$/i,ja:/^[0-9A-Z\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF_-]*$/i,he:/^[0-9A-Z\u05D0-\u05EA'_-]*$/i},Nc=function(e,n){var t=(void 0===n?{}:n).locale,s=void 0===t?"":t;return Array.isArray(e)?e.every((function(e){return Nc(e,{locale:s})})):s?(Dc[s]||Dc.en).test(e):Object.keys(Dc).some((function(n){return Dc[n].test(e)}))},$c={validate:Nc,params:[{name:"locale"}]},Bc=function(e,n){var t=(void 0===n?{}:n).locale,s=void 0===t?"":t;return Array.isArray(e)?e.every((function(e){return Bc(e,{locale:s})})):s?(Fc[s]||Fc.en).test(e):Object.keys(Fc).some((function(n){return Fc[n].test(e)}))},Uc={validate:Bc,params:[{name:"locale"}]},jc=function(e,n){var t=(void 0===n?{}:n).locale,s=void 0===t?"":t;return Array.isArray(e)?e.every((function(e){return jc(e,{locale:s})})):s?(Mc[s]||Mc.en).test(e):Object.keys(Mc).some((function(n){return Mc[n].test(e)}))},Gc={validate:jc,params:[{name:"locale"}]},zc=function(e,n){var t=(void 0===n?{}:n).locale,s=void 0===t?"":t;return Array.isArray(e)?e.every((function(e){return zc(e,{locale:s})})):s?(Oc[s]||Oc.en).test(e):Object.keys(Oc).some((function(n){return Oc[n].test(e)}))},qc={validate:zc,params:[{name:"locale"}]},Kc=function(e,n){var t=void 0===n?{}:n,s=t.min,i=t.max;return Array.isArray(e)?e.every((function(e){return!!Kc(e,{min:s,max:i})})):Number(s)<=e&&Number(i)>=e},Vc={validate:Kc,params:[{name:"min"},{name:"max"}]},Hc={validate:function(e,n){var t=n.target;return String(e)===String(t)},params:[{name:"target",isTarget:!0}]},Yc=function(e,n){var t=n.length;if(Array.isArray(e))return e.every((function(e){return Yc(e,{length:t})}));var s=String(e);return/^[0-9]*$/.test(s)&&s.length===t},Wc={validate:Yc,params:[{name:"length",cast:function(e){return Number(e)}}]},Xc={validate:function(e,n){var t=n.width,s=n.height,i=[];e=Array.isArray(e)?e:[e];for(var a=0;a<e.length;a++){if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[a].name))return Promise.resolve(!1);i.push(e[a])}return Promise.all(i.map((function(e){return function(e,n,t){var s=window.URL||window.webkitURL;return new Promise((function(i){var a=new Image;a.onerror=function(){return i(!1)},a.onload=function(){return i(a.width===n&&a.height===t)},a.src=s.createObjectURL(e)}))}(e,t,s)}))).then((function(e){return e.every((function(e){return e}))}))},params:[{name:"width",cast:function(e){return Number(e)}},{name:"height",cast:function(e){return Number(e)}}]},Qc={validate:function(e,n){var t=(void 0===n?{}:n).multiple,s=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t&&!Array.isArray(e)&&(e=String(e).split(",").map((function(e){return e.trim()}))),Array.isArray(e)?e.every((function(e){return s.test(String(e))})):s.test(String(e))},params:[{name:"multiple",default:!1}]};
2function Jc(e){return null==e}function Zc(e){return Array.isArray(e)&&0===e.length}function ed(e){return"function"==typeof Array.from?Array.from(e):function(e){for(var n=[],t=e.length,s=0;s<t;s++)n.push(e[s]);return n}(e)}var nd=function(e,n){return Array.isArray(e)?e.every((function(e){return nd(e,n)})):ed(n).some((function(n){return n==e}))},td={validate:nd},sd={validate:function(e,n){return!nd(e,n)}},id={validate:function(e,n){var t=new RegExp(".("+n.join("|")+")$","i");return Array.isArray(e)?e.every((function(e){return t.test(e.name)})):t.test(e.name)}},ad={validate:function(e){var n=/\.(jpg|svg|jpeg|png|bmp|gif|webp)$/i;return Array.isArray(e)?e.every((function(e){return n.test(e.name)})):n.test(e.name)}},rd={validate:function(e){return Array.isArray(e)?e.every((function(e){return/^-?[0-9]+$/.test(String(e))})):/^-?[0-9]+$/.test(String(e))}},od={validate:function(e,n){return e===n.other},params:[{name:"other"}]},ld={validate:function(e,n){return e!==n.other},params:[{name:"other"}]},cd={validate:function(e,n){var t=n.length;return!Jc(e)&&("string"==typeof e&&(e=ed(e)),"number"==typeof e&&(e=String(e)),e.length||(e=ed(e)),e.length===t)},params:[{name:"length",cast:function(e){return Number(e)}}]},dd=function(e,n){var t=n.length;return Jc(e)?t>=0:Array.isArray(e)?e.every((function(e){return dd(e,{length:t})})):String(e).length<=t},ud={validate:dd,params:[{name:"length",cast:function(e){return Number(e)}}]},pd=function(e,n){var t=n.max;return!Jc(e)&&""!==e&&(Array.isArray(e)?e.length>0&&e.every((function(e){return pd(e,{max:t})})):Number(e)<=t)},hd={validate:pd,params:[{name:"max",cast:function(e){return Number(e)}}]},md={validate:function(e,n){var t=new RegExp(n.join("|").replace("*",".+")+"$","i");return Array.isArray(e)?e.every((function(e){return t.test(e.type)})):t.test(e.type)}},vd=function(e,n){var t=n.length;return!Jc(e)&&(Array.isArray(e)?e.every((function(e){return vd(e,{length:t})})):String(e).length>=t)},gd={validate:vd,params:[{name:"length",cast:function(e){return Number(e)}}]},fd=function(e,n){var t=n.min;return!Jc(e)&&""!==e&&(Array.isArray(e)?e.length>0&&e.every((function(e){return fd(e,{min:t})})):Number(e)>=t)},_d={validate:fd,params:[{name:"min",cast:function(e){return Number(e)}}]},bd=/^[٠١٢٣٤٥٦٧٨٩]+$/,yd=/^[0-9]+$/,wd={validate:function(e){var n=function(e){var n=String(e);return yd.test(n)||bd.test(n)};return Array.isArray(e)?e.every(n):n(e)}},kd=function(e,n){var t=n.regex;return Array.isArray(e)?e.every((function(e){return kd(e,{regex:t})})):t.test(String(e))},Td={validate:kd,params:[{name:"regex",cast:function(e){return"string"==typeof e?new RegExp(e):e}}]},Ed={validate:function(e,n){var t=(void 0===n?{allowFalse:!0}:n).allowFalse,s={valid:!1,required:!0};return Jc(e)||Zc(e)?s:!1!==e||t?(s.valid=!!String(e).trim().length,s):s},params:[{name:"allowFalse",default:!0}],computesRequired:!0},xd=function(e){return Zc(e)||-1!==[!1,null,void 0].indexOf(e)||!String(e).trim().length},Sd={validate:function(e,n){var t,s=n.target,i=n.values;return i&&i.length?(Array.isArray(i)||"string"!=typeof i||(i=[i]),t=i.some((function(e){return e==String(s).trim()}))):t=!xd(s),t?{valid:!xd(e),required:t}:{valid:!0,required:t}},params:[{name:"target",isTarget:!0},{name:"values"}],computesRequired:!0},Ad={validate:function(e,n){var t=n.size;if(isNaN(t))return!1;var s=1024*t;if(!Array.isArray(e))return e.size<=s;for(var i=0;i<e.length;i++)if(e[i].size>s)return!1;return!0},params:[{name:"size",cast:function(e){return Number(e)}}]},Ld={validate:function(e,n){var t=n||{},s=t.decimals,i=void 0===s?0:s,a=t.separator,r=new RegExp("^-?\\d+"+("comma"===(void 0===a?"dot":a)?",?":"\\.?")+(0===i?"\\d*":"(\\d{"+i+"})?")+"$");return Array.isArray(e)?e.every((function(e){return r.test(String(e))})):r.test(String(e))},params:[{name:"decimals",default:0},{name:"separator",default:"dot"}]},Cd=t(7293),Rd=t.n(Cd);function Id(e){return Id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Id(e)}function Pd(){Pd=function(){return n};var e,n={},t=Object.prototype,s=t.hasOwnProperty,i=Object.defineProperty||function(e,n,t){e[n]=t.value},a="function"==typeof Symbol?Symbol:{},r=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(e,n,t){return Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[n]}try{c({},"")}catch(e){c=function(e,n,t){return e[n]=t}}function d(e,n,t,s){var a=n&&n.prototype instanceof f?n:f,r=Object.create(a.prototype),o=new R(s||[]);return i(r,"_invoke",{value:S(e,t,o)}),r}function u(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(e){return{type:"throw",arg:e}}}n.wrap=d;var p="suspendedStart",h="suspendedYield",m="executing",v="completed",g={};function f(){}function _(){}function b(){}var y={};c(y,r,(function(){return this}));var w=Object.getPrototypeOf,k=w&&w(w(I([])));k&&k!==t&&s.call(k,r)&&(y=k);var T=b.prototype=f.prototype=Object.create(y);function E(e){["next","throw","return"].forEach((function(n){c(e,n,(function(e){return this._invoke(n,e)}))}))}function x(e,n){function t(i,a,r,o){var l=u(e[i],e,a);if("throw"!==l.type){var c=l.arg,d=c.value;return d&&"object"==Id(d)&&s.call(d,"__await")?n.resolve(d.__await).then((function(e){t("next",e,r,o)}),(function(e){t("throw",e,r,o)})):n.resolve(d).then((function(e){c.value=e,r(c)}),(function(e){return t("throw",e,r,o)}))}o(l.arg)}var a;i(this,"_invoke",{value:function(e,s){function i(){return new n((function(n,i){t(e,s,n,i)}))}return a=a?a.then(i,i):i()}})}function S(n,t,s){var i=p;return function(a,r){if(i===m)throw Error("Generator is already running");if(i===v){if("throw"===a)throw r;return{value:e,done:!0}}for(s.method=a,s.arg=r;;){var o=s.delegate;if(o){var l=A(o,s);if(l){if(l===g)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===p)throw i=v,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=m;var c=u(n,t,s);if("normal"===c.type){if(i=s.done?v:h,c.arg===g)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=v,s.method="throw",s.arg=c.arg)}}}function A(n,t){var s=t.method,i=n.iterator[s];if(i===e)return t.delegate=null,"throw"===s&&n.iterator.return&&
vendor: 1,569 bytes, line 2
2(t.method="return",t.arg=e,A(n,t),"throw"===t.method)||"return"!==s&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var a=u(i,n.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,g;var r=a.arg;return r?r.done?(t[n.resultName]=r.value,t.next=n.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,g):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function L(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function C(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function I(n){if(n||""===n){var t=n[r];if(t)return t.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var i=-1,a=function t(){for(;++i<n.length;)if(s.call(n,i))return t.value=n[i],t.done=!1,t;return t.value=e,t.done=!0,t};return a.next=a}}throw new TypeError(Id(n)+" is not iterable")}return _.prototype=b,i(T,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:_,configurable:!0}),_.displayName=c(b,l,"GeneratorFunction"),n.isGeneratorFunction=function(e){var n="function"==typeof e&&e.constructor;return!!n&&(n===_||"GeneratorFunction"===(n.displayName||n.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(T),e},n.awrap=function(e){return{__await:e}}
2,E(x.prototype),c(x.prototype,o,(function(){return this})),n.AsyncIterator=x,n.async=function(e,t,s,i,a){void 0===a&&(a=Promise);var r=new x(d(e,t,s,i),a);return n.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},E(T),c(T,l,"Generator"),c(T,r,(function(){return this})),c(T,"toString",(function(){return"[object Generator]"})),n.keys=function(e){var n=Object(e),t=[];for(var s in n)t.push(s);return t.reverse(),function e(){for(;t.length;){var s=t.pop();if(s in n)return e.value=s,e.done=!1,e}return e.done=!0,e}},n.values=I,R.prototype={constructor:R,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(C),!n)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var t=this;function i(s,i){return o.type="throw",o.arg=n,t.next=s,i&&(t.method="next",t.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a],o=r.completion;if("root"===r.tryLoc)return i("end");if(r.tryLoc<=this.prev){var l=s.call(r,"catchLoc"),c=s.call(r,"finallyLoc");if(l&&c){if(this.prev<r.catchLoc)return i(r.catchLoc,!0);if(this.prev<r.finallyLoc)return i(r.finallyLoc)}else if(l){if(this.prev<r.catchLoc)return i(r.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return i(r.finallyLoc)}}}},abrupt:function(e,n){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=n&&n<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=e,r.arg=n,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(r)},complete:function(e,n){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&n&&(this.next=n),g},finish:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),C(t),g}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var s=t.completion;if("throw"===s.type){var i=s.arg;C(t)}return i}}throw Error("illegal catch attempt")},delegateYield:function(n,t,s){return this.delegate={iterator:I(n),resultName:t,nextLoc:s},"next"===this.method&&(this.arg=e),g}},n}function Dd(e,n,t,s,i,a,r){try{var o=e[a](r),l=o.value}catch(e){return void t(e)}o.done?n(l):Promise.resolve(l).then(s,i)}function Od(e){return function(){var n=this,t=arguments;return new Promise((function(s,i){var a=e.apply(n,t);function r(e){Dd(a,s,i,r,o,"next",e)}function o(e){Dd(a,s,i,r,o,"throw",e)}r(void 0)}))}}function Md(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);n&&(s=s.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,s)}return t}function Fd(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?Md(Object(t),!0).forEach((function(n){Nd(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Md(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function Nd(e,n,t){return(n=function(e){var n=function(e){if("object"!=Id(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=Id(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Id(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}Object.keys(s).forEach((function(e){var n;Ql(e,Fd(Fd({},s[e]),{},{message:(null===(n=window.PageData)||void 0===n||null===(n=n.feedbackForm)||void 0===n||null===(n=n.translations)||void 0===n||null===(n=n.error)||void 0===n?void 0:n[e])||s[e].message}))})),Ql("accepted",{validate:function(e){return!0===e},message:"ÐеобÑ
одимо даÑÑ ÑоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
"});const $d=nl({name:"Feedback",directives:{mask:Il},components:{Popup:tl,VSelect:Rd(),ValidationProvider:Ec,ValidationObserver:Lc},props:{action:String},data:function(){var e,n;return{error:null,language:window.PageData.lang,options:(null===(e=window.PageData)||void 0===e||null===(e=e.feedbackForm)||void 0===e?void 0:e.options)||[],translations:(null===(n=window.PageData)||void 0===n||null===(n=n.feedbackForm)||void 0===n?void 0:n.translations)||null,isSuccessModal:!1,isQualityModal:!1,form:{name:"",email:"",ph
2one:"",message:"",theme:"",token:null,isAcceptedRules:!1}}},methods:{showModalQuality:function(){this.isQualityModal=!0},getFormData:function(e){var n=new FormData;return Object.keys(e).forEach((function(t){return n.append(t,e[t])})),n},resetForm:function(){this.$refs.form.reset(),this.form={name:"",email:"",phone:"",message:"",theme:"",token:null,isAcceptedRules:!1}},onSubmit:function(){var e=this;return Od(Pd().mark((function n(){var t;return Pd().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(n.prev=0,grecaptcha){n.next=3;break}return n.abrupt("return");case 3:grecaptcha.ready((function(){grecaptcha.execute(window.PageData.recaptchaKey,{action:"submit"}).then(function(){var n=Od(Pd().mark((function n(t){var s,i,a,r;return Pd().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.form.token=t,s={method:"POST",body:e.getFormData(Fd(Fd({},e.form),{},{theme:e.form.theme.value}))},n.next=4,fetch(e.action,s);case 4:if((i=n.sent).ok){n.next=8;break}return a=i.status,n.abrupt("return",Promise.reject(a));case 8:return n.next=10,i.json();case 10:if("error"===(r=n.sent).status){n.next=16;break}return e.isSuccessModal=!0,e.error=null,e.$nextTick((function(){e.resetForm()})),n.abrupt("return");case 16:e.error=r.message;case 17:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),n.next=10;break;case 6:n.prev=6,n.t0=n.catch(0),e.error=null===(t=e.translations)||void 0===t?void 0:t.serverError,console.error("There was an error!",n.t0);case 10:case"end":return n.stop()}}),n,null,[[0,6]])})))()}}},jo,[],!1,null,null,null).exports;document.addEventListener("DOMContentLoaded",(function(){if(document.getElementById("feedback-app"))return new Jt({el:"#feedback-app",components:{Feedback:$d}})}))},6613:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(){var e=document.querySelector(".js-full-page");if(e){var n,t=e.querySelector(".swiper"),a=function(){n=new s.A(t,{modules:[i.FJ],slidesPerView:"auto",spaceBetween:0,watchOverflow:!0,speed:800,preloadImages:!1,direction:"vertical",mousewheel:{enable:!0,thresholdDelta:5,releaseOnEdges:!0}})},r=function(){if(!(window.innerWidth<1281&&void 0!==n))return a();n.destroy(!0,!0)};a(),r(),window.addEventListener("resize",r)}}},2577:(e,n,t)=>{"use strict";t.d(n,{A:()=>r});var s=t(3703),i=t(4128),a=t(6405);function r(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n=e.querySelector(".js-gallery-slider-prev"),t=e.querySelector(".js-gallery-slider-next");if(n&&t){new s.A(e,{modules:[i.Vx],observer:!0,observeParents:!0,observeSlideChildren:!0,slidesPerView:"auto",spaceBetween:0,watchOverflow:!0,speed:500,loop:!0,grabCursor:!0,navigation:{nextEl:t,prevEl:n}});var r=null;e.querySelectorAll('[data-popup-invoker="newsGallery"]').forEach((function(n){n.addEventListener("click",(function(){a.z.openPopup("newsGallery",300,(function(){if(!r){!function(){var n=e.querySelector(".js-gallery-popup-slider");if(n){var t=n.querySelector(".js-gallery-popup-slider-prev"),a=n.querySelector(".js-gallery-popup-slider-next");t&&a&&(r=new s.A(n,{modules:[i.Vx],observer:!0,observeParents:!0,observeSlideChildren:!0,slidesPerView:1,spaceBetween:0,watchOverflow:!0,speed:500,loop:!0,grabCursor:!0,navigation:{nextEl:a,prevEl:t}}))}}();var t=n.getAttribute("data-image-number");r.slideTo(t,0)}}))}))})),e.querySelectorAll(".js-popup-close").forEach((function(e){e.addEventListener("click",(function(){a.z.closePopup("newsGallery",300,o)}))})),document.addEventListener("keydown",(function(e){27===e.which&&a.z.closePopup("newsGallery",300,o)}))}function o(){r&&(r.destroy(),r=null)}}))}},3457:(e,n,t)=>{"use strict";t.d(n,{N:()=>l,w:()=>o});var s=t(1372);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,n){for(var t=0;t<n.length;t++){var s=n[t];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,r(s.key),s)}}function r(e){var n=function(e){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=i(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(n)?n:n+""}var o=function(){return e=function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.buttonClass=n.buttonClass,this.activeButtonClass=n.activeButtonClass,this.menuClass=n.menuClass,this.activeMenuClass=n.activeMenuClass,this.closingElementClasses=n.closingElementClasses,this.lockPaddingElementClass=n.lockPaddingElementClass,this.showHideTime=n.showHideTime},(n=[{key:"onBurgerClick",value:function(e,n,t,i){e.addEventListener("click",(function(){t.classList.contains(i)?(0,s.Tl)():(0,s.s2)(),e.classList.toggle(n),t.classList.toggle(i)}))}},{key:"onClosingElementClick",value:function(e,n,t,i,a){t.addEventListener("click",(function(r){t.classList.contains(i)&&(null==a||a.forEach((function(a){r.target.closest(a)&&(e.classList.remove(n),t.classList.remove(i),(0,s.Tl)())})))}))}},{key:"init",value:function(){var e=document.querySelector(".".concat(this.buttonClass)),n=document.querySelector(".".concat(this.menuClass));if(e&&n){var t=this.activeButtonClass,s=this.activeMenuClass,i=this.closingElementClasses,a=document.querySelectorAll(".".concat(this.lockPaddingElementClass)),r=this.showHideTime;this.onBurgerClick(e,t,n,s,a,r),this.onClosingElementClick(e,t,n,s,i,a,r)}}}])&&a(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}();function l(e){var n=document.querySelector(".".concat(e));if(n){var t=function(){window.pageYOffset>=20?n.classList.add("isScrolled"):n.classList.remove("isScrolled")};t(),window.addEventListener("scroll",(function(){t()}))}}},4268:()=>{"use strict";const e=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},n=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=t},t=Number.MAX_SAFE_INTEGER||9007199254740991;
2let s=function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e}({}),i=function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.UNKNOWN="unknown",e}({}),a=function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFERED_TO_END="hlsBufferedToEnd",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",e.SUBTITLE_FRAG_PROCESSED="hl
2sSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e}({});var r="manifest",o="level",l="audioTrack",c="subtitleTrack",d="main",u="audio",p="subtitle";class h{constructor(e,n=0,t=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=n,this.totalWeight_=t}sample(e,n){const t=Math.pow(this.alpha_,e);this.estimate_=n*(1-t)+t*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class m{constructor(e,n,t,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=t,this.minWeight_=.001,this.minDelayMs_=50,this.slow_
vendor: 4,321 bytes, line 2
2=new h(e),this.fast_=new h(n),this.defaultTTFB_=s,this.ttfb_=new h(e)}update(e,n){const{slow_:t,fast_:s,ttfb_:i}=this;t.halfLife!==e&&(this.slow_=new h(e,t.getEstimate(),t.getTotalWeight())),s.halfLife!==n&&(this.fast_=new h(n,s.getEstimate(),s.getTotalWeight())),i.halfLife!==e&&(this.ttfb_=new h(e,i.getEstimate(),i.getTotalWeight()))}sample(e,n){const t=(e=Math.max(e,this.minDelayMs_))/1e3,s=8*n/t;this.fast_.sample(t,s),this.slow_.sample(t,s)}sampleTTFB(e){const n=e/1e3,t=Math.sqrt(2)*Math.exp(-Math.pow(n,2)/2);this.ttfb_.sample(t,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function v(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,n);if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof n?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},g.apply(null,arguments)}function f(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);n&&(s=s.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,s)}return t}function _(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?f(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):f(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}class b{constructor(e,n){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const t=`[${e}]:`;this.trace=y,this.debug=n.debug.bind(null,t),this.log=n.log.bind(null,t),this.warn=n.warn.bind(null,t),this.info=n.info.bind(null,t),this.error=n.error.bind(null,t)}}const y=function(){},w={trace:y,debug:y,log:y,warn:y,info:y,error:y};function k(){return g({},w)}function T(e,n,t){return n[e]?n[e].bind(n):function(e,n){const t=self.console[e];return t?t.bind(self.console,`${n?"["+n+"] ":""}[${e}] >`):y}(e,t)}const E=k(),x=E;function S(e=!0){if("undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function A(e,n){const t=Object.keys(e),s=Object.keys(n),i=t.length,a=s.length;return!i||!a||i===a&&!t.some((e=>-1===s.indexOf(e)))}function L(e,n=!1){if("undefined"!=typeof TextDecoder){const t=new TextDecoder("utf-8").decode(e);if(n){const e=t.indexOf("\0");return-1!==e?t.substring(0,e):t}return t.replace(/\0/g,"")}const t=e.length;let s,i,a,r="",o=0;for(;o<t;){if(s=e[o++],0===s&&n)return r;if(0!==s&&3!==s)switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:r+=String.fromCharCode(s);break;case 12:case 13:i=e[o++],r+=String.fromCharCode((31&s)<<6|63&i);break;case 14:i=e[o++],a=e[o++],r+=String.fromCharCode((15&s)<<12|(63&i)<<6|63&a)}}return r}const C=function(e){let n="";for(let t=0;t<e.length;t++){let s=e[t].toString(16);s.length<2&&(s="0"+s),n+=s}return n};function R(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var I,P,D,O,M,F,N={exports:{}},$=(I||(I=1,P=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,D=/^(?=([^\/?#]*))\1([^]*)$/,O=/(?:\/|^)\.(?=\/)/g,M=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,N.exports=F={buildAbsoluteURL:function(e,n,t){if(t=t||{},e=e.trim(),!(n=n.trim())){if(!t.alwaysNormalize)return e;var s=F.parseURL(e);if(!s)throw new Error("Error trying to parse base URL.");return s.path=F.normalizePath(s.path),F.buildURLFromParts(s)}var i=F.parseURL(n);if(!i)throw new Error("Error trying to parse relative URL.");
vendor: 4,211 bytes, line 2
2if(i.scheme)return t.alwaysNormalize?(i.path=F.normalizePath(i.path),F.buildURLFromParts(i)):n;var a=F.parseURL(e);if(!a)throw new Error("Error trying to parse base URL.");if(!a.netLoc&&a.path&&"/"!==a.path[0]){var r=D.exec(a.path);a.netLoc=r[1],a.path=r[2]}a.netLoc&&!a.path&&(a.path="/");var o={scheme:a.scheme,netLoc:i.netLoc,path:null,params:i.params,query:i.query,fragment:i.fragment};if(!i.netLoc&&(o.netLoc=a.netLoc,"/"!==i.path[0]))if(i.path){var l=a.path,c=l.substring(0,l.lastIndexOf("/")+1)+i.path;o.path=F.normalizePath(c)}else o.path=a.path,i.params||(o.params=a.params,i.query||(o.query=a.query));return null===o.path&&(o.path=t.alwaysNormalize?F.normalizePath(i.path):i.path),F.buildURLFromParts(o)},parseURL:function(e){var n=P.exec(e);return n?{scheme:n[1]||"",netLoc:n[2]||"",path:n[3]||"",params:n[4]||"",query:n[5]||"",fragment:n[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(O,"");e.length!==(e=e.replace(M,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}}),N.exports);class B{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var U="audio",j="video",G="audiovideo";class z{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,"string"==typeof e&&(e={url:e}),this.base=e,function(e,n){const t=H(e,n);t&&(t.enumerable=!0,Object.defineProperty(e,n,t))}(this,"stats")}setByteRange(e,n){const t=e.split("@",2);let s;s=1===t.length?(null==n?void 0:n.byteRangeEndOffset)||0:parseInt(t[1]),this._byteRange=[s,parseInt(t[0])+s]}get baseurl(){return this.base.url}get byteRange(){return null===this._byteRange?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return null===this._streams&&(this._streams={[U]:null,[j]:null,[G]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return null!==this._stats}get hasStreams(){return null!==this._streams}get stats(){return null===this._stats&&(this._stats=new B),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=$.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){const{elementaryStreams:e}=this;e[U]=null,e[j]=null,e[G]=null}}function q(e){return"initSegment"!==e.sn}class K extends z{constructor(e,n){super(n),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){const e=this.stats.total;if(e)return e}if(this.byteRange){const n=this.byteRange[0],t=this.byteRange[1];if(e(n)&&e(t))return t-n}return null}get bitrate(){return this.byteLength?8*this.byteLength/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){const{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{const e=Object.keys(this.levelkeys);if(1===e.length)return this._decryptdata=this.levelkeys[e[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;const n=e(this.duration)?this.duration:0;return this.programDateTime+1e3*n}get encrypted(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;
vendor: 4,973 bytes, line 2
2if(this.levelkeys){const e=Object.keys(this.levelkeys),n=e.length;if(n>1||1===n&&this.levelkeys[e[0]].encrypted)return!0}return!1}get programDateTime(){return null===this._programDateTime&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(n){e(n)?this._programDateTime=n:this._programDateTime=this.rawProgramDateTime=null}get ref(){return q(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){if(this.levelkeys){const n=this.levelkeys[e];n&&!this._decryptdata&&(this._decryptdata=n.getDecryptData(this.sn))}}abortRequests(){var e,n;null==(e=this.loader)||e.abort(),null==(n=this.keyLoader)||n.abort()}setElementaryStreamInfo(e,n,t,s,i,a=!1){const{elementaryStreams:r}=this,o=r[e];o?(o.startPTS=Math.min(o.startPTS,n),o.endPTS=Math.max(o.endPTS,t),o.startDTS=Math.min(o.startDTS,s),o.endDTS=Math.max(o.endDTS,i)):r[e]={startPTS:n,endPTS:t,startDTS:s,endDTS:i,partial:a}}}class V extends z{constructor(e,n,t,s,i){super(t),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=n,this.index=s;const a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,i),i&&(this.fragOffset=i.fragOffset+i.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}function H(e,n){const t=Object.getPrototypeOf(e);if(t){return Object.getOwnPropertyDescriptor(t,n)||H(t,n)}}const Y=Math.pow(2,32)-1,W=[].push,X={video:1,audio:2,id3:3,text:4};function Q(e){return String.fromCharCode.apply(null,e)}function J(e,n){const t=e[n]<<8|e[n+1];return t<0?65536+t:t}function Z(e,n){const t=ne(e,n);return t<0?4294967296+t:t}function ee(e,n){let t=Z(e,n);return t*=Math.pow(2,32),t+=Z(e,n+4),t}function ne(e,n){return e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]}function te(e,n){const t=[];if(!n.length)return t;const s=e.byteLength;for(let i=0;i<s;){const a=Z(e,i),r=a>1?i+a:s;if(Q(e.subarray(i+4,i+8))===n[0])if(1===n.length)t.push(e.subarray(i+8,r));else{const s=te(e.subarray(i+8,r),n.slice(1));s.length&&W.apply(t,s)}i=r}return t}function se(e){const n=[],t=e[0];let s=8;const i=Z(e,s);s+=4;let a=0,r=0;0===t?(a=Z(e,s),r=Z(e,s+4),s+=8):(a=ee(e,s),r=ee(e,s+8),s+=16),s+=2;let o=e.length+r;const l=J(e,s);s+=2;for(let t=0;t<l;t++){let t=s;const a=Z(e,t);t+=4;const r=2147483647&a;if(1==(2147483648&a)>>>31)return x.warn("SIDX has hierarchical references (not supported)"),null;const l=Z(e,t);t+=4,n.push({referenceSize:r,subsegmentDuration:l,info:{duration:l/i,start:o,end:o+r-1}}),o+=r,t+=4,s=t}return{earliestPresentationTime:a,timescale:i,version:t,referencesCount:l,references:n}}function ie(e){const n=[],t=te(e,["moov","trak"]);for(let e=0;e<t.length;e++){const s=t[e],i=te(s,["tkhd"])[0];if(i){let e=i[0];const t=Z(i,0===e?12:20),a=te(s,["mdia","mdhd"])[0];if(a){e=a[0];const i=Z(a,0===e?12:20),r=te(s,["mdia","hdlr"])[0];if(r){const e=Q(r.subarray(8,12)),a={soun:U,vide:j}[e],o=ae(te(s,["mdia","minf","stbl","stsd"])[0]);a?(n[t]={timescale:i,type:a,stsd:o},n[a]=_({timescale:i,id:t},o)):n[t]={timescale:i,type:e,stsd:o}}}}}return te(e,["moov","mvex","trex"]).forEach((e=>{const t=Z(e,4),s=n[t];s&&(s.default={duration:Z(e,12),flags:Z(e,20)})})),n}function ae(e){const n=e.subarray(8),t=n.subarray(86),s=Q(n.subarray(4,8));let i,a=s;const r="enca"===s||"encv"===s;if(r){const e=te(n,[s])[0];te(e.subarray("enca"===s?28:78),["sinf"]).forEach((e=>{const n=te(e,["schm"])[0];if(n){const t=Q(n.subarray(4,8));if("cbcs"===t||"cenc"===t){const n=te(e,["frma"])[0];n&&(a=Q(n))}}}))}const o=a;switch(a){case"avc1":case"avc2":case"avc3":case"avc4":{const e=te(t,["avcC"])[0];e&&e.length>3&&(a+="."+le(e[1])+le(e[2])+le(e[3]),i=re("avc1"===o?"dva1":"dvav",t));break}case"mp4a":{const e=te(n,[s])[0],t=te(e.subarray(28),["esds"])[0];if(t&&t.length>7){let e=4;if(3!==t[e++])break;e=oe(t,e),e+=2;const n=t[e++];if(128&n&&(e+=2),64&n&&(e+=t[e++]),4!==t[e++])break;e=oe(t,e);const s=t[e++];if(64!==s)break;if(a+="."+le(s),e+=12,5!==t[e++])break;e=oe(t,e);const i=t[e++];let r=(248&i)>>3;31===r&&(r+=1+((7&i)<<3)+((224&t[e])>>5)),a+="."+r}break}case"hvc1":case"hev1":{const e=te(t,["hvcC"])[0];if(e&&e.length>12){const n=e[1],t=["","A","B","C"][n>>6],s=31&n,i=Z(e,2),r=(32&n)>>5?"H":"L",o=e[12],l=e.subarray(6,12);a+="."+t+s,a+="."+function(e){let n=0;for(let t=0;t<32;t++)n|=(e>>t&1)<<31-t;return n>>>0}(i).toString(16).toUpperCase(),a+="."+r+o;let c="";for(let e=l.length;e--;){const n=l[e];
vendor: 4,725 bytes, line 2
2(n||c)&&(c="."+n.toString(16).toUpperCase()+c)}a+=c}i=re("hev1"==o?"dvhe":"dvh1",t);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":a=re(a,t)||a;break;case"vp09":{const e=te(t,["vpcC"])[0];if(e&&e.length>6){const n=e[4],t=e[5],s=e[6]>>4&15;a+="."+ce(n)+"."+ce(t)+"."+ce(s)}break}case"av01":{const e=te(t,["av1C"])[0];if(e&&e.length>2){const n=e[1]>>>5,s=31&e[1],r=e[2]>>>7?"H":"M",o=(64&e[2])>>6,l=(32&e[2])>>5,c=2===n&&o?l?12:10:o?10:8,d=(16&e[2])>>4,u=(8&e[2])>>3,p=(4&e[2])>>2,h=3&e[2],m=1,v=1,g=1,f=0;a+="."+n+"."+ce(s)+r+"."+ce(c)+"."+d+"."+u+p+h+"."+ce(m)+"."+ce(v)+"."+ce(g)+"."+f,i=re("dav1",t)}break}}return{codec:a,encrypted:r,supplemental:i}}function re(e,n){const t=te(n,["dvvC"]),s=t.length?t[0]:te(n,["dvcC"])[0];if(s){const n=s[2]>>1&127,t=s[2]<<5&32|s[3]>>3&31;return e+"."+ce(n)+"."+ce(t)}}function oe(e,n){const t=n+5;for(;128&e[n++]&&n<t;);return n}function le(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function ce(e){return(e<10?"0":"")+e}function de(e){const n=te(e,["schm"])[0];if(n){const t=Q(n.subarray(4,8));if("cbcs"===t||"cenc"===t)return te(e,["schi","tenc"])[0]}return null}function ue(e,n){const t=new Uint8Array(e.length+n.length);return t.set(e),t.set(n,e.length),t}function pe(e,n){const t=[],s=n.samples,i=n.timescale,a=n.id;let r=!1;return te(s,["moof"]).map((o=>{const l=o.byteOffset-8;te(o,["traf"]).map((o=>{const c=te(o,["tfdt"]).map((e=>{const n=e[0];let t=Z(e,4);return 1===n&&(t*=Math.pow(2,32),t+=Z(e,8)),t/i}))[0];return void 0!==c&&(e=c),te(o,["tfhd"]).map((c=>{const d=Z(c,4),u=16777215&Z(c,0);let p=0;const h=!!(16&u);let m=0;const v=!!(32&u);let g=8;d===a&&(!!(1&u)&&(g+=8),!!(2&u)&&(g+=4),!!(8&u)&&(p=Z(c,g),g+=4),h&&(m=Z(c,g),g+=4),v&&(g+=4),"video"===n.type&&(r=he(n.codec)),te(o,["trun"]).map((a=>{const o=a[0],c=16777215&Z(a,0),d=!!(1&c);let u=0;const h=!!(4&c),v=!!(256&c);let g=0;const f=!!(512&c);let _=0;const b=!!(1024&c),y=!!(2048&c);let w=0;const k=Z(a,4);let T=8;d&&(u=Z(a,T),T+=4),h&&(T+=4);let E=u+l;for(let l=0;l<k;l++){if(v?(g=Z(a,T),T+=4):g=p,f?(_=Z(a,T),T+=4):_=m,b&&(T+=4),y&&(w=0===o?Z(a,T):ne(a,T),T+=4),n.type===j){let n=0;for(;n<_;){const a=Z(s,E);E+=4,me(r,s[E])&&ve(s.subarray(E,E+a),r?2:1,e+w/i,t),E+=a,n+=a+4}}e+=g/i}})))}))}))})),t}function he(e){if(!e)return!1;const n=e.substring(0,4);return"hvc1"===n||"hev1"===n||"dvh1"===n||"dvhe"===n}function me(e,n){if(e){const e=n>>1&63;return 39===e||40===e}return 6==(31&n)}function ve(e,n,t,s){const i=ge(e);let a=0;a+=n;let r=0,o=0,l=0;for(;a<i.length;){r=0;do{if(a>=i.length)break;l=i[a++],r+=l}while(255===l);o=0;do{if(a>=i.length)break;l=i[a++],o+=l}while(255===l);const e=i.length-a;let n=a;if(o<e)a+=o;else if(o>e){x.error(`Malformed SEI payload. ${o} is too small, only ${e} bytes left to parse.`);break}if(4===r){if(181===i[n++]){const e=J(i,n);if(n+=2,49===e){const e=Z(i,n);if(n+=4,1195456820===e){const e=i[n++];if(3===e){const a=i[n++],o=64&a,l=o?2+3*(31&a):0,c=new Uint8Array(l);if(o){c[0]=a;for(let e=1;e<l;e++)c[e]=i[n++]}s.push({type:e,payloadType:r,pts:t,bytes:c})}}}}}else if(5===r&&o>16){const e=[];for(let t=0;t<16;t++){const s=i[n++].toString(16);e.push(1==s.length?"0"+s:s),3!==t&&5!==t&&7!==t&&9!==t||e.push("-")}const a=o-16,l=new Uint8Array(a);for(let e=0;e<a;e++)l[e]=i[n++];s.push({payloadType:r,pts:t,uuid:e.join(""),userData:L(l),userDataBytes:l})}}}function ge(e){const n=e.byteLength,t=[];let s=1;for(;s<n-2;)0===e[s]&&0===e[s+1]&&3===e[s+2]?(t.push(s+2),s+=2):s++;if(0===t.length)return e;const i=n-t.length,a=new Uint8Array(i);let r=0;for(s=0;s<i;r++,s++)r===t[0]&&(r++,t.shift()),a[s]=e[r];return a}function fe(e){const n=e.getUint32(0),t=e.byteOffset,s=e.byteLength;if(s<n)return{offset:t,size:s};if(1886614376!==e.getUint32(4))return{offset:t,size:n};const i=e.getUint32(8)>>>24;if(0!==i&&1!==i)return{offset:t,size:n};const a=e.buffer,r=C(new Uint8Array(a,t+12,16));let o=null,l=null,c=0;if(0===i)c=28;else if(1===i){const i=e.getUint32(28);if(!i||s<32+16*i)return{offset:t,size:n};o=[];for(let e=0;e<i;e++)o.push(new Uint8Array(a,t+32+16*e,16));c=32+16*i}if(!c)return{offset:t,size:n};const d=e.getUint32(c);return n-32<d?{offset:t,size:n}:(l=new Uint8Array(a,t+c+4,d),{version:i,systemId:r,kids:o,data:l,offset:t,size:n})}const _e=()=>/\(Windows.+Firefox\//i.test(navigator.userAgent),be={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv
vendor: 12,825 bytes, line 2
260:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function ye(e,n){const t=be[n];return!!t&&!!t[e.slice(0,4)]}function we(e,n,t=!0){return!e.split(",").some((e=>!ke(e,n,t)))}function ke(e,n,t=!0){var s;const i=S(t);return null!=(s=null==i?void 0:i.isTypeSupported(Te(e,n)))&&s}function Te(e,n){return`${n}/mp4;codecs=${e}`}function Ee(e){if(e){const n=e.substring(0,4);return be.video[n]}return 2}function xe(e){const n=_e();return e.split(",").reduce(((e,t)=>{const s=n&&he(t)?9:be.video[t];return s?(2*s+e)/(e?3:2):(be.audio[t]+e)/(e?2:1)}),0)}const Se={},Ae=/flac|opus|mp4a\.40\.34/i;function Le(e,n=!0){return e.replace(Ae,(e=>function(e,n=!0){if(Se[e])return Se[e];const t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let i=0;i<t.length;i++){var s;if(ke(t[i],"audio",n))return Se[e]=t[i],t[i];if("mp3"===t[i]&&null!=(s=S(n))&&s.isTypeSupported("audio/mpeg"))return""}return e}(e.toLowerCase(),n)))}function Ce(e,n){if(e&&(e.length>4||-1!==["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e))&&(Re(e,"audio")||Re(e,"video")))return e;if(n){const t=n.split(",");if(t.length>1){if(e)for(let n=t.length;n--;)if(t[n].substring(0,4)===e.substring(0,4))return t[n];return t[0]}}return n||e}function Re(e,n){return ye(e,n)&&ke(e,n)}function Ie(e){if(e.startsWith("av01.")){const n=e.split("."),t=["0","111","01","01","01","0"];for(let e=n.length;e>4&&e<10;e++)n[e]=t[e-4];return n.join(".")}return e}function Pe(e){const n=S(e)||{isTypeSupported:()=>!1};return{mpeg:n.isTypeSupported("audio/mpeg"),mp3:n.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:n.isTypeSupported('audio/mp4; codecs="ac-3"')}}function De(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}const Oe={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function Me(e,n){return{supported:!1,configurations:n,decodingInfoResults:[{supported:!1,smooth:!1,powerEfficient:!1}],error:e}}function Fe(n,t,s,i,a,r){const o=n.videoCodec,l=n.audioCodec?n.audioGroups:null,c=null==r?void 0:r.audioCodec,d=null==r?void 0:r.channels,u=d?parseInt(d):c?1/0:2;let p=null;if(null!=l&&l.length)try{p=1===l.length&&l[0]?t.groups[l[0]].channels:l.reduce(((e,n)=>{if(n){const s=t.groups[n];if(!s)throw new Error(`Audio track group ${n} not found`);Object.keys(s.channels).forEach((n=>{e[n]=(e[n]||0)+s.channels[n]}))}return e}),{2:0})}catch(e){return!0}return void 0!==o&&(o.split(",").some((e=>he(e)))||n.width>1920&&n.height>1088||n.height>1920&&n.width>1088||n.frameRate>Math.max(i,30)||"SDR"!==n.videoRange&&n.videoRange!==s||n.bitrate>Math.max(a,8e6))||!!p&&e(u)&&Object.keys(p).some((e=>parseInt(e)>u))}function Ne(e,n,t,s={}){const i=e.videoCodec;if(!i&&!e.audioCodec||!t)return Promise.resolve(Oe);const a=[],r=function(e){var n;const t=null==(n=e.videoCodec)?void 0:n.split(","),s=Be(e),i=e.width||640,a=e.height||480,r=e.frameRate||30,o=e.videoRange.toLowerCase();return t?t.map((e=>{const n={contentType:Te(Ie(e),"video"),width:i,height:a,bitrate:s,framerate:r};return"sdr"!==o&&(n.transferFunction=o),n})):[]}(e),o=r.length,l=function(e,n,t){var s;const i=null==(s=e.audioCodec)?void 0:s.split(","),a=Be(e);return i&&e.audioGroups?e.audioGroups.reduce(((e,s)=>{var r;const o=s?null==(r=n.groups[s])?void 0:r.tracks:null;return o?o.reduce(((e,n)=>{if(n.groupId===s){const s=parseFloat(n.channels||"");i.forEach((n=>{const i={contentType:Te(n,"audio"),bitrate:t?$e(n,a):a};s&&(i.channels=""+s),e.push(i)}))}return e}),e):e}),[]):[]}(e,n,o>0),c=l.length;for(let e=o||1*c||1;e--;){const n={type:"media-source"};if(o&&(n.video=r[e%o]),c){n.audio=l[e%c];const t=n.audio.bitrate;n.video&&t&&(n.video.bitrate-=t)}a.push(n)}if(i){const e=navigator.userAgent;if(i.split(",").some((e=>he(e)))&&_e())return Promise.resolve(Me(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),a))}return Promise.all(a.map((e=>{const n=function(e){let n="";const{audio:t,video:s}=e;return s&&(n+=`${De(s.contentType)}_r${s.height}x${s.width}f${Math.ceil(s.framerate)}${s.transferFunction||"sd"}_${Math.ceil(s.bitrate/1e5)}`),t&&(n+=`${s?"_":""}${De(t.contentType)}_c${t.channels}`),n}(e);return s[n]||(s[n]=t.decodingInfo(e))}))).then((e=>({supported:!e.some((e=>!e.supported)),configurations:a,decodingInfoResults:e}))).catch((e=>({supported:!1,configurations:a,decodingInfoResults:[],error:e})))}function $e(e,n){if(n<=1)return 1;let t=128e3;return"ec-3"===e?t=768e3:"ac-3"===e&&(t=64e4),Math.min(n/2,t)}function Be(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}const Ue=["NONE","TYPE-0","TYPE-1",null],je=["SDR","PQ","HLG"];function Ge(e){const{canSkipUntil:n,canSkipDateRanges:t,age:s}=e;return n&&s<n/2?t?"v2":"YES":""}class ze{constructor(e,n,t){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=n,this.skip=t}addDirectives(e){const n=new self.URL(e);return void 0!==this.msn&&n.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&n.searchParams.set("_HLS_part",this.part.toString()),this.skip&&n.searchParams.set("_HLS_skip",this.skip),n.href}}class qe{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter((e=>!!e)).map((e=>e.substring(0,4))).join(","),"supplemental"in e){var n;this.supplemental=e.supplemental;const t=null==(n=e.supplemental)?void 0:n.videoCodec;t&&t!==e.videoCodec&&(this.codecSet+=`,${t.substring(0,4)}`)}this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return Ke(this._audioGroups,e)}hasSubtitleGroup(e){return Ke(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,n){if(n)if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(n)&&e.push(n)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(n)&&e.push(n)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function Ke(e,n){return!(!n||!e)&&-1!==e.indexOf(n)}const Ve=(e,n)=>JSON.stringify(e,(e=>{const n=new WeakSet;return(t,s)=>{if(e&&(s=e(t,s)),"object"==typeof s&&null!==s){if(n.has(s))return;n.add(s)}return s}})(n));function He(e,n){x.log(`[abr] start candidates with "${e}" ignored because ${n}`)}function Ye(e){return e.reduce(((e,n)=>{let t=e.groups[n.groupId];t||(t=e.groups[n.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),t.tracks.push(n);const s=n.channels||"2";return t.channels[s]=(t.channels[s]||0)+1,t.hasDefault=t.hasDefault||n.default,t.hasAutoSelect=t.hasAutoSelect||n.autoselect,t.hasDefault&&(e.hasDefaultAudio=!0),t.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function We(e){if(!e)return e;const{lang:n,assocLang:t,characteristics:s,channels:i,audioCodec:a}=e;return{lang:n,assocLang:t,characteristics:s,channels:i,audioCodec:a}}function Xe(e,n,t){if("attrs"in e){const t=n.indexOf(e);if(-1!==t)return t}for(let s=0;s<n.length;s++)if(Qe(e,n[s],t))return s;return-1}function Qe(e,n,t){const{groupId:s,name:i,lang:a,assocLang:r,default:o}=e,l=e.forced;return(void 0===s||n.groupId===s)&&(void 0===i||n.name===i)&&(void 0===a||function(e,n="--"){return e.length===n.length?e===n:e.startsWith(n)||n.startsWith(e)}(a,n.lang))&&(void 0===a||n.assocLang===r)&&(void 0===o||n.default===o)&&(void 0===l||n.forced===l)&&(!("characteristics"in e)||function(e,n=""){const t=e.split(","),s=n.split(",");return t.length===s.length&&!t.some((e=>-1===s.indexOf(e)))}(e.characteristics||"",n.characteristics))&&(void 0===t||t(e,n))}function Je(e,n){const{audioCodec:t,channels:s}=e;return!(void 0!==t&&(n.audioCodec||"").substring(0,4)!==t.substring(0,4)||void 0!==s&&s!==(n.channels||"2"))}function Ze(e,n,t){for(let s=n;s>-1;s--)if(t(e[s]))return s;for(let s=n+1;s<e.length;s++)if(t(e[s]))return s;return-1}function en(e,n){var t;return!!e&&e!==(null==(t=n.loadLevelObj)?void 0:t.uri)}const nn=function(e,n){let t=0,s=e.length-1,i=null,a=null;for(;t<=s;){i=(t+s)/2|0,a=e[i];const r=n(a);if(r>0)t=i+1;else{if(!(r<0))return a;s=i-1}}return null};function tn(e,n,t=0,s=0,i=.005){let a=null;if(e){a=n[1+e.sn-n[0].sn]||null;const s=e.endDTS-t;s>0&&s<15e-7&&(t+=15e-7),a&&e.level!==a.level&&a.end<=e.end&&(a=n[2+e.sn-n[0].sn]||null)}else 0===t&&0===n[0].start&&(a=n[0]);if(a&&((!e||e.level===a.level)&&0===sn(t,s,a)||function(e,n,t){if(n&&0===n.start&&n.level<e.level&&(n.endPTS||0)>0){const s=n.tagList.reduce(((e,n)=>("INF"===n[0]&&(e+=parseFloat(n[1])),e)),t);return e.start<=s}return!1}(a,e,Math.min(i,s))))return a;const r=nn(n,sn.bind(null,t,s));return!r||r===e&&a?a:r}function sn(e=0,n=0,t){if(t.start<=e&&t.start+t.duration>e)return 0;const s=Math.min(n,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-s<=e?1:t.start-s>e&&t.start?-1:0}function an(e,n,t){const s=1e3*Math.min(n,t.duration+(t.deltaPTS?t.deltaPTS:0));return(t.endProgramDateTime||0)-s>e}function rn(e,n,t){if(e&&e.startCC<=n&&e.endCC>=n){let s=e.fragments;const{fragmentHint:i}=e;let a;return i&&(s=s.concat(i)),nn(s,(e=>e.cc<n?1:e.cc>n?-1:(a=e,e.end<=t?1:e.start>t?-1:0))),a||null}return null}function on(e){switch(e.details){case i.FRAG_LOAD_TIMEOUT:case i.KEY_LOAD_TIMEOUT:case i.LEVEL_LOAD_TIMEOUT:case i.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function ln(e,n){const t=on(n);return e.default[(t?"timeout":"error")+"Retry"]}function cn(e,n){const t="linear"===e.backoff?1:Math.pow(2,n);return Math.min(t*e.retryDelayMs,e.maxRetryDelayMs)}function dn(e){return _(_({},e),{errorRetry:null,timeoutRetry:null})}function un(e,n,t,s){if(!e)return!1;const i=null==s?void 0:s.code,a=n<e.maxNumRetry&&(function(e){return 0===e&&!1===navigator.onLine||!!e&&(e<400||e>499)}(i)||!!t);return e.shouldRetry?e.shouldRetry(e,n,t,s,a):a}function pn(e){const n={action:0,flags:0};return e&&(n.resolved=!0),n}var hn="NOT_LOADED",mn="APPENDING",vn="PARTIAL",gn="OK";class fn{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.BUFFER_APPENDED,this.onBufferAppended,this),e.on(a.FRAG_BUFFERED,this.onFragBuffered,this),e.on(a.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){const{hls:e}=this;e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.BUFFER_APPENDED,this.onBufferAppended,this),e.off(a.FRAG_BUFFERED,this.onFragBuffered,this),e.off(a.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,n){const t=this.activePartLists[n];if(t)for(let n=t.length;n--;){const s=t[n];if(!s)break;const i=s.end;if(s.start<=e&&null!==i&&e<=i)return s}return this.getBufferedFrag(e,n)}getBufferedFrag(e,n){return this.getFragAtPos(e,n,!0)}getFragAtPos(e,n,t){const{fragments:s}=this,i=Object.keys(s);for(let a=i.length;a--;){const r=s[i[a]];if((null==r?void 0:r.body.type)===n&&(!t||r.buffered)){const n=r.body;if(n.start<=e&&e<=n.end)return n}}return null}detectEvictedFragments(e,n,t,s,i){this.timeRanges&&(this.timeRanges[e]=n);const a=(null==s?void 0:s.fragment.sn)||-1;
vendor: 4,452 bytes, line 2
2Object.keys(this.fragments).forEach((s=>{const r=this.fragments[s];if(!r)return;if(a>=r.body.sn)return;if(!r.buffered&&(!r.loaded||i))return void(r.body.type===t&&this.removeFragment(r.body));const o=r.range[e];o&&(0!==o.time.length?o.time.some((e=>{const t=!this.isTimeBuffered(e.startPTS,e.endPTS,n);return t&&this.removeFragment(r.body),t})):this.removeFragment(r.body))}))}detectPartialFragments(e){const n=this.timeRanges;if(!n||"initSegment"===e.frag.sn)return;const t=e.frag,s=bn(t),i=this.fragments[s];if(!i||i.buffered&&t.gap)return;const a=!t.relurl;Object.keys(n).forEach((s=>{const r=t.elementaryStreams[s];if(!r)return;const o=n[s],l=a||!0===r.partial;i.range[s]=this.getBufferedTimes(t,e.part,l,o)})),i.loaded=null,Object.keys(i.range).length?(i.buffered=!0,(i.body.endList=t.endList||i.body.endList)&&(this.endListFragments[i.body.type]=i),_n(i)||this.removeParts(t.sn-1,t.type)):this.removeFragment(i.body)}removeParts(e,n){const t=this.activePartLists[n];t&&(this.activePartLists[n]=yn(t,(n=>n.fragment.sn>=e)))}fragBuffered(e,n){const t=bn(e);let s=this.fragments[t];!s&&n&&(s=this.fragments[t]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,n,t,s){const i={time:[],partial:t},a=e.start,r=e.end,o=e.minEndPTS||r,l=e.maxStartPTS||a;for(let e=0;e<s.length;e++){const n=s.start(e)-this.bufferPadding,t=s.end(e)+this.bufferPadding;if(l>=n&&o<=t){i.time.push({startPTS:Math.max(a,s.start(e)),endPTS:Math.min(r,s.end(e))});break}if(a<t&&r>n){const n=Math.max(a,s.start(e)),t=Math.min(r,s.end(e));t>n&&(i.partial=!0,i.time.push({startPTS:n,endPTS:t}))}else if(r<=n)break}return i}getPartialFragment(e){let n,t,s,i=null,a=0;const{bufferPadding:r,fragments:o}=this;return Object.keys(o).forEach((l=>{const c=o[l];c&&_n(c)&&(t=c.body.start-r,s=c.body.end+r,e>=t&&e<=s&&(n=Math.min(e-t,s-e),a<=n&&(i=c.body,a=n)))})),i}isEndListAppended(e){const n=this.endListFragments[e];return void 0!==n&&(n.buffered||_n(n))}getState(e){const n=bn(e),t=this.fragments[n];return t?t.buffered?_n(t)?vn:gn:mn:hn}isTimeBuffered(e,n,t){let s,i;for(let a=0;a<t.length;a++){if(s=t.start(a)-this.bufferPadding,i=t.end(a)+this.bufferPadding,e>=s&&n<=i)return!0;if(n<=s)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,n){if("initSegment"===n.frag.sn||n.frag.bitrateTest)return;const t=n.frag,s=n.part?null:n,i=bn(t);this.fragments[i]={body:t,appendedPTS:null,loaded:s,buffered:!1,range:Object.create(null)}}onBufferAppended(e,n){const{frag:t,part:s,timeRanges:i,type:a}=n;if("initSegment"===t.sn)return;const r=t.type;if(s){let e=this.activePartLists[r];e||(this.activePartLists[r]=e=[]),e.push(s)}this.timeRanges=i;const o=i[a];this.detectEvictedFragments(a,o,r,s)}onFragBuffered(e,n){this.detectPartialFragments(n)}hasFragment(e){const n=bn(e);return!!this.fragments[n]}hasFragments(e){const{fragments:n}=this,t=Object.keys(n);if(!e)return t.length>0;for(let s=t.length;s--;){const i=n[t[s]];if((null==i?void 0:i.body.type)===e)return!0}return!1}hasParts(e){var n;return!(null==(n=this.activePartLists[e])||!n.length)}removeFragmentsInRange(e,n,t,s,i){s&&!this.hasGaps||Object.keys(this.fragments).forEach((a=>{const r=this.fragments[a];if(!r)return;const o=r.body;o.type!==t||s&&!o.gap||o.start<n&&o.end>e&&(r.buffered||i)&&this.removeFragment(o)}))}removeFragment(e){const n=bn(e);e.clearElementaryStreamInfo();const t=this.activePartLists[e.type];if(t){const n=e.sn;this.activePartLists[e.type]=yn(t,(e=>e.fragment.sn!==n))}delete this.fragments[n],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e,n;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;const t=null==(e=this.hls)||null==(n=e.latestLevelDetails)?void 0:n.partList;t&&t.forEach((e=>e.clearElementaryStreamInfo()))}}function _n(e){var n,t,s;return e.buffered&&(e.body.gap||(null==(n=e.range.video)?void 0:n.partial)||(null==(t=e.range.audio)?void 0:t.partial)||(null==(s=e.range.audiovideo)?void 0:s.partial))}function bn(e){return`${e.type}_${e.level}_${e.sn}`}function yn(e,n){return e.filter((e=>{const t=n(e);return t||e.clearElementaryStreamInfo(),t}))}class wn{constructor(e,n,t){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=n,this.aesMode=t}decrypt(e,n){switch(this.aesMode){case 0:return this.subtle.decrypt({
vendor: 6,842 bytes, line 2
2name:"AES-CBC",iv:this.aesIV},n,e);case 1:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},n,e);default:throw new Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}class kn{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){const n=new DataView(e),t=new Uint32Array(4);for(let e=0;e<4;e++)t[e]=n.getUint32(4*e);return t}initTable(){const e=this.sBox,n=this.invSBox,t=this.subMix,s=t[0],i=t[1],a=t[2],r=t[3],o=this.invSubMix,l=o[0],c=o[1],d=o[2],u=o[3],p=new Uint32Array(256);let h=0,m=0,v=0;for(v=0;v<256;v++)p[v]=v<128?v<<1:v<<1^283;for(v=0;v<256;v++){let t=m^m<<1^m<<2^m<<3^m<<4;t=t>>>8^255&t^99,e[h]=t,n[t]=h;const o=p[h],v=p[o],g=p[v];let f=257*p[t]^16843008*t;s[h]=f<<24|f>>>8,i[h]=f<<16|f>>>16,a[h]=f<<8|f>>>24,r[h]=f,f=16843009*g^65537*v^257*o^16843008*h,l[t]=f<<24|f>>>8,c[t]=f<<16|f>>>16,d[t]=f<<8|f>>>24,u[t]=f,h?(h=o^p[p[p[g^o]]],m^=p[p[m]]):h=m=1}}expandKey(e){const n=this.uint8ArrayToUint32Array_(e);let t=!0,s=0;for(;s<n.length&&t;)t=n[s]===this.key[s],s++;if(t)return;this.key=n;const i=this.keySize=n.length;if(4!==i&&6!==i&&8!==i)throw new Error("Invalid aes key size="+i);const a=this.ksRows=4*(i+6+1);let r,o;const l=this.keySchedule=new Uint32Array(a),c=this.invKeySchedule=new Uint32Array(a),d=this.sBox,u=this.rcon,p=this.invSubMix,h=p[0],m=p[1],v=p[2],g=p[3];let f,_;for(r=0;r<a;r++)r<i?f=l[r]=n[r]:(_=f,r%i==0?(_=_<<8|_>>>24,_=d[_>>>24]<<24|d[_>>>16&255]<<16|d[_>>>8&255]<<8|d[255&_],_^=u[r/i|0]<<24):i>6&&r%i==4&&(_=d[_>>>24]<<24|d[_>>>16&255]<<16|d[_>>>8&255]<<8|d[255&_]),l[r]=f=(l[r-i]^_)>>>0);for(o=0;o<a;o++)r=a-o,_=3&o?l[r]:l[r-4],c[o]=o<4||r<=4?_:h[d[_>>>24]]^m[d[_>>>16&255]]^v[d[_>>>8&255]]^g[d[255&_]],c[o]=c[o]>>>0}networkToHostOrderSwap(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24}decrypt(e,n,t){const s=this.keySize+6,i=this.invKeySchedule,a=this.invSBox,r=this.invSubMix,o=r[0],l=r[1],c=r[2],d=r[3],u=this.uint8ArrayToUint32Array_(t);let p=u[0],h=u[1],m=u[2],v=u[3];const g=new Int32Array(e),f=new Int32Array(g.length);let _,b,y,w,k,T,E,x,S,A,L,C,R,I;const P=this.networkToHostOrderSwap;for(;n<g.length;){for(S=P(g[n]),A=P(g[n+1]),L=P(g[n+2]),C=P(g[n+3]),k=S^i[0],T=C^i[1],E=L^i[2],x=A^i[3],R=4,I=1;I<s;I++)_=o[k>>>24]^l[T>>16&255]^c[E>>8&255]^d[255&x]^i[R],b=o[T>>>24]^l[E>>16&255]^c[x>>8&255]^d[255&k]^i[R+1],y=o[E>>>24]^l[x>>16&255]^c[k>>8&255]^d[255&T]^i[R+2],w=o[x>>>24]^l[k>>16&255]^c[T>>8&255]^d[255&E]^i[R+3],k=_,T=b,E=y,x=w,R+=4;_=a[k>>>24]<<24^a[T>>16&255]<<16^a[E>>8&255]<<8^a[255&x]^i[R],b=a[T>>>24]<<24^a[E>>16&255]<<16^a[x>>8&255]<<8^a[255&k]^i[R+1],y=a[E>>>24]<<24^a[x>>16&255]<<16^a[k>>8&255]<<8^a[255&T]^i[R+2],w=a[x>>>24]<<24^a[k>>16&255]<<16^a[T>>8&255]<<8^a[255&E]^i[R+3],f[n]=P(_^p),f[n+1]=P(w^h),f[n+2]=P(y^m),f[n+3]=P(b^v),p=S,h=A,m=L,v=C,n+=4}return f.buffer}}class Tn{constructor(e,n,t){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=n,this.aesMode=t}expandKey(){const e=function(e){switch(e){case 0:return"AES-CBC";case 1:return"AES-CTR";default:throw new Error(`[FastAESKey] invalid aes mode ${e}`)}}(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}class En{constructor(e,{removePKCS7Padding:n=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=n,n)try{const e=self.crypto;e&&(this.subtle=e.subtle||e.webkitSubtle)}catch(e){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){const{currentResult:e,remainderData:n}=this;if(!e||n)return this.reset(),null;const t=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?function(e){const n=e.byteLength,t=n&&new DataView(e.buffer).getUint8(n-1);return t?e.slice(0,n-t):e}(t):t}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,n,t,s){return this.useSoftware?new Promise(((i,a)=>{const r=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(r,n,t,s);const o=this.flush();o?i(o.buffer):a(new Error("[softwareDecrypt] Failed to decrypt data"))})):this.webCryptoDecrypt(new Uint8Array(e),n,t,s)}softwareDecrypt(e,n,t,s){const{currentIV:i,currentResult:a,remainderData:r}=this;if(0!==s||16!==n.byteLength)return x.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),r&&(e=ue(r,e),this.remainderData=null);const o=this.getValidChunk(e);if(!o.length)return null;i&&(t=i);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new kn),l.expandKey(n);const c=a;return this.currentResult=l.decrypt(o.buffer,0,t),this.currentIV=o.slice(-16).buffer,c||null}webCryptoDecrypt(e,n,t,s){if(this.key!==n||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,n,t,s));this.key=n,this.fastAesKey=new Tn(this.subtle,n,s)}return this.fastAesKey.expandKey().then((n=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new wn(this.subtle,new Uint8Array(t),s).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized")))).catch((i=>(x.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${i.name}: ${i.message}`),this.onWebCryptoError(e,n,t,s))))}onWebCryptoError(e,n,t,s){const i=this.enableSoftwareAES;if(i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,n,t,s);const i=this.flush();if(i)return i.buffer}throw new Error("WebCrypto"+(i?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let n=e;const t=e.length-e.length%16;return t!==e.length&&(n=e.slice(0,t),this.remainderData=e.slice(t)),n}logOnce(e){this.logEnabled&&(x.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}const xn=Math.pow(2,17);class Sn{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,n){const t=e.url;if(!t)return Promise.reject(new Cn({type:s.NETWORK_ERROR,details:i.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error("Fragment does not have a "+(t?"part list":"url")),networkDetails:null}));this.abort();
vendor: 6,320 bytes, line 2
2const a=this.config,r=a.fLoader,o=a.loader;return new Promise(((l,c)=>{if(this.loader&&this.loader.destroy(),e.gap){if(e.tagList.some((e=>"GAP"===e[0])))return void c(Ln(e));e.gap=!1}const d=this.loader=r?new r(a):new o(a),u=An(e);e.loader=d;const p=dn(a.fragLoadPolicy.default),h={loadPolicy:p,timeout:p.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:xn};e.stats=d.stats;const m={onSuccess:(n,t,s,i)=>{this.resetLoader(e,d);let a=n.data;s.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(a.slice(0,16)),a=a.slice(16)),l({frag:e,part:null,payload:a,networkDetails:i})},onError:(n,a,r,o)=>{this.resetLoader(e,d),c(new Cn({type:s.NETWORK_ERROR,details:i.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:_({url:t,data:void 0},n),error:new Error(`HTTP Error ${n.code} ${n.text}`),networkDetails:r,stats:o}))},onAbort:(n,t,a)=>{this.resetLoader(e,d),c(new Cn({type:s.NETWORK_ERROR,details:i.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:a,stats:n}))},onTimeout:(n,t,a)=>{this.resetLoader(e,d),c(new Cn({type:s.NETWORK_ERROR,details:i.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:a,stats:n}))}};n&&(m.onProgress=(t,s,i,a)=>n({frag:e,part:null,payload:i,networkDetails:a})),d.load(u,h,m)}))}loadPart(e,n,t){this.abort();const a=this.config,r=a.fLoader,o=a.loader;return new Promise(((l,c)=>{if(this.loader&&this.loader.destroy(),e.gap||n.gap)return void c(Ln(e,n));const d=this.loader=r?new r(a):new o(a),u=An(e,n);e.loader=d;const p=dn(a.fragLoadPolicy.default),h={loadPolicy:p,timeout:p.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:xn};n.stats=d.stats,d.load(u,h,{onSuccess:(s,i,a,r)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,n);const o={frag:e,part:n,payload:s.data,networkDetails:r};t(o),l(o)},onError:(t,a,r,o)=>{this.resetLoader(e,d),c(new Cn({type:s.NETWORK_ERROR,details:i.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:n,response:_({url:u.url,data:void 0},t),error:new Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:r,stats:o}))},onAbort:(t,a,r)=>{e.stats.aborted=n.stats.aborted,this.resetLoader(e,d),c(new Cn({type:s.NETWORK_ERROR,details:i.INTERNAL_ABORTED,fatal:!1,frag:e,part:n,error:new Error("Aborted"),networkDetails:r,stats:t}))},onTimeout:(t,a,r)=>{this.resetLoader(e,d),c(new Cn({type:s.NETWORK_ERROR,details:i.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:n,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:r,stats:t}))}})}))}updateStatsFromPart(e,n){const t=e.stats,s=n.stats,i=s.total;if(t.loaded+=s.loaded,i){const s=Math.round(e.duration/n.duration),a=Math.min(Math.round(t.loaded/i),s),r=(s-a)*Math.round(t.loaded/a);t.total=t.loaded+r}else t.total=Math.max(t.loaded,t.total);const a=t.loading,r=s.loading;a.start?a.first+=r.first-r.start:(a.start=r.start,a.first=r.first),a.end=r.end}resetLoader(e,n){e.loader=null,this.loader===n&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),n.destroy()}}function An(n,t=null){const s=t||n,i={frag:n,part:t,responseType:"arraybuffer",url:s.url,headers:{},rangeStart:0,rangeEnd:0},a=s.byteRangeStartOffset,r=s.byteRangeEndOffset;if(e(a)&&e(r)){var o;let e=a,t=r;if("initSegment"===n.sn&&("AES-128"===(l=null==(o=n.decryptdata)?void 0:o.method)||"AES-256"===l)){const n=r-a;n%16&&(t=r+(16-n%16)),0!==a&&(i.resetIV=!0,e=a-16)}i.rangeStart=e,i.rangeEnd=t}var l;return i}function Ln(e,n){const t=new Error(`GAP ${e.gap?"tag":"attribute"} found`),a={type:s.MEDIA_ERROR,details:i.FRAG_GAP,fatal:!1,frag:e,error:t,networkDetails:null};return n&&(a.part=n),(n||e).stats.aborted=!0,new Cn(a)}class Cn extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class Rn extends b{constructor(e,n){super(e,n),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)}clearNextTick(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class In{constructor(e,n,t,s=0,i=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing={start:0,executeStart:0,executeEnd:0,end:0},this.buffering={audio:{start:0,executeStart:0,executeEnd:0,end:0},video:{start:0,executeStart:0,executeEnd:0,end:0},audiovideo:{start:0,executeStart:0,executeEnd:0,end:0}},this.level=e,this.sn=n,this.id=t,this.size=s,this.part=i,this.partial=a}}const Pn={length:0,start:()=>0,end:()=>0};class Dn{static isBuffered(e,n){if(e){const t=Dn.getBuffered(e);for(let e=t.length;e--;)if(n>=t.start(e)&&n<=t.end(e))return!0}return!1}static bufferedRanges(e){if(e){const n=Dn.getBuffered(e);return Dn.timeRangesToArray(n)}return[]}static timeRangesToArray(e){const n=[];for(let t=0;t<e.length;t++)n.push({start:e.start(t),end:e.end(t)});return n}static bufferInfo(e,n,t){if(e){const s=Dn.bufferedRanges(e);if(s.length)return Dn.bufferedInfo(s,n,t)}return{len:0,start:n,end:n,bufferedIndex:-1}}static bufferedInfo(e,n,t){n=Math.max(0,n),e.length>1&&e.sort(((e,n)=>e.start-n.start||n.end-e.end));let s=-1,i=[];if(t)for(let a=0;a<e.length;a++){n>=e[a].start&&n<=e[a].end&&(s=a);const r=i.length;if(r){const n=i[r-1].end;e[a].start-n<t?e[a].end>n&&(i[r-1].end=e[a].end):i.push(e[a])}else i.push(e[a])}else i=e;let a,r=0,o=n,l=n;for(let e=0;e<i.length;e++){const c=i[e].start,d=i[e].end;if(-1===s&&n>=c&&n<=d&&(s=e),n+t>=c&&n<d)o=c,l=d,r=l-n;else if(n+t<c){a=c;break}}return{len:r,start:o||0,end:l||0,nextStart:a,buffered:e,bufferedIndex:s}}static getBuffered(e){try{return e.buffered||Pn}catch(e){return x.log("failed to get media.buffered",e),Pn}}}
vendor: 6,309 bytes, line 2
2const On=/\{\$([a-zA-Z0-9-_]+)\}/g;function Mn(e){return On.test(e)}function Fn(e,n){if(null!==e.variableList||e.hasVariableRefs){const t=e.variableList;return n.replace(On,(n=>{const s=n.substring(2,n.length-1),i=null==t?void 0:t[s];return void 0===i?(e.playlistParsingError||(e.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),n):i}))}return n}function Nn(e,n,t){let s,i,a=e.variableList;if(a||(e.variableList=a={}),"QUERYPARAM"in n){s=n.QUERYPARAM;try{const e=new self.URL(t).searchParams;if(!e.has(s))throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`);i=e.get(s)}catch(n){e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${n.message}`))}}else s=n.NAME,i=n.VALUE;s in a?e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):a[s]=i||""}function $n(e,n,t){const s=n.IMPORT;if(t&&s in t){let n=e.variableList;n||(e.variableList=n={}),n[s]=t[s]}else e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${s}"`))}const Bn=/^(\d+)x(\d+)$/,Un=/(.+?)=(".*?"|.*?)(?:,|$)/g;class jn{constructor(e,n){"string"==typeof e&&(e=jn.parseAttrList(e,n)),g(this,e)}get clientAttrs(){return Object.keys(this).filter((e=>"X-"===e.substring(0,2)))}decimalInteger(e){const n=parseInt(this[e],10);return n>Number.MAX_SAFE_INTEGER?1/0:n}hexadecimalInteger(e){if(this[e]){let n=(this[e]||"0x").slice(2);n=(1&n.length?"0":"")+n;const t=new Uint8Array(n.length/2);for(let e=0;e<n.length/2;e++)t[e]=parseInt(n.slice(2*e,2*e+2),16);return t}return null}hexadecimalIntegerAsNumber(e){const n=parseInt(this[e],16);return n>Number.MAX_SAFE_INTEGER?1/0:n}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,n){const t=this[e];return t?parseFloat(t):n}enumeratedString(e){return this[e]}enumeratedStringList(e,n){const t=this[e];return(t?t.split(/[ ,]+/):[]).reduce(((e,n)=>(e[n.toLowerCase()]=!0,e)),n)}bool(e){return"YES"===this[e]}decimalResolution(e){const n=Bn.exec(this[e]);if(null!==n)return{width:parseInt(n[1],10),height:parseInt(n[2],10)}}static parseAttrList(e,n){let t;const s={};for(Un.lastIndex=0;null!==(t=Un.exec(e));){const i=t[1].trim();let a=t[2];const r=0===a.indexOf('"')&&a.lastIndexOf('"')===a.length-1;let o=!1;if(r)a=a.slice(1,-1);else switch(i){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":o=!0}if(n&&(r||o))a=Fn(n,a);else if(!o&&!r)switch(i){case"CLOSED-CAPTIONS":if("NONE"===a)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":x.warn(`${e}: attribute ${i} is missing quotes`)}s[i]=a}return s}}function Gn(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e||"SCTE35-CMD"===e}class zn{constructor(n,t,s=0){var i;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(i=null==t?void 0:t.tagOrder)?i:s,t){const e=t.attr;for(const t in e)if(Object.prototype.hasOwnProperty.call(n,t)&&n[t]!==e[t]){x.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${n.ID}"`),this._badValueForSameId=t;break}n=g(new jn({}),e,n)}if(this.attr=n,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(n["START-DATE"]),"END-DATE"in this.attr){const n=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]);e(n.getTime())&&(this._endDate=n)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){const e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){const{tagAnchor:e}=this;return null===e||null===e.programDateTime?(x.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){const e=this._endDate||this._dateAtEnd;if(e)return e;const n=this.duration;return null!==n?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*n):null}get duration(){if("DURATION"in this.attr){const n=this.attr.decimalFloatingPoint("DURATION");if(e(n))return n}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&e(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class qn{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.drift
2StartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e)return this.advanced=!0,void(this.updated=!0);const n=this.lastPartSn-e.lastPartSn,t=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!t||!!n||!this.live,this.advanced=this.endSN>e.endSN||n>0||0===n&&t>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1}get hasProgramDateTime(){return!!this.fragments.length&&e(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){const e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){const e=this.partList;if(e){const n=this.lastPartIndex;if(-1!==n){for(let t=e.length;t--;)if(e[t].index>n)return e[t].index;return n}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){const e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function Kn(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function Vn(e){switch(e){case"AES-128":case"AES-256":return 0;case"AES-256-CTR":return 1;default:throw new Error(`invalid full segment method ${e}`)}}function Hn(e){return Uint8Array.from(atob(e),(e=>e.charCodeAt(0)))}function Yn(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(e=>e.charCodeAt(0)))}const Wn="undefined"!=typeof self?self:void 0;var Xn={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Qn="org.w3.clearkey",Jn="com.apple.streamingkeydelivery",Zn="com.microsoft.playready",et="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function nt(e){switch(e){case Jn:return Xn.FAIRPLAY;case Zn:return Xn.PLAYREADY;case et:return Xn.WIDEVINE;case Qn:return Xn.CLEARKEY}}function tt(e){return"edef8ba979d64acea3c827dcd51d21ed"===e?Xn.WIDEVINE:"9a04f07998404286ab92e65be0885f95"===e?Xn.PLAYREADY:"1077efecc0b24d02ace33c1e52e2fb4b"===e||"e2719d58a985b3c9781ab030af78d30e"===e?Xn.CLEARKEY:void 0}function st(e){switch(e){case Xn.FAIRPLAY:return Jn;case Xn.PLAYREADY:return Zn;case Xn.WIDEVINE:return et;case Xn.CLEARKEY:return Qn}}function it(e){const{drmSystems:n,widevineLicenseUrl:t}=e,s=n?[Xn.FAIRPLAY,Xn.WIDEVINE,Xn.PLAYREADY,Xn.CLEARKEY].filter((e=>!!n[e])):[];return!s[Xn.WIDEVINE]&&t&&s.push(Xn.WIDEVINE),s}const at=null!=Wn&&null!=(rt=Wn.navigator)&&rt.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;var rt;function ot(e){const n=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),t=String.fromCharCode.apply(null,Array.from(n)),s=t.substring(t.indexOf("<"),t.length),i=(new DOMParser).parseFromString(s,"text/xml").getElementsByTagName("KID")[0];if(i){const e=i.childNodes[0]?i.childNodes[0].nodeValue:i.getAttribute("VALUE");if(e){const n=Hn(e).subarray(0,16);return function(e){const n=function(e,n,t){const s=e[n];e[n]=e[t],e[t]=s};n(e,0,3),n(e,1,2),n(e,4,5),n(e,6,7)}(n),n}}return null}let lt={};class ct{static clearKeyUriToKeyIdMap(){lt={}}constructor(e,n,t,s=[1],i=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pss
2h=null,this.method=e,this.uri=n,this.keyFormat=t,this.keyFormatVersions=s,this.iv=i,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!Kn(e)}isSupported(){if(this.method){if(Kn(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case Jn:case et:case Zn:case Qn:return-1!==["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(Kn(this.method)&&this.uri&&!this.iv){"number"!=typeof e&&(x.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);const n=function(e){const n=new Uint8Array(16);for(let t=12;t<16;t++)n[t]=e>>8*(15-t)&255;return n}(e);return new ct(this.method,this.uri,"identity",this.keyFormatVersions,n)}const n=function(e){const n=e.split(":");let t=null;if("data"===n[0]&&2===n.length){const e=n[1].split(";"),s=e[e.length-1].split(",");if(2===s.length){const n="base64"===s[0],i=s[1];n?(e.splice(-1,1),t=Hn(i)):t=function(e){const n=Yn(e).subarray(0,16),t=new Uint8Array(16);return t.set(n,16-n.length),t}(i)}}return t}(this.uri);if(n)switch(this.keyFormat){case et:this.pssh=n,n.length>=22&&(this.keyId=n.subarray(n.length-22,n.length-6));break;case Zn:{const e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=function(e,n,t){if(16!==e.byteLength)throw new RangeError("Invalid system id");let s,i,a;s=0,i=new Uint8Array,a=new Uint8Array;const r=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(r.buffer).setUint32(0,t.byteLength,!1),function(e,...n){const t=n.length;let s=8,i=t;for(;i--;)s+=n[i].byteLength;const a=new Uint8Array(s);for(a[0]=s>>24&255,a[1]=s>>16&255,a[2]=s>>8&255,a[3]=255&s,a.set(e,4),i=0,s=8;i<t;i++)a.set(n[i],s),s+=n[i].byteLength;return a}([112,115,115,104],new Uint8Array([0,0,0,0]),e,a,i,r,t||new Uint8Array)}(e,0,n),this.keyId=ot(n);break}default:{let e=n.subarray(0,16);if(16!==e.length){const n=new Uint8Array(16);n.set(e,16-e.length),e=n}this.keyId=e;break}}if(!this.keyId||16!==this.keyId.byteLength){let e=lt[this.uri];if(!e){const n=Object.keys(lt).length%Number.MAX_SAFE_INTEGER;e=new Uint8Array(16),new DataView(e.buffer,12,4).setUint32(0,n),lt[this.uri]=e}this.keyId=e}return this}}const dt=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,ut=/#EXT-X-MEDIA:(.*)/g,pt=/^#EXT(?:INF|-X-TARGETDURATION):/m,ht=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),mt=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class vt{static findGroup(e,n){for(let t=0;t<e.length;t++){const s=e[t];if(s.id===n)return s}}static resolve(e,n){return $.buildAbsoluteURL(n,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return pt.test(e)}static parseMasterPlaylist(e,n){const t={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:Mn(e)},s=[];let i;for(dt.lastIndex=0;null!=(i=dt.exec(e));)if(i[1]){var a;const e=new jn(i[1],t),r=Fn(t,i[2]),o={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:vt.resolve(r,n)},l=e.decimalResolution("RESOLUTION");l&&(o.width=l.width,o.height=l.height),yt(e.CODECS,o);const c=e["SUPPLEMENTAL-CODECS"];c&&(o.supplemental={},yt(c,o.supplemental)),null!=(a=o.unknownCodecs)&&a.length||s.push(o),t.levels.push(o)}else if(i[3]){const e=i[3],s=i[4];switch(e){case"SESSION-DATA":{const e=new jn(s,t),n=e["DATA-ID"];n&&(null===t.sessionData&&(t.sessionData={}),t.sessionData[n]=e);break}case"SESSION-KEY":{const e=_t(s,n,t);e.encrypted&&e.isSupported()?(null===t.sessionKeys&&(t.sessionKeys=[]),t.sessionKeys.push(e)):x.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${s}"`);break}case"DEFINE":Nn(t,new jn(s,t),n);break;case"CONTENT-STEERING":{const e=new jn(s,t);t.contentSteering={uri:vt.resolve(e["SERVER-URI"],n),pathwayId:e["PATHWAY-ID"]||"."};break}case"START":t.startTimeOffset=bt(s)}}const r=s.length>0&&s.length<t.levels.length;return t.levels=r?s:t.levels,0===t.levels.length&&(t.playlistParsingError=new Error("no levels found in manifest")),t}static parseMasterPlaylistMedia(e,n,t){let s;const i={},a=t.levels,r={AUDIO:a.map((e=>({id:e.attrs.AUDIO,audioCodec:e.audioCodec}))),SUBTITLES:a.map((e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec}))),"CLOSED-CAPTIONS":[]};let o=0;for(ut.lastIndex=0;null!==(s=ut.exec(e));){const e=new jn(s[1],t),a=e.TYPE;if(a){const t=r[a],s=i[a]||[];i[a]=s;const l=e.LANGUAGE,c=e["ASSOC-LANGUAGE"],d=e.CHANNELS,u=e.CHARACTERISTICS,p=e["INSTREAM-ID"],h={attrs:e,bitrate:0,id:o++,groupId:e["GROUP-ID"]||"",name:e.NAME||l||"",type:a,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:l,url:e.URI?vt.resolve(e.URI,n):""};if(c&&(h.assocLang=c),d&&(h.channels=d),u&&(h.characteristics=u),p&&(h.instreamId=p),null!=t&&t.length){const e=vt.findGroup(t,h.groupId)||t[0];wt(h,e,"audioCodec"),wt(h,e,"textCodec")}s.push(h)}}return i}static parseLevelPlaylist(n,t,s,i,a,r){var o;const l={url:t},c=new qn(t),d=c.fragments,u=[];let p,h,m,v,f=null,_=0,b=0,y=0,w=0,k=0,T=null,E=new K(i,l),S=-1,A=!1,L=null;if(ht.lastIndex=0,c.m3u8=n,c.hasVariableRefs=Mn(n),"#EXTM3U"!==(null==(o=ht.exec(n))?void 0:o[0]))return c.playlistParsingError=new Error("Missing format identifier #EXTM3U"),c;for(;null!==(p=ht.exec(n));){A&&(A=!1,E=new K(i,l),E.playlistOffset=y,E.start=y,E.sn=_,E.cc=w,k&&(E.bitrate=k),E.level=s,f&&(E.initSegment=f,f.rawProgramDateTime&&(E.rawProgramDateTime=f.rawProgramDateTime,f.rawProgramDateTime=null),L&&(E.setByteRange(L),L=null)));const n=p[1];if(n){E.duration=parseFloat(n);const e=(" "+p[2]).slice(1);E.title=e||null,E.tagList.push(e?["INF",n,e]:["INF",n])}else if(p[3]){if(e(E.duration)){E.playlistOffset=y,E.start=y,m&&Et(E,m,c),E.sn=_,E.level=s,E.cc=w,d.push(E);const e=(" "+p[3]).slice(1);E.relurl=Fn(c,e),kt(E,T,u),T=E,y+=E.duration,_++,b=0,A=!0}}
vendor: 10,986 bytes, line 2
2else{if(p=p[0].match(mt),!p){x.warn("No matches on slow regex match for level playlist!");continue}for(h=1;h<p.length&&void 0===p[h];h++);const n=(" "+p[h]).slice(1),a=(" "+p[h+1]).slice(1),o=p[h+2]?(" "+p[h+2]).slice(1):null;switch(n){case"BYTERANGE":T?E.setByteRange(a,T):E.setByteRange(a);break;case"PROGRAM-DATE-TIME":E.rawProgramDateTime=a,E.tagList.push(["PROGRAM-DATE-TIME",a]),-1===S&&(S=d.length);break;case"PLAYLIST-TYPE":c.type&&xt(c,n,p),c.type=a.toUpperCase();break;case"MEDIA-SEQUENCE":0!==c.startSN?xt(c,n,p):d.length>0&&St(c,n,p),_=c.startSN=parseInt(a);break;case"SKIP":{c.skippedSegments&&xt(c,n,p);const t=new jn(a,c),s=t.decimalInteger("SKIPPED-SEGMENTS");if(e(s)){c.skippedSegments+=s;for(let e=s;e--;)d.push(null);_+=s}const i=t.enumeratedString("RECENTLY-REMOVED-DATERANGES");i&&(c.recentlyRemovedDateranges=(c.recentlyRemovedDateranges||[]).concat(i.split("\t")));break}case"TARGETDURATION":0!==c.targetduration&&xt(c,n,p),c.targetduration=Math.max(parseInt(a),1);break;case"VERSION":null!==c.version&&xt(c,n,p),c.version=parseInt(a);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":c.live||xt(c,n,p),c.live=!1;break;case"#":(a||o)&&E.tagList.push(o?[a,o]:[a]);break;case"DISCONTINUITY":w++,E.tagList.push(["DIS"]);break;case"GAP":E.gap=!0,E.tagList.push([n]);break;case"BITRATE":E.tagList.push([n,a]),k=1e3*parseInt(a),e(k)?E.bitrate=k:k=0;break;case"DATERANGE":{const e=new jn(a,c),n=new zn(e,c.dateRanges[e.ID],c.dateRangeTagCount);c.dateRangeTagCount++,n.isValid||c.skippedSegments?c.dateRanges[n.id]=n:x.warn(`Ignoring invalid DATERANGE tag: "${a}"`),E.tagList.push(["EXT-X-DATERANGE",a]);break}case"DEFINE":{const e=new jn(a,c);"IMPORT"in e?$n(c,e,r):Nn(c,e,t)}break;case"DISCONTINUITY-SEQUENCE":0!==c.startCC?xt(c,n,p):d.length>0&&St(c,n,p),c.startCC=w=parseInt(a);break;case"KEY":{const e=_t(a,t,c);if(e.isSupported()){if("NONE"===e.method){m=void 0;break}m||(m={}),m[e.keyFormat]&&(m=g({},m)),m[e.keyFormat]=e}else x.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${a}"`);break}case"START":c.startTimeOffset=bt(a);break;case"MAP":{const e=new jn(a,c);if(E.duration){const n=new K(i,l);Tt(n,e,s,m),f=n,E.initSegment=f,f.rawProgramDateTime&&!E.rawProgramDateTime&&(E.rawProgramDateTime=f.rawProgramDateTime)}else{const n=E.byteRangeEndOffset;if(n){const e=E.byteRangeStartOffset;L=`${n-e}@${e}`}else L=null;Tt(E,e,s,m),f=E,A=!0}f.cc=w;break}case"SERVER-CONTROL":v&&xt(c,n,p),v=new jn(a),c.canBlockReload=v.bool("CAN-BLOCK-RELOAD"),c.canSkipUntil=v.optionalFloat("CAN-SKIP-UNTIL",0),c.canSkipDateRanges=c.canSkipUntil>0&&v.bool("CAN-SKIP-DATERANGES"),c.partHoldBack=v.optionalFloat("PART-HOLD-BACK",0),c.holdBack=v.optionalFloat("HOLD-BACK",0);break;case"PART-INF":{c.partTarget&&xt(c,n,p);const e=new jn(a);c.partTarget=e.decimalFloatingPoint("PART-TARGET");break}case"PART":{let e=c.partList;e||(e=c.partList=[]);const n=b>0?e[e.length-1]:void 0,t=b++,s=new jn(a,c),i=new V(s,E,l,t,n);e.push(i),E.duration+=i.duration;break}case"PRELOAD-HINT":{const e=new jn(a,c);c.preloadHint=e;break}case"RENDITION-REPORT":{const e=new jn(a,c);c.renditionReports=c.renditionReports||[],c.renditionReports.push(e);break}default:x.warn(`line parsed but not handled: ${p}`)}}}T&&!T.relurl?(d.pop(),y-=T.duration,c.partList&&(c.fragmentHint=T)):c.partList&&(kt(E,T,u),E.cc=w,c.fragmentHint=E,m&&Et(E,m,c)),c.targetduration||(c.playlistParsingError=new Error("#EXT-X-TARGETDURATION is required"));const C=d.length,R=d[0],I=d[C-1];if(y+=c.skippedSegments*c.targetduration,y>0&&C&&I){c.averagetargetduration=y/C;const e=I.sn;c.endSN="initSegment"!==e?e:0,c.live||(I.endList=!0),R&&void 0===c.startCC&&(c.startCC=R.cc),S>0&&(function(e,n){let t=e[n];for(let s=n;s--;){const n=e[s];if(!n)return;n.programDateTime=t.programDateTime-1e3*n.duration,t=n}}(d,S),R&&u.unshift(R))}else c.endSN=0,c.startCC=0;return c.fragmentHint&&(y+=c.fragmentHint.duration),c.totalduration=y,u.length&&c.dateRangeTagCount&&R&>(u,c),c.endCC=w,c}}function gt(e,n){const t=e.length;if(!t)return;const s=e[t-1],i=n.live?1/0:n.totalduration,a=Object.keys(n.dateRanges);for(let r=a.length;r--;){const o=n.dateRanges[a[r]],l=o.startDate.getTime();o.tagAnchor=s.ref;for(let s=t;s--;){const t=ft(n,l,e,s,i);if(-1!==t){o.tagAnchor=n.fragments[t].ref;break}}}}function ft(e,n,t,s,i){const a=t[s];if(a){const o=a.programDateTime;var r;if(n>=o||0===s)if(n<=o+1e3*(((null==(r=t[s+1])?void 0:r.start)||i)-a.start)){const i=t[s].sn-e.startSN,a=e.fragments;if(a.length>t.length)for(let r=(t[s+1]||a[a.length-1]).sn-e.startSN;r>i;r--){const e=a[r].programDateTime;if(n>=e&&n<e+1e3*a[r].duration)return r}return i}}return-1}function _t(e,n,t){var s,i;const a=new jn(e,t),r=null!=(s=a.METHOD)?s:"",o=a.URI,l=a.hexadecimalInteger("IV"),c=a.KEYFORMATVERSIONS,d=null!=(i=a.KEYFORMAT)?i:"identity";o&&a.IV&&!l&&x.error(`Invalid IV: ${a.IV}`);const u=o?vt.resolve(o,n):"",p=(c||"1").split("/").map(Number).filter(Number.isFinite);return new ct(r,u,d,p,l)}function bt(n){const t=new jn(n).decimalFloatingPoint("TIME-OFFSET");return e(t)?t:null}function yt(e,n){let t=(e||"").split(/[ ,]+/).filter((e=>e));["video","audio","text"].forEach((e=>{const s=t.filter((n=>ye(n,e)));s.length&&(n[`${e}Codec`]=s.map((e=>e.split("/")[0])).join(","),t=t.filter((e=>-1===s.indexOf(e))))})),n.unknownCodecs=t}function wt(e,n,t){const s=n[t];s&&(e[t]=s)}function kt(e,n,t){e.rawProgramDateTime?t.push(e):null!=n&&n.programDateTime&&(e.programDateTime=n.endProgramDateTime)}function Tt(e,n,t,s){e.relurl=n.URI,n.BYTERANGE&&e.setByteRange(n.BYTERANGE),e.level=t,e.sn="initSegment",s&&(e.levelkeys=s),e.initSegment=null}function Et(e,n,t){e.levelkeys=n;const{encryptedFragments:s}=t;s.length&&s[s.length-1].levelkeys===n||!Object.keys(n).some((e=>n[e].isCommonEncryption))||s.push(e)}function xt(e,n,t){e.playlistParsingError=new Error(`#EXT-X-${n} must not appear more than once (${t[0]})`)}function St(e,n,t){e.playlistParsingError=new Error(`#EXT-X-${n} must appear before the first Media Segment (${t[0]})`)}function At(n,t){const s=t.startPTS;if(e(s)){let e,i=0;t.sn>n.sn?(i=s-n.start,e=n):(i=n.start-s,e=t),e.duration!==i&&e.setDuration(i)}else t.sn>n.sn?n.cc===t.cc&&n.minEndPTS?t.setStart(n.start+(n.minEndPTS-n.start)):t.setStart(n.start+n.duration):t.setStart(Math.max(n.start-t.duration,0))}function Lt(n,t,s,i,a,r){i-s<=0&&(x.warn("Fragment should have a positive duration",t),i=s+t.duration,r=a+t.duration);let o=s,l=i;const c=t.startPTS,d=t.endPTS;if(e(c)){const n=Math.abs(c-s);e(t.deltaPTS)?t.deltaPTS=Math.max(n,t.deltaPTS):t.deltaPTS=n,o=Math.max(s,c),s=Math.min(s,c),a=Math.min(a,t.startDTS),l=Math.min(i,d),i=Math.max(i,d),r=Math.max(r,t.endDTS)}const u=s-t.start;0!==t.start&&t.setStart(s),t.setDuration(i-t.start),t.startPTS=s,t.maxStartPTS=o,t.startDTS=a,t.endPTS=i,t.minEndPTS=l,t.endDTS=r;const p=t.sn;if(!n||p<n.startSN||p>n.endSN)return 0;let h;const m=p-n.startSN,v=n.fragments;for(v[m]=t,h=m;h>0;h--)At(v[h],v[h-1]);for(h=m;h<v.length-1;h++)At(v[h],v[h+1]);return n.fragmentHint&&At(v[v.length-1],n.fragmentHint),n.PTSKnown=n.alignedSliding=!0,u}function Ct(e,n,t,s,i){return new Error(`${e} ${i.url}\nPlaylist starting @${n.startSN}\n${n.m3u8}\n\nPlaylist starting @${t.startSN}\n${t.m3u8}`)}function Rt(e,n,t=!0){const s=n.startSN+n.skippedSegments-e.startSN,i=e.fragments,a=s>=0;let r=0;if(a&&s<i.length)r=i[s].start;else if(a&&n.startSN===e.endSN+1)r=e.fragmentEnd;else if(a&&t)r=e.fragmentStart+s*n.levelTargetDuration;else{if(n.skippedSegments||0!==n.fragmentStart)return;r=e.fragmentStart}It(n,r)}function It(e,n){if(n){const t=e.fragments;for(let s=e.skippedSegments;s<t.length;s++)t[s].addStart(n);e.fragmentHint&&e.fragmentHint.addStart(n)}}function Pt(e,n=1/0){let t=1e3*e.targetduration;if(e.updated){const s=e.fragments,i=4;if(s.length&&t*i>n){const e=1e3*s[s.length-1].duration;e<t&&(t=e)}}else t/=2;return Math.round(t)}function Dt(e,n,t){if(!e)return null;let s=e.fragments[n-e.startSN];return s||(s=e.fragmentHint,s&&s.sn===n?s:n<e.startSN&&t&&t.sn===n?t:null)}function Ot(e,n,t){return e?Mt(e.partList,n,t):null}function Mt(e,n,t){if(e)for(let s=e.length;s--;){const i=e[s];if(i.index===t&&i.fragment.sn===n)return i}return null}function Ft(e){e.forEach(((e,n)=>{var t;null==(t=e.details)||t.fragments.forEach((e=>{e.level=n,e.initSegment&&(e.initSegment.level=n)}))}))}function Nt(e,n){for(let s=0,i=e.length;s<i;s++){var t;if((null==(t=e[s])?void 0:t.cc)===n)return e[s]}return null}function $t(e,n){if(e){const t=e.start+n;e.start=e.startPTS=t,e.endPTS=t+e.duration}}function Bt(e,n){const t=n.fragments;for(let n=0,s=t.length;n<s;n++)$t(t[n],e);n.fragmentHint&&$t(n.fragmentHint,e),n.alignedSliding=!0}function Ut(e,n){if(!function(e,n){return!!(e&&n.startCC<e.endCC&&n.endCC>e.startCC)}(n,e))return;const t=Math.min(n.endCC,e.endCC),s=Nt(n.fragments,t),i=Nt(e.fragments,t);s&&i&&(x.log(`Aligning playlist at start of dicontinuity sequence ${t}`),Bt(s.start-i.start,e))}function jt(e,n){if(!e.hasProgramDateTime||!n.hasProgramDateTime)return;const t=e.fragments,s=n.fragments;if(!t.length||!s.length)return;let i,a;const r=Math.min(n.endCC,e.endCC);n.startCC<r&&e.startCC<r&&(i=Nt(s,r),a=Nt(t,r)),i&&a||(i=s[Math.floor(s.length/2)],a=Nt(t,i.cc)||t[Math.floor(t.length/2)]);const o=i.programDateTime,l=a.programDateTime;o&&l&&Bt((l-o)/1e3-(a.start-i.start),e)}const Gt={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};class zt extends Rn{constructor(n,t,s,i,a){super(i,n.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Gt.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{const{config:n,fragCurrent:t,media:s,mediaBuffer:i,state:a}=this,r=s?s.currentTime:0,o=Dn.bufferInfo(i||s,r,n.maxBufferHole),l=!o.len;if(this.log(`Media seeking to ${e(r)?r.toFixed(3):r}, state: ${a}, ${l?"out of":"in"} buffer`),this.state===Gt.ENDED)this.resetLoadingState();else if(t){const e=n.maxFragLookUpTolerance,s=t.start-e,i=t.start+t.duration+e;if(l||i<o.start||s>o.end){const e=r>i;(r<s||e)&&(e&&t.loader&&(this.log(`Cancelling fragment load for seek (sn: ${t.sn})`),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(s&&(this.fragmentTracker.removeFragmentsInRange(r,1/0,this.playlistType,!0),r>this.lastCurrentTime&&(this.lastCurrentTime=r),!this.loadingParts)){const e=Math.max(o.end,r),n=this.shouldLoadParts(this.getLevelDetails(),e);
vendor: 10,013 bytes, line 2
2n&&(this.log(`LL-Part loading ON after seeking to ${r.toFixed(2)} with buffer @${e.toFixed(2)}`),this.loadingParts=n)}this.hls.hasEnoughToStart||(this.log(`Setting ${l?"startPosition":"nextLoadPosition"} to ${r} for seek without enough to start`),this.nextLoadPosition=r,l&&(this.startPosition=r)),this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=a,this.hls=n,this.fragmentLoader=new Sn(n.config),this.keyLoader=s,this.fragmentTracker=t,this.config=n.config,this.decrypter=new En(n.config)}registerListeners(){const{hls:e}=this;e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(a.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(a.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===Gt.STOPPED)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Gt.STOPPED}get startPositionValue(){const{nextLoadPosition:e,startPosition:n}=this;return-1===n&&e?e:n}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,n){if(n.live||!this.media)return!1;const t=e.end||0,s=this.config.timelineOffset||0;if(t<=s)return!1;const i=e.buffered;this.config.maxBufferHole&&i&&i.length>1&&(e=Dn.bufferedInfo(i,e.start,0));const a=e.nextStart;if(a&&a>s&&a<n.edge)return!1;if(this.media.currentTime<e.start)return!1;const r=n.partList;if(null!=r&&r.length){const e=r[r.length-1];return Dn.isBuffered(this.media,e.start+e.duration/2)}const o=n.fragments[n.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)}getLevelDetails(){var e;if(this.levels&&null!==this.levelLastLoaded)return null==(e=this.levelLastLoaded)?void 0:e.details}get timelineOffset(){const e=this.config.timelineOffset;var n;return e?(null==(n=this.getLevelDetails())?void 0:n.appliedTimelineOffset)||e:0}onMediaAttached(e,n){const t=this.media=this.mediaBuffer=n.media;t.removeEventListener("seeking",this.onMediaSeeking),t.removeEventListener("ended",this.onMediaEnded),t.addEventListener("seeking",this.onMediaSeeking),t.addEventListener("ended",this.onMediaEnded);const s=this.config;this.levels&&s.autoStartLoad&&this.state===Gt.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(e,n){const t=!!n.transferMedia,s=this.media;if(null!==s){if(s.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),s.removeEventListener("seeking",this.onMediaSeeking),s.removeEventListener("ended",this.onMediaEnded),this.keyLoader&&!t&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,t)return this.resetLoadingState(),void this.resetTransmuxer();this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,n){}onManifestLoaded(e,n){this.startTimeOffset=n.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=Gt.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,n,t){this.startFragRequested=!0,this._loadFragForPlayback(e,n,t)}_loadFragForPlayback(e,n,t){this._doFragLoad(e,n,t,(e=>{const n=e.frag;if(this.fragContextChanged(n))return this.warn(`${n.type} sn: ${n.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(n,!1,e.part)}) was dropped during download.`),void this.fragmentTracker.removeFragment(n);n.stats.chunkCount++,this._handleFragmentLoadProgress(e)})).then((e=>{if(!e)return;const n=this.state,t=e.frag;this.fragContextChanged(t)?(n===Gt.FRAG_LOADING||!this.fragCurrent&&n===Gt.PARSING)&&(this.fragmentTracker.removeFragment(t),this.state=Gt.IDLE):("payload"in e&&(this.log(`Loaded ${t.type} sn: ${t.sn} of ${this.playlistLabel()} ${t.level}`),this.hls.trigger(a.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e))})).catch((n=>{this.state!==Gt.STOPPED&&this.state!==Gt.ERROR&&(this.warn(`Frag error: ${(null==n?void 0:n.message)||n}`),this.resetFragmentLoading(e))}))}clearTrackerIfNeeded(e){var n;const{fragmentTracker:t}=this;if(t.getState(e)===mn){const n=e.type,s=this.getFwdBufferInfo(this.mediaBuffer,n),i=Math.max(e.duration,s?s.len:this.config.maxBufferLength),a=this.backtrackFragment;(1==(a?e.sn-a.sn:0)||this.reduceMaxBufferLength(i,e.duration))&&t.removeFragment(e)}else 0===(null==(n=this.mediaBuffer)?void 0:n.buffered.length)?t.removeAllFragments():t.hasParts(e.type)&&(t.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),t.getState(e)===vn&&t.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){const n=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:n,part:null,stats:n.stats,id:n.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){const n=e.details;return(null==n?void 0:n.live)&&"EVENT"!==n.type&&(this.levelLastLoaded!==e||n.expired)}flushMainBuffer(e,n,t=null){if(!(e-n))return;const s={startOffset:e,endOffset:n,type:t};this.hls.trigger(a.BUFFER_FLUSHING,s)}_loadInitSegment(e,n){this._doFragLoad(e,n).then((e=>{const n=null==e?void 0:e.frag;if(!n||this.fragContextChanged(n)||!this.levels)throw new Error("init load aborted");return e})).then((e=>{const{hls:n}=this,{frag:t,payload:r}=e,o=t.decryptdata;if(r&&r.byteLength>0&&null!=o&&o.key&&o.iv&&Kn(o.method)){const l=self.performance.now();return this.decrypter.decrypt(new Uint8Array(r),o.key.buffer,o.iv.buffer,Vn(o.method)).catch((e=>{throw n.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e})).then((s=>{const i=self.performance.now();return n.trigger(a.FRAG_DECRYPTED,{frag:t,payload:s,stats:{tstart:l,tdecrypt:i}}),e.payload=s,this.completeInitSegmentLoad(e)}))}return this.completeInitSegmentLoad(e)})).catch((n=>{this.state!==Gt.STOPPED&&this.state!==Gt.ERROR&&(this.warn(n),this.resetFragmentLoading(e))}))}completeInitSegmentLoad(e){const{levels:n}=this;if(!n)throw new Error("init load aborted, missing levels");const t=e.frag.stats;this.state!==Gt.STOPPED&&(this.state=Gt.IDLE),e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){const{fragCurrent:n}=this;return!e||!n||e.sn!==n.sn||e.level!==n.level}fragBufferedComplete(e,n){const t=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)} > buffer:${t?function(e){let n="";const t=e.length;for(let s=0;s<t;s++)n+=`[${e.start(s).toFixed(3)}-${e.end(s).toFixed(3)}]`;return n}(Dn.getBuffered(t)):"(detached)"})`),q(e)){var s;if(e.type!==p){const n=e.elementaryStreams;if(!Object.keys(n).some((e=>!!n[e])))return void(this.state=Gt.IDLE)}const n=null==(s=this.levels)?void 0:s[e.level];null!=n&&n.fragmentError&&(this.log(`Resetting level fragment error count of ${n.fragmentError} on frag buffered`),n.fragmentError=0)}this.state=Gt.IDLE}_handleFragmentLoadComplete(e){const{transmuxer:n}=this;if(!n)return;const{frag:t,part:s,partsLoaded:i}=e,a=!i||0===i.length||i.some((e=>!e)),r=new In(t.level,t.sn,t.stats.chunkCount+1,0,s?s.index:-1,!a);n.flush(r)}_handleFragmentLoadProgress(e){}_doFragLoad(n,t,s=null,i){var r;this.fragCurrent=n;const o=null==t?void 0:t.details;if(!this.levels||!o)throw new Error(`frag load aborted, missing level${o?"":" detail"}s`);let l=null;!n.encrypted||null!=(r=n.decryptdata)&&r.key?n.encrypted||(l=this.keyLoader.loadClear(n,o.encryptedFragments),l&&this.log("[eme] blocking frag load until media-keys acquired")):(this.log(`Loading key for ${n.sn} of [${o.startSN}-${o.endSN}], ${this.playlistLabel()} ${n.level}`),this.state=Gt.KEY_LOADING,this.fragCurrent=n,l=this.keyLoader.load(n).then((e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(a.KEY_LOADED,e),this.state===Gt.KEY_LOADING&&(this.state=Gt.IDLE),e})),this.hls.trigger(a.KEY_LOADING,{frag:n}),null===this.fragCurrent&&(l=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING"))));const c=this.fragPrevious;if(q(n)&&(!c||n.sn!==c.sn)){const e=this.shouldLoadParts(t.details,n.end);e!==this.loadingParts&&(this.log(`LL-Part loading ${e?"ON":"OFF"} loading sn ${null==c?void 0:c.sn}->${n.sn}`),this.loadingParts=e)}if(s=Math.max(n.start,s||0),this.loadingParts&&q(n)){const e=o.partList;if(e&&i){s>n.end&&o.fragmentHint&&(n=o.fragmentHint);const r=this.getNextPart(e,n,s);if(r>-1){const c=e[r];let d;return n=this.fragCurrent=c.fragment,this.log(`Loading ${n.type} sn: ${n.sn} part: ${c.index} (${r}/${e.length-1}) of ${this.fragInfo(n,!1,c)}) cc: ${n.cc} [${o.startSN}-${o.endSN}], target: ${parseFloat(s.toFixed(3))}`),this.nextLoadPosition=c.start+c.duration,this.state=Gt.FRAG_LOADING,d=l?l.then((e=>!e||this.fragContextChanged(e.frag)?null:this.doFragPartsLoad(n,c,t,i))).c
2atch((e=>this.handleFragLoadError(e))):this.doFragPartsLoad(n,c,t,i).catch((e=>this.handleFragLoadError(e))),this.hls.trigger(a.FRAG_LOADING,{frag:n,part:c,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):d}if(!n.url||this.loadedEndOfParts(e,s))return Promise.resolve(null)}}if(q(n)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${s.toFixed(2)}`),this.loadingParts=!1;else if(!n.url)return Promise.resolve(null);this.log(`Loading ${n.type} sn: ${n.sn} of ${this.fragInfo(n,!1)}) cc: ${n.cc} ${o?"["+o.startSN+"-"+o.endSN+"]":""}, target: ${parseFloat(s.toFixed(3))}`),e(n.sn)&&!this.bitrateTest&&(this.nextLoadPosition=n.start+n.duration),this.state=Gt.FRAG_LOADING;const d=this.config.progressive;let u;return u=d&&l?l.then((e=>!e||this.fragContextChanged(null==e?void 0:e.frag)?null:this.fragmentLoader.load(n,i))).catch((e=>this.handleFragLoadError(e))):Promise.all([this.fragmentLoader.load(n,d?i:void 0),l]).then((([e])=>(!d&&e&&i&&i(e),e))).catch((e=>this.handleFragLoadError(e))),this.hls.trigger(a.FRAG_LOADING,{frag:n,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):u}doFragPartsLoad(e,n,t,s){return new Promise(((i,r)=>{var o;const l=[],c=null==(o=t.details)?void 0:o.partList,d=n=>{this.fragmentLoader.loadPart(e,n,s).then((s=>{l[n.index]=s;const r=s.part;this.hls.trigger(a.FRAG_LOADED,s);const o=Ot(t.details,e.sn,n.index+1)||Mt(c,e.sn,n.index+1);if(!o)return i({frag:e,part:r,partsLoaded:l});d(o)})).catch(r)};d(n)}))}handleFragLoadError(e){if("data"in e){const n=e.data;e.data&&n.details===i.INTERNAL_ABORTED?this.handleFragLoadAborted(n.frag,n.part):this.hls.trigger(a.ERROR,n)}else this.hls.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){const n=this.getCurrentContext(e);if(!n||this.state!==Gt.PARSING)return void(this.fragCurrent||this.state===Gt.STOPPED||this.state===Gt.ERROR||(this.state=Gt.IDLE));const{frag:t,part:s,level:i}=n,a=self.performance.now();t.stats.parsing.end=a,s&&(s.stats.parsing.end=a);const r=this.getLevelDetails(),o=r&&t.sn>r.endSN||this.shouldLoadParts(r,t.end);o!==this.loadingParts&&(this.log(`LL-Part loading ${o?"ON":"OFF"} after parsing segment ending @${t.end.toFixed(2)}`),this.loadingParts=o),this.updateLevelTiming(t,s,i,e.partial)}shouldLoadParts(e,n){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(null!=e&&e.partList){var t;const i=e.partList[0];var s;if(n>=i.end+((null==(t=e.fragmentHint)?void 0:t.duration)||0))if((this.hls.hasEnoughToStart?(null==(s=this.media)?void 0:s.currentTime)||this.lastCurrentTime:this.getLoadPosition())>i.start-i.fragment.duration)return!0}}return!1}getCurrentContext(e){const{levels:n,fragCurrent:t}=this,{level:s,sn:i,part:a}=e;if(null==n||!n[s])return this.warn(`Levels object was unset while buffering fragment ${i} of ${this.playlistLabel()} ${s}. The current chunk will not be buffered.`),null;const r=n[s],o=r.details,l=a>-1?Ot(o,i,a):null,c=l?l.fragment:Dt(o,i,t);return c?(t&&t!==c&&(c.stats=t.stats),{frag:c,part:l,level:r}):null}bufferFragmentData(e,n,t,s,i){var r;if(!e||this.state!==Gt.PARSING)return;const{data1:o,data2:l}=e;let c=o;if(o&&l&&(c=ue(o,l)),null==(r=c)||!r.length)return;const d=this.initPTS[n.cc],u=d?-d.baseTime/d.timescale:void 0,p={type:e.type,frag:n,part:t,chunkMeta:s,offset:u,parent:n.type,data:c};if(this.hls.trigger(a.BUFFER_APPENDING,p),e.dropped&&e.independent&&!t){if(i)return;this.flushBufferGap(n)}}flushBufferGap(e){const n=this.media;if(!n)return;if(!Dn.isBuffered(n,n.currentTime))return void this.flushMainBuffer(0,e.start);const t=n.currentTime,s=Dn.bufferInfo(n,t,0),i=e.duration,a=Math.min(2*this.config.maxFragLookUpTolerance,.25*i),r=M
vendor: 2,847 bytes, line 2
2ath.max(Math.min(e.start-a,s.end-a),t+a);e.start-r>a&&this.flushMainBuffer(r,e.start)}getFwdBufferInfo(n,t){var s;const i=this.getLoadPosition();if(!e(i))return null;const a=this.lastCurrentTime>i||null!=(s=this.media)&&s.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(n,i,t,a)}getFwdBufferInfoAtPos(e,n,t,s){const i=Dn.bufferInfo(e,n,s);if(0===i.len&&void 0!==i.nextStart){const a=this.fragmentTracker.getBufferedFrag(n,t);if(a&&(i.nextStart<=a.end||a.gap)){const t=Math.max(Math.min(i.nextStart,a.end)-n,s);return Dn.bufferInfo(e,n,t)}}return i}getMaxBufferLength(e){const{config:n}=this;let t;return t=e?Math.max(8*n.maxBufferSize/e,n.maxBufferLength):n.maxBufferLength,Math.min(t,n.maxMaxBufferLength)}reduceMaxBufferLength(e,n){const t=this.config,s=Math.max(Math.min(e-n,t.maxBufferLength),n),i=Math.max(e-3*n,t.maxMaxBufferLength/2,s);return i>=s&&(t.maxMaxBufferLength=i,this.warn(`Reduce max buffer length to ${i}s`),!0)}getAppendedFrag(e,n=d){var t;const s=null==(t=this.fragmentTracker)?void 0:t.getAppendedFrag(e,n);return s&&"fragment"in s?s.fragment:s}getNextFragment(e,n){const t=n.fragments,s=t.length;if(!s)return null;const{config:i}=this,a=t[0].start,r=i.lowLatencyMode&&!!n.partList;let o=null;if(n.live){const t=i.initialLiveManifestSize;if(s<t)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${t})`),null;if(!n.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<a){var l;r&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),o=this.getInitialLiveFragment(n);const t=this.hls.startPosition,s=this.hls.liveSyncPosition,i=o?(-1!==t&&t>=a?t:s)||o.start:e;this.log(`Setting startPosition to ${i} to match start frag at live edge. mainStart: ${t} liveSyncPosition: ${s} frag.start: ${null==(l=o)?void 0:l.start}`),this.startPosition=this.nextLoadPosition=i}}else e<=a&&(o=t[0]);if(!o){const t=this.loadingParts?n.partEnd:n.fragmentEnd;o=this.getFragmentAtPosition(e,t,n)}let c=this.filterReplacedPrimary(o,n);if(!c&&o){const e=o.sn-n.startSN;c=this.filterReplacedPrimary(t[e+1]||null,n)}return this.mapToInitFragWhenRequired(c)}isLoopLoading(e,n){const t=this.fragmentTracker.getState(e);return(t===gn||t===vn&&!!e.gap)&&this.nextLoadPosition>n}getNextFragmentLoopLoading(e,n,t,s,i){let a=null;if(e.gap&&(a=this.getNextFragment(this.nextLoadPosition,n),a&&!a.gap&&t.nextStart)){const e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,t.nextStart,s,0);if(null!==e&&t.len+e.len>=i){const e=a.sn;return this.loopSn!==e&&(this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e}`),this.loopSn=e),null}}return this.loopSn=void 0,a}get primaryPrefetch(){var e,n;if(qt(this.hls.config)&&(null==(e=this.hls.interstitialsManager)||null==(n=e.playingItem)?void 0:n.event))return!0;return!1}
2filterReplacedPrimary(e,n){if(!e)return e;if(qt(this.hls.config)&&e.type!==p){const t=this.hls.interstitialsManager,s=null==t?void 0:t.bufferingItem;if(s){const t=s.event;if(t){if(t.appendInPlace||Math.abs(e.start-s.start)>1||0===s.start)return null}else{if(e.end<=s.start&&!1===(null==n?void 0:n.live))return null;if(e.start>s.end&&s.nextEvent&&(s.nextEvent.appendInPlace||e.start-s.end>1))return null}}const i=null==t?void 0:t.playerQueue;if(i)for(let n=i.length;n--;){const t=i[n].interstitial;if(t.appendInPlace&&e.start>=t.startTime&&e.end<=t.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,n,t){let s=-1,i=!1,a=!0;for(let r=0,o=e.length;r<o;r++){const o=e[r];if(a=a&&!o.independent,s>-1&&t<o.start)break;const l=o.loaded;l?s=-1:(i||o.independent||a)&&o.fragment===n&&(s=r),i=l}return s}loadedEndOfParts(e,n){const t=e[e.length-1];return t&&n>t.start&&t.loaded}getInitialLiveFragment(n){const t=n.fragments,s=this.fragPrevious;let i=null;if(s){if(n.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${s.programDateTime}`),i=function(n,t,s){if(null===t||!Array.isArray(n)||!n.length||!e(t))return null;if(t<(n[0].programDateTime||0))return null;if(t>=(n[n.length-1].endProgramDateTime||0))return null;for(let e=0;e<n.length;++e){const i=n[e];if(an(t,s,i))return i}return null}(t,s.endProgramDateTime,this.config.maxFragLookUpTolerance)),!i){const e=s.sn+1;if(e>=n.startSN&&e<=n.endSN){const a=t[e-n.startSN];s.cc===a.cc&&(i=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`))}i||(i=rn(n,s.cc,s.end),i&&this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`))}}else{const e=this.hls.liveSyncPosition;null!==e&&(i=this.getFragmentAtPosition(e,this.bitrateTest?n.fragmentEnd:n.edge,n))}return i}getFragmentAtPosition(e,n,t){const{config:s}=this;let{fragPrevious:i}=this,{fragments:a,endSN:r}=t;const{fragmentHint:o}=t,{maxFragLookUpTolerance:l}=s,c=t.partList,d=!!(this.loadingParts&&null!=c&&c.length&&o);let u;var p;(d&&o&&!this.bitrateTest&&c[c.length-1].fragment.sn===o.sn&&(a=a.concat(o),r=o.sn),e<n)?u=tn(i,a,e,e<this.lastCurrentTime||e>n-l||null!=(p=this.media)&&p.paused||!this.startFragRequested?0:l):u=a[a.length-1];if(u){const e=u.sn-t.startSN,n=this.fragmentTracker.getState(u);if((n===gn||n===vn&&u.gap)&&(i=u),i&&u.sn===i.sn&&(!d||c[0].fragment.sn>u.sn||!t.live&&!d)&&i&&u.level===i.level){const n=a[e+1];u=u.sn<r&&this.fragmentTracker.getState(n)!==gn?n:null}}return u}alignPlaylists(n,t,s){const i=n.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;const a=n.fragmentStart,r=!t,o=n.alignedSliding&&e(a);if(r||!o&&!a){!function(e,n){e&&(Ut(n,e),!n.alignedSliding&&e&&jt(n,e),n.alignedSliding||!e||n.skippedSegments||Rt(e,n,!1))}(s,n);const e=n.fragmentStart;return this.log(`Live playlist sliding: ${e.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${n.startSN} fragments: ${i}`),e}return a}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(n,t){let s=this.startPosition;s<t&&(s=-1);const i=this.timelineOffset;if(-1===s){const a=null!==this.startTimeOffset,r=a?this.startTimeOffset:n.startTimeOffset;null!==r&&e(r)?(s=t+r,r<0&&(s+=n.edge),s=Math.min(Math.max(t,s),t+n.totalduration),this.log(`Setting startPosition to ${s} for start time offset ${r} found in ${a?"multivariant":"media"} playlist`),this.startPosition=s):n.live?(s=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${s}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=s=0),this.lastCurrentTime=s+i}this.nextLoadPosition=s+i}getLoadPosition(){var e;const{media:n}=this;let t=0;return null!=(e=this.hls)&&e.hasEnoughToStart&&n?t=n.currentTime:this.nextLoadPosition>=0&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,n){this.transmuxer&&e.type===this.playlistType&&q(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${n?" part "+n.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===Gt.FRAG_LOADING_WAITING_RETRY)||(this.state=Gt.IDLE)}onFragmentOrKeyLoadError(e,n){if(n.chunkMeta&&!n.frag){const e=this.getCurrentContext(n.chunkMeta);e&&(n.frag=e.frag)}const t=n.frag;if(!t||t.type!==e||!this.levels)return;var s;if(this.fragContextChanged(t))return void this.warn(`Frag load error must match current frag to retry ${t.url} > ${null==(s=this.fragCurrent)?void 0:s.url}`);const a=n.details===i.FRAG_GAP;a&&this.fragmentTracker.fragBuffered(t,!0);const r=n.errorAction,{action:o,flags:l,retryCount:c=0,retryConfig:d}=r||{},u=!!r&&!!d,p=u&&5===o,h=u&&!r.resolved&&1===l;if(!p&&h&&q(t)&&!t.endList)this.resetFragmentErrors(e),this.treatAsGap(t),r.resolved=!0;else if((p||h)&&c<d.maxNumRetry){this.resetStartWhenNotLoaded(this.levelLastLoaded);const s=cn(d,c);this.warn(`Fragment ${t.sn} of ${e} ${t.level} errored with ${n.details}, retrying loading ${c+1}/${d.maxNumRetry} in ${s}ms`),r.resolved=!0,this.retryDate=self.performance.now()+s,this.state=Gt.FRAG_LOADING_WAITING_RETRY}else if(d&&r){if(this.resetFragmentErrors(e),!(c<d.maxNumRetry))return void this.warn(`${n.details} reached or exceeded max retry (${c})`);a||3===o||(r.resolved=!0)}else this.state=2===o?Gt.WAITING_LEVEL:Gt.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===Gt.PARSING||this.state===Gt.PARSED){const n=e.frag,t=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,t),i=s&&s.len>.5;i&&this.reduceMaxBufferLength(s.len,(null==n?void 0:n.duration)||10);const a=!i;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),n&&(this.fragmentTracker.removeFragment(n),this.nextLoadPosition=n.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===u&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==Gt.STOPPED&&(this.state=Gt.IDLE)}afterBufferFlushed(e,n,t){if(!e)return;const s=Dn.getBuffered(e);this.fragmentTracker.detectEvictedFragments(n,s,t),this.state===Gt.ENDED&&this.resetLoadingState()}
vendor: 5,112 bytes, line 2
2resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==Gt.STOPPED&&(this.state=Gt.IDLE)}resetStartWhenNotLoaded(e){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;const n=e?e.details:null;null!=n&&n.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(n,n.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of ${this.playlistLabel()} ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,n,t,r){const o=t.details;if(o){var l;if(!Object.keys(e.elementaryStreams).reduce(((n,s)=>{const i=e.elementaryStreams[s];if(i){const l=i.endPTS-i.startPTS;if(l<=0)return this.warn(`Could not parse fragment ${e.sn} ${s} duration reliably (${l})`),n||!1;const c=r?0:Lt(o,e,i.startPTS,i.endPTS,i.startDTS,i.endDTS);return this.hls.trigger(a.LEVEL_PTS_UPDATED,{details:o,level:t,drift:c,type:s,frag:e,start:i.startPTS,end:i.endPTS}),!0}return n}),!1)&&(0===t.fragmentError&&this.treatAsGap(e,t),null===(null==(l=this.transmuxer)?void 0:l.error))){const n=new Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(n.message),this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_PARSING_ERROR,fatal:!1,error:n,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${t.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=Gt.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)})`),this.hls.trigger(a.FRAG_PARSED,{frag:e,part:n})}else this.warn("level.details undefined")}playlistLabel(){return this.playlistType===d?"level":"track"}fragInfo(e,n=!0,t){var s,i;return`${this.playlistLabel()} ${e.level} (${t?"part":"frag"}:[${(null!=(s=n&&!t?e.startPTS:(t||e).start)?s:NaN).toFixed(3)}-${(null!=(i=n&&!t?e.endPTS:(t||e).end)?i:NaN).toFixed(3)}]${t&&"main"===e.type?"INDEPENDENT="+(t.independent?"YES":"NO"):""}`}treatAsGap(e,n){n&&n.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null==(e=this.transmuxer)||e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){const n=this._state;n!==e&&(this._state=e,this.log(`${n}->${e}`))}get state(){return this._state}}function qt(e){return!!e.interstitialsController&&!1!==e.enableInterstitialPlayback}class Kt{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){const{chunks:e,dataLength:n}=this;let t;return e.length?(t=1===e.length?e[0]:function(e,n){const t=new Uint8Array(n);let s=0;for(let n=0;n<e.length;n++){const i=e[n];t.set(i,s),s+=i.length}return t}(e,n),this.reset(),t):new Uint8Array(0)}reset(){this.chunks.length=0,this.dataLength=0}}var Vt,Ht={exports:{}},Yt=(Vt||(Vt=1,function(e){var n=Object.prototype.hasOwnProperty,t="~";function s(){}function i(e,n,t){this.fn=e,this.context=n,this.once=t||!1}function a(e,n,s,a,r){if("function"!=typeof s)throw new TypeError("The listener must be a function");var o=new i(s,a||e,r),l=t?t+n:n;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function r(e,n){0==--e._eventsCount?e._events=new s:delete e._events[n]}function o(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(t=!1)),o.prototype.eventNames=function(){var e,s,i=[];if(0===this._eventsCount)return i;for(s in e=this._events)n.call(e,s)&&i.push(t?s.slice(1):s);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},o.prototype.listeners=function(e){var n=t?t+e:e,s=this._events[n];if(!s)return[];if(s.fn)return[s.fn];for(var i=0,a=s.length,r=new Array(a);i<a;i++)r[i]=s[i].fn;return r},o.prototype.listenerCount=function(e){var n=t?t+e:e,s=this._events[n];return s?s.fn?1:s.length:0},o.prototype.emit=function(e,n,s,i,a,r){var o=t?t+e:e;if(!this._events[o])return!1;var l,c,d=this._events[o],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,n),!0;case 3:return d.fn.call(d.context,n,s),!0;case 4:return d.fn.call(d.context,n,s,i),!0;case 5:return d.fn.call(d.context,n,s,i,a),!0;case 6:return d.fn.call(d.context,n,s,i,a,r),!0}for(c=1,l=new Array(u-1);c<u;c++)l[c-1]=arguments[c];d.fn.apply(d.context,l)}else{var p,h=d.length;for(c=0;c<h;c++)switch(d[c].once&&this.removeListener(e,d[c].fn,void 0,!0),u){case 1:d[c].fn.call(d[c].c
vendor: 5,290 bytes, line 2
2ontext);break;case 2:d[c].fn.call(d[c].context,n);break;case 3:d[c].fn.call(d[c].context,n,s);break;case 4:d[c].fn.call(d[c].context,n,s,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];d[c].fn.apply(d[c].context,l)}}return!0},o.prototype.on=function(e,n,t){return a(this,e,n,t,!1)},o.prototype.once=function(e,n,t){return a(this,e,n,t,!0)},o.prototype.removeListener=function(e,n,s,i){var a=t?t+e:e;if(!this._events[a])return this;if(!n)return r(this,a),this;var o=this._events[a];if(o.fn)o.fn!==n||i&&!o.once||s&&o.context!==s||r(this,a);else{for(var l=0,c=[],d=o.length;l<d;l++)(o[l].fn!==n||i&&!o[l].once||s&&o[l].context!==s)&&c.push(o[l]);c.length?this._events[a]=1===c.length?c[0]:c:r(this,a)}return this},o.prototype.removeAllListeners=function(e){var n;return e?(n=t?t+e:e,this._events[n]&&r(this,n)):(this._events=new s,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,e.exports=o}(Ht)),Ht.exports),Wt=R(Yt);const Xt="1.6.6",Qt={};function Jt(e,n){return n+10<=e.length&&51===e[n]&&68===e[n+1]&&73===e[n+2]&&e[n+3]<255&&e[n+4]<255&&e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128}function Zt(e,n){return n+10<=e.length&&73===e[n]&&68===e[n+1]&&51===e[n+2]&&e[n+3]<255&&e[n+4]<255&&e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128}function es(e,n){let t=0;return t=(127&e[n])<<21,t|=(127&e[n+1])<<14,t|=(127&e[n+2])<<7,t|=127&e[n+3],t}function ns(e,n){const t=n;let s=0;for(;Zt(e,n);)s+=10,s+=es(e,n+6),Jt(e,n+10)&&(s+=10),n+=s;if(s>0)return e.subarray(t,t+s)}function ts(e,n){return 255===e[n]&&240==(246&e[n+1])}function ss(e,n){return 1&e[n+1]?7:9}function is(e,n){return(3&e[n+3])<<11|e[n+4]<<3|(224&e[n+5])>>>5}function as(e,n){return n+1<e.length&&ts(e,n)}function rs(e,n){if(as(e,n)){const t=ss(e,n);if(n+t>=e.length)return!1;const s=is(e,n);if(s<=t)return!1;const i=n+s;return i===e.length||as(e,i)}return!1}function os(e,n,t,r,o){if(!e.samplerate){const l=function(e,n,t,r){const o=n[t+2],l=o>>2&15;if(l>12){const n=new Error(`invalid ADTS sampling index:${l}`);return void e.emit(a.ERROR,a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_PARSING_ERROR,fatal:!0,error:n,reason:n.message})}const c=1+(o>>6&3),d=n[t+3]>>6&3|(1&o)<<2,u="mp4a.40."+c,p=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][l];let h=l;5!==c&&29!==c||(h-=3);const m=[c<<3|(14&h)>>1,(1&h)<<7|d<<3];return x.log(`manifest codec:${r}, parsed codec:${u}, channels:${d}, rate:${p} (ADTS object type:${c} sampling index:${l})`),{config:m,samplerate:p,channelCount:d,codec:u,parsedCodec:u,manifestCodec:r}}(n,t,r,o);if(!l)return;g(e,l)}}function ls(e){return 9216e4/e}function cs(e,n,t,s,i){const a=s+i*ls(e.samplerate),r=function(e,n){const t=ss(e,n);if(n+t<=e.length){const s=is(e,n)-t;if(s>0)return{headerLength:t,frameLength:s}}}(n,t);let o;if(r){const{frameLength:s,headerLength:i}=r,l=i+s,c=Math.max(0,t+l-n.length);c?(o=new Uint8Array(l-i),o.set(n.subarray(t+i,n.length),0)):o=n.subarray(t+i,t+l);const d={unit:o,pts:a};return c||e.samples.push(d),{sample:d,length:l,missing:c}}const l=n.length-t;return o=new Uint8Array(l),o.set(n.subarray(t,n.length),0),{sample:{unit:o,pts:a},length:l,missing:-1}}function ds(e,n){return Zt(e,n)&&es(e,n+6)+10<=e.length-n}function us(e,n=0,t=1/0){return function(e,n,t,s){const i=(a=e)instanceof ArrayBuffer?a:a.buffer;var a;let r=1;"BYTES_PER_ELEMENT"in s&&(r=s.BYTES_PER_ELEMENT);const o=(u=e)&&u.buffer instanceof ArrayBuffer&&void 0!==u.byteLength&&void 0!==u.byteOffset?e.byteOffset:0,l=(o+e.byteLength)/r,c=(o+n)/r,d=Math.floor(Math.max(0,Math.min(c,l)));var u;return new s(i,d,Math.floor(Math.min(d+Math.max(t,0),l))-d)}(e,n,t,Uint8Array)}function ps(e){return"PRIV"===e.type?function(e){if(e.size<2)return;const n=L(e.data,!0),t=new Uint8Array(e.data.subarray(n.length+1));return{key:e.type,info:n,data:t.buffer}}(e):"W"===e.type[0]?function(e){if("WXXX"===e.type){if(e.size<2)return;let n=1;const t=L(e.data.subarray(n),!0);n+=t.length+1;const s=L(e.data.subarray(n));return{key:e.type,info:t,data:s}}const n=L(e.data);return{key:e.type,info:"",data:n}}(e):"APIC"===e.type?function(e){const n={key:e.type,description:"",data:"",mimeType:null,pictureType:null};if(e.size<2)return;if(3!==e.data[0])return void console.log("Ignore frame with unrecognized character encoding");const t=e.data.subarray(1).indexOf(0);if(-1===t)return;const s=L(us(e.data,1,t)),i=e.data[2+t],a=e.data.subarray(3+t).indexOf(0);if(-1===a)return;const r=L(us(e.data,3+t,a));let o;return o="--\x3e"===s?L(us(e.data,4+t+a)):(l=e.data.subarray(4+t+a))instanceof ArrayBuffer?l:0==l.byteOffset&&l.byteLength==l.buffer.byteLength?l.buffer:new Uint8Array(l).buffer,n.mimeType=s,n.pictureType=i,n.description=r,n.data=o,n;var l}(e):function(e){if(e.size<2)return;if("TXXX"===e.type){let n=1;const t=L(e.data.subarray(n),!0);n+=t.length+1;const s=L(e.data.subarray(n));return{key:e.type,info:t,data:s}}const n=L(e.data.subarray(1));return{key:e.type,info:"",data:n}}(e)}function hs(e){const n=String.fromCharCode(e[0],e[1],e[2],e[3]),t=es(e,4);return{type:n,size:t,data:e.subarray(10,10+t)}}const ms=10,vs=10;function gs(e){let n=0;const t=[];for(;Zt(e,n);){const s=es(e,n+6);e[n+5]>>6&1&&(n+=ms),n+=ms;const i=n+s;for(;n+vs<i;){const s=hs(e.subarray(n)),i=ps(s);
vendor: 9,855 bytes, line 2
2i&&t.push(i),n+=s.size+ms}Jt(e,n)&&(n+=ms)}return t}function fs(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info}function _s(e){if(8===e.data.byteLength){const n=new Uint8Array(e.data),t=1&n[3];let s=(n[4]<<23)+(n[5]<<15)+(n[6]<<7)+n[7];return s/=45,t&&(s+=47721858.84),Math.round(s)}}function bs(e){const n=gs(e);for(let e=0;e<n.length;e++){const t=n[e];if(fs(t))return _s(t)}}let ys=function(e){return e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e}({});function ws(e="",n=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:n,sequenceNumber:-1,samples:[],dropped:0}}class ks{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,n,t,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,n){return!1}appendFrame(e,n,t){}demux(n,t){this.cachedData&&(n=ue(this.cachedData,n),this.cachedData=null);let s,i=ns(n,0),a=i?i.length:0;const r=this._audioTrack,o=this._id3Track,l=i?bs(i):void 0,c=n.length;for((null===this.basePTS||0===this.frameIndex&&e(l))&&(this.basePTS=Ts(l,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),i&&i.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:ys.audioId3,duration:Number.POSITIVE_INFINITY});a<c;){if(this.canParse(n,a)){const e=this.appendFrame(r,n,a);e?(this.frameIndex++,this.lastPTS=e.sample.pts,a+=e.length,s=a):a=c}else ds(n,a)?(i=ns(n,a),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:ys.audioId3,duration:Number.POSITIVE_INFINITY}),a+=i.length,s=a):a++;if(a===c&&s!==c){const e=n.slice(s);this.cachedData?this.cachedData=ue(this.cachedData,e):this.cachedData=e}}return{audioTrack:r,videoTrack:ws(),id3Track:o,textTrack:ws()}}demuxSampleAes(e,n,t){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){const n=this.cachedData;return n&&(this.cachedData=null,this.demux(n,0)),{audioTrack:this._audioTrack,videoTrack:ws(),id3Track:this._id3Track,textTrack:ws()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}const Ts=(n,t,s)=>e(n)?90*n:9e4*t+(s?9e4*s.baseTime/s.timescale:0);let Es=null;const xs=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],Ss=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],As=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Ls=[0,1,1,4];function Cs(e,n,t,s,i){if(t+24>n.length)return;const a=Rs(n,t);if(a&&t+a.frameLength<=n.length){const r=s+i*(9e4*a.samplesPerFrame/a.sampleRate),o={unit:n.subarray(t,t+a.frameLength),pts:r,dts:r};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(o),{sample:o,length:a.frameLength,missing:0}}}function Rs(e,n){const t=e[n+1]>>3&3,s=e[n+1]>>1&3,i=e[n+2]>>4&15,a=e[n+2]>>2&3;if(1!==t&&0!==i&&15!==i&&3!==a){const r=e[n+2]>>1&1,o=e[n+3]>>6,l=1e3*xs[14*(3===t?3-s:3===s?3:4)+i-1],c=Ss[3*(3===t?0:2===t?1:2)+a],d=3===o?1:2,u=As[t][s],p=Ls[s],h=8*u*p,m=Math.floor(u*l/c+r)*p;if(null===Es){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Es=e?parseInt(e[1]):0}return!!Es&&Es<=87&&2===s&&l>=224e3&&0===o&&(e[n+3]=128|e[n+3]),{sampleRate:c,channelCount:d,frameLength:m,samplesPerFrame:h}}}function Is(e,n){return!(255!==e[n]||224&~e[n+1]||!(6&e[n+1]))}function Ps(e,n){return n+1<e.length&&Is(e,n)}function Ds(e,n){if(n+1<e.length&&Is(e,n)){const t=4,s=Rs(e,n);let i=t;null!=s&&s.frameLength&&(i=s.frameLength);const a=n+i;return a===e.length||Ps(e,a)}return!1}const Os=(e,n)=>{let t=0,s=5;n+=s;const i=new Uint32Array(1),a=new Uint32Array(1),r=new Uint8Array(1);for(;s>0;){r[0]=e[n];const o=Math.min(s,8),l=8-o;a[0]=4278190080>>>24+l<<l,i[0]=(r[0]&a[0])>>l,t=t?t<<o|i[0]:i[0],n+=1,s-=o}return t};function Ms(e,n,t,s,i){if(t+8>n.length)return-1;if(11!==n[t]||119!==n[t+1])return-1;const a=n[t+4]>>6;if(a>=3)return-1;const r=[48e3,44100,32e3][a],o=63&n[t+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+a];if(t+l>n.length)return-1;const c=n[t+6]>>5;let d=0;2===c?d+=2:(1&c&&1!==c&&(d+=2),4&c&&(d+=2));const u=(n[t+6]<<8|n[t+7])>>12-d&1,p=[2,1,2,3,3,4,4,5][c]+u,h=n[t+5]>>3,m=7&n[t+5],v=new Uint8Array([a<<6|h<<1|m>>2,(3&m)<<6|c<<3|u<<2|o>>4,o<<4&224]),g=s+i*(1536/r*9e4),f=n.subarray(t,t+l);return e.config=v,e.channelCount=p,e.samplerate=r,e.samples.push({unit:f,pts:g}),l}const Fs=/\/emsg[-/]ID3/i;function Ns(n,t){return e(n.presentationTime)?n.presentationTime/n.timeScale:t+n.presentationTimeDelta/n.timeScale}class $s{constructor(e,n,t){this.keyData=void 0,this.decrypter=void 0,this.keyData=t,this.decrypter=new En(n,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,0)}decryptAacSample(e,n,t){const s=e[n].unit;if(s.length<=16)return;const i=s.subarray(16,s.length-s.length%16),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.length);this.decryptBuffer(a).then((i=>{const a=new Uint8Array(i);s.set(a,16),this.decrypter.isSync()||this.decryptAacSamples(e,n+1,t)}))}decryptAacSamples(e,n,t){for(;;n++){if(n>=e.length)return void t();if(!(e[n].unit.length<32||(this.decryptAacSample(e,n,t),this.decrypter.isSync())))return}}getAvcEncryptedData(e){const n=16*Math.floor((e.length-48)/160)+16,t=new Int8Array(n);let s=0;for(let n=32;n<e.length-16;n+=160,s+=16)t.set(e.subarray(n,n+16),s);return t}getAvcDecryptedUnit(e,n){const t=new Uint8Array(n);let s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(t.subarray(s,s+16),n);return e}decryptAvcSample(e,n,t,s,i){const a=ge(i.data),r=this.getAvcEncryptedData(a);this.decryptBuffer(r.buffer).then((r=>{i.data=this.getAvcDecryptedUnit(a,r),this.decrypter.isSync()||this.decryptAvcSamples(e,n,t+1,s)}))}decryptAvcSamples(e,n,t,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;n++,t=0){if(n>=e.length)return void s();const i=e[n].units;for(;!(t>=i.length);t++){const a=i[t];if(!(a.data.length<=48||1!==a.type&&5!==a.type||(this.decryptAvcSample(e,n,t,s,a),this.decrypter.isSync())))return}}}}class Bs{constructor(){this.VideoSample=null}createVideoSample(e,n,t){return{key:e,frame:!1,pts:n,dts:t,units:[],length:0}}getLastNalUnit(e){var n;let t,s=this.VideoSample;if(s&&0!==s.units.length||(s=e[e.length-1]),null!=(n=s)&&n.units){const e=s.units;t=e[e.length-1]}return t}pushAccessUnit(e,n){if(e.units.length&&e.frame){if(void 0===e.pts){const t=n.samples,s=t.length;if(!s)return void n.dropped++;{const n=t[s-1];e.pts=n.pts,e.dts=n.dts}}n.samples.push(e)}}parseNALu(e,n,t){const s=n.byteLength;let i=e.naluState||0;const a=i,r=[];let o,l,c,d=0,u=-1,p=0;for(-1===i&&(u=0,p=this.getNALuType(n,0),i=0,d=1);d<s;)if(o=n[d++],i)if(1!==i)if(o)if(1===o){if(l=d-i-1,u>=0){const e={data:n.subarray(u,l),type:p};r.push(e)}else{const t=this.getLastNalUnit(e.samples);t&&(a&&d<=4-a&&t.state&&(t.data=t.data.subarray(0,t.data.byteLength-a)),l>0&&(t.data=ue(t.data,n.subarray(0,l)),t.state=0))}d<s?(c=this.getNALuType(n,d),u=d,p=c,i=0):i=-1}else i=0;else i=3;else i=o?0:2;else i=o?0:1;if(u>=0&&i>=0){const e={data:n.subarray(u,s),type:p,state:i};r.push(e)}if(0===r.length){const t=this.getLastNalUnit(e.samples);t&&(t.data=ue(t.data,n))}return e.naluState=i,r}}class Us{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const e=this.data,n=this.bytesAvailable,t=e.byteLength-n,s=new Uint8Array(4),i=Math.min(4,n);if(0===i)throw new Error("no bytes available");s.set(e.subarray(t,t+i)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=8*i,this.bytesAvailable-=i}skipBits(e){let n;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(n=(e-=this.bitsAvailable)>>3,e-=n<<3,this.bytesAvailable-=n,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let n=Math.min(this.bitsAvailable,e);const t=this.word>>>32-n;if(e>32&&x.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=n,this.bitsAvailable>0)this.word<<=n;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return n=e-n,n>0&&this.bitsAvailable?t<<n|this.readBits(n):t}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const e=this.skipLZ();return this.readBits(e+1)-1}readEG(){const e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class js extends Bs{parsePES(e,n,t,s){const i=this.parseNALu(e,t.data,s);let a,r=this.VideoSample,o=!1;t.data=null,r&&i.length&&!e.audFound&&(this.pushAccessUnit(r,e),r=this.VideoSample=this.createVideoSample(!1,t.pts,t.dts)),i.forEac
vendor: 9,598 bytes, line 2
2h((s=>{var i,l;switch(s.type){case 1:{let n=!1;a=!0;const i=s.data;if(o&&i.length>4){const e=this.readSliceType(i);2!==e&&4!==e&&7!==e&&9!==e||(n=!0)}var c;n&&null!=(c=r)&&c.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null),r||(r=this.VideoSample=this.createVideoSample(!0,t.pts,t.dts)),r.frame=!0,r.key=n;break}case 5:a=!0,null!=(i=r)&&i.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null),r||(r=this.VideoSample=this.createVideoSample(!0,t.pts,t.dts)),r.key=!0,r.frame=!0;break;case 6:a=!0,ve(s.data,1,t.pts,n.samples);break;case 7:{var d,u;a=!0,o=!0;const n=s.data,t=this.readSPS(n);if(!e.sps||e.width!==t.width||e.height!==t.height||(null==(d=e.pixelRatio)?void 0:d[0])!==t.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==t.pixelRatio[1]){e.width=t.width,e.height=t.height,e.pixelRatio=t.pixelRatio,e.sps=[n];const s=n.subarray(1,4);let i="avc1.";for(let e=0;e<3;e++){let n=s[e].toString(16);n.length<2&&(n="0"+n),i+=n}e.codec=i}break}case 8:a=!0,e.pps=[s.data];break;case 9:a=!0,e.audFound=!0,null!=(l=r)&&l.frame&&(this.pushAccessUnit(r,e),r=null),r||(r=this.VideoSample=this.createVideoSample(!1,t.pts,t.dts));break;case 12:a=!0;break;default:a=!1}r&&a&&r.units.push(s)})),s&&r&&(this.pushAccessUnit(r,e),this.VideoSample=null)}getNALuType(e,n){return 31&e[n]}readSliceType(e){const n=new Us(e);return n.readUByte(),n.readUEG(),n.readUEG()}skipScalingList(e,n){let t,s=8,i=8;for(let a=0;a<e;a++)0!==i&&(t=n.readEG(),i=(s+t+256)%256),s=0===i?s:i}readSPS(e){const n=new Us(e);let t,s,i,a=0,r=0,o=0,l=0;const c=n.readUByte.bind(n),d=n.readBits.bind(n),u=n.readUEG.bind(n),p=n.readBoolean.bind(n),h=n.skipBits.bind(n),m=n.skipEG.bind(n),v=n.skipUEG.bind(n),g=this.skipScalingList.bind(this);c();const f=c();if(d(5),h(3),c(),v(),100===f||110===f||122===f||244===f||44===f||83===f||86===f||118===f||128===f){const e=u();if(3===e&&h(1),v(),v(),h(1),p())for(s=3!==e?8:12,i=0;i<s;i++)p()&&g(i<6?16:64,n)}v();const _=u();if(0===_)u();else if(1===_)for(h(1),m(),m(),t=u(),i=0;i<t;i++)m();v(),h(1);const b=u(),y=u(),w=d(1);0===w&&h(1),h(1),p()&&(a=u(),r=u(),o=u(),l=u());let k=[1,1];if(p()&&p())switch(c()){case 1:k=[1,1];break;case 2:k=[12,11];break;case 3:k=[10,11];break;case 4:k=[16,11];break;case 5:k=[40,33];break;case 6:k=[24,11];break;case 7:k=[20,11];break;case 8:k=[32,11];break;case 9:k=[80,33];break;case 10:k=[18,11];break;case 11:k=[15,11];break;case 12:k=[64,33];break;case 13:k=[160,99];break;case 14:k=[4,3];break;case 15:k=[3,2];break;case 16:k=[2,1];break;case 255:k=[c()<<8|c(),c()<<8|c()]}return{width:Math.ceil(16*(b+1)-2*a-2*r),height:(2-w)*(y+1)*16-(w?2:4)*(o+l),pixelRatio:k}}}class Gs extends Bs{constructor(...e){super(...e),this.initVPS=null}parsePES(e,n,t,s){const i=this.parseNALu(e,t.data,s);let a,r=this.VideoSample,o=!1;t.data=null,r&&i.length&&!e.audFound&&(this.pushAccessUnit(r,e),r=this.VideoSample=this.createVideoSample(!1,t.pts,t.dts)),i.forEach((s=>{var i,l;switch(s.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:r||(r=this.VideoSample=this.createVideoSample(!1,t.pts,t.dts)),r.frame=!0,a=!0;break;case 16:case 17:case 18:case 21:var c;a=!0,o&&null!=(c=r)&&c.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null),r||(r=this.VideoSample=this.createVideoSample(!0,t.pts,t.dts)),r.key=!0,r.frame=!0;break;case 19:case 20:a=!0,null!=(i=r)&&i.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null),r||(r=this.VideoSample=this.createVideoSample(!0,t.pts,t.dts)),r.key=!0,r.frame=!0;break;case 39:a=!0,ve(s.data,2,t.pts,n.samples);break;case 32:a=!0,e.vps||("object"!=typeof e.params&&(e.params={}),e.params=g(e.params,this.readVPS(s.data)),this.initVPS=s.data),e.vps=[s.data];break;case 33:if(a=!0,o=!0,void 0===e.vps||e.vps[0]===this.initVPS||void 0===e.sps||this.matchSPS(e.sps[0],s.data)||(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){const n=this.readSPS(s.data);e.width=n.width,e.height=n.height,e.pixelRatio=n.pixelRatio,e.codec=n.codecString,e.sps=[],"object"!=typeof e.params&&(e.params={});for(const t in n.params)e.params[t]=n.params[t]}this.pushParameterSet(e.sps,s.data,e.vps),r||(r=this.VideoSample=this.createVideoSample(!0,t.pts,t.dts)),r.key=!0;break;case 34:if(a=!0,"object"==typeof e.params){if(!e.pps){e.pps=[];const n=this.readPPS(s.data);for(const t in n)e.params[t]=n[t]}this.pushParameterSet(e.pps,s.data,e.vps)}break;case 35:a=!0,e.audFound=!0,null!=(l=r)&&l.frame&&(this.pushAccessUnit(r,e),r=null),r||(r=this.VideoSample=this.createVideoSample(!1,t.pts,t.dts));break;default:a=!1}r&&a&&r.units.push(s)})),s&&r&&(this.pushAccessUnit(r,e),this.VideoSample=null)}pushParameterSet(e,n,t){(t&&t[0]===this.initVPS||!t&&!e.length)&&e.push(n)}getNALuType(e,n){return(126&e[n])>>>1}ebsp2rbsp(e){const n=new Uint8Array(e.byteLength);let t=0;for(let s=0;s<e.byteLength;s++)s>=2&&3===e[s]&&0===e[s-1]&&0===e[s-2]||(n[t]=e[s],t++);return new Uint8Array(n.buffer,0,t)}pushAccessUnit(e,n){super.pushAccessUnit(e,n),this.initVPS&&(this.initVPS=null)}readVPS(e){const n=new Us(e);return n.readUByte(),n.readUByte(),n.readBits(4),n.skipBits(2),n.readBits(6),{numTemporalLayers:n.readBits(3)+1,temporalIdNested:n.readBoolean()}}readSPS(e){const n=new Us(this.ebsp2rbsp(e));n.readUByte(),n.readUByte(),n.readBits(4);const t=n.readBits(3);n.readBoolean();const s=n.readBits(2),i=n.readBoolean(),a=n.readBits(5),r=n.readUByte(),o=n.readUByte(),l=n.readUByte(),c=n.readUByte(),d=n.readUByte(),u=n.readUByte(),p=n.readUByte(),h=n.readUByte(),m=n.readUByte(),v=n.readUByte(),g=n.readUByte(),f=[],_=[];for(let e=0;e<t;e++)f.push(n.readBoolean()),_.push(n.readBoolean());if(t>0)for(let e=t;e<8;e++)n.readBits(2);for(let e=0;e<t;e++)f[e]&&(n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte()),_[e]&&n.readUByte();n.readUEG();const b=n.readUEG();3==b&&n.skipBits(1);const y=n.readUEG(),w=n.readUEG(),k=n.readBoolean();let T=0,E=0,x=0,S=0;k&&(T+=n.readUEG(),E+=n.readUEG(),x+=n.readUEG(),S+=n.readUEG());const A=n.readUEG(),L=n.readUEG(),C=n.readUEG();for(let e=n.readBoolean()?0:t;e<=t;e++)n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.readBoolean()&&n.readBoolean())for(let e=0;e<4;e++)for(let t=0;t<(3===e?2:6);t++)if(n.readBoolean()){const t=Math.min(64,1<<4+(e<<1));e>1&&n.readEG();for(let e=0;e<t;e++)n.readEG()}else n.readUEG();n.readBoolean(),n.readBoolean(),n.readBoolean()&&(n.readUByte(),n.skipUEG(),n.skipUEG(),n.readBoolean());const R=n.readUEG();let I=0;for(let e=0;e<R;e++){let t=!1;if(0!==e&&(t=n.readBoolean()),t){e===R&&n.readUEG(),n.readBoolean(),n.readUEG();let t=0;for(let e=0;e<=I;e++){const e=n.readBoolean();let s=!1;e||(s=n.readBoolean()),(e||s)&&t++}I=t}else{const e=n.readUEG(),t=n.readUEG();I=e+t;for(let t=0;t<e;t++)n.readUEG(),n.readBoolean();for(let e=0;e<t;e++)n.readUEG(),n.readBoolean()}}if(n.readBoolean()){const e=n.readUEG();for(let t=0;t<e;t++){for(let e=0;e<C+4;e++)n.readBits(1);n.readBits(1)}}let P=0,D=1,O=1,M=!0,F=1,N=0;n.readBoolean(),n.readBoolean();let $=!1;if(n.readBoolean()){if(n.readBoolean()){const e=n.readUByte();e>0&&e<16?(D=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],O=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):255===e&&(D=n.readBits(16),O=n.readBits(16))}if(n.readBoolean()&&n.readBoolean(),n.readBoolean()&&(n.readBits(3),n.readBoolean(),n.readBoolean()&&(n.readUByte(),n.readUByte(),n.readUByte())),n.readBoolean()&&(n.readUEG(),n.readUEG()),n.readBoolean(),n.readBoolean(),n.readBoolean(),$=n.readBoolean(),$&&(T+=n.readUEG(),E+=n.readUEG(),x+=n.readUEG(),S+=n.readUEG()),n.readBoolean()&&(F=n.readBits(32),N=n.readBits(32),n.readBoolean()&&n.readUEG(),n.readBoolean())){const e=n.readBoolean(),s=n.readBoolean();let i=!1;(e||s)&&(i=n.readBoolean(),i&&(n.readUByte(),n.readBits(5),n.readBoolean(),n.readBits(5)),n.readBits(4),n.readBits(4),i&&n.readBits(4),n.readBits(5),n.readBits(5),n.readBits(5));for(let a=0;a<=t;a++){M=n.readBoolean();let t=!1;M||n.readBoolean()?n.readEG():t=n.readBoolean();const a=t?1:n.readUEG()+1;if(e)for(let e=0;e<a;e++)n.readUEG(),n.readUEG(),i&&(n.readUEG(),n.readUEG()),n.skipBits(1);if(s)for(let e=0;e<a;e++)n.readUEG(),n.readUEG(),i&&(n.readUEG(),n.readUEG()),n.skipBits(1)}}n.readBoolean()&&(n.readBoolean(),n.readBoolean(),n.readBoolean(),P=n.readUEG())}let B=y,U=w;if(k||$){let e=1,n=1;1===b?e=n=2:2==b&&(e=2),B=y-e*E-e*T,U=w-n*S-n*x}const j=s?["A","B","C"][s]:"",G=r<<24|o<<16|l<<8|c;let z=0;for(let e=0;e<32;e++)z=(z|(G>>e&1)<<31-e)>>>0;let q=z.toString(16);return 1===a&&"2"===q&&(q="6"),{codecString:`hvc1.${j}${a}.${q}.${i?"H":"L"}${g}.B0`,params:{general_tier_flag:i,general_profile_idc:a,general_profile_space:s,general_profile_compatibility_flags:[r,o,l,c],general_constraint_indicator_flags:[d,u,p,h,m,v],general_level_idc:g,bit_depth:A+8,bit_depth_luma_minus8:A,bit_depth_chroma_minus8:L,min_spatial_segmentation_idc:P,chroma_format_idc:b,frame_rate:{fixed:M,fps:N/F}},width:B,height:U,pixelRatio:[D,O]}}readPPS(e){const n=new Us(this.ebsp2rbsp(e));n.readUByte(),n.readUByte(),n.skipUEG(),n.skipUEG(),n.skipBits(2),n.skipBits(3),n.skipBits(2),n.skipUEG(),n.skipUEG(),n.skipEG(),n.skipBits(2),n.readBoolean()&&n.skipUEG(),n.skipEG(),n.skipEG(),n.skipBits(4);const t=n.readBoolean(),s=n.readBoolean();let i=1;return s&&t?i=0:s?i=3:t&&(i=2),{parallelismType:i}}matchSPS(e,n){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,n).substr(3)}}const zs=188;class qs{constructor(e,n,t,s){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupp
vendor: 5,118 bytes, line 2
2orted=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=n,this.typeSupported=t,this.logger=s,this.videoParser=null}static probe(e,n){const t=qs.syncOffset(e);return t>0&&n.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),-1!==t}static syncOffset(e){const n=e.length;let t=Math.min(940,n-zs)+1,s=0;for(;s<t;){let i=!1,a=-1,r=0;for(let o=s;o<n;o+=zs){if(71!==e[o]||n-o!==zs&&71!==e[o+zs]){if(r)return-1;break}if(r++,-1===a&&(a=o,0!==a&&(t=Math.min(a+18612,e.length-zs)+1)),i||(i=0===Ks(e,o)),i&&r>1&&(0===a&&r>2||o+zs>t))return a}s++}return-1}static createTrack(e,n){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:X[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?n:void 0}}resetInitSegment(e,n,t,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=qs.createTrack("video"),this._videoTrack.duration=s,this._audioTrack=qs.createTrack("audio",s),this._id3Track=qs.createTrack("id3"),this._txtTrack=qs.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=n,this.videoCodec=t}resetTimeStamp(){}resetContiguity(){const{_audioTrack:e,_videoTrack:n,_id3Track:t}=this;e&&(e.pesData=null),n&&(n.pesData=null),t&&(t.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,n,t=!1,s=!1){let i;t||(this.sampleAes=null);const a=this._videoTrack,r=this._audioTrack,o=this._id3Track,l=this._txtTrack;let c=a.pid,d=a.pesData,u=r.pid,p=o.pid,h=r.pesData,m=o.pesData,v=null,g=this.pmtParsed,f=this._pmtId,_=e.length;if(this.remainderData&&(_=(e=ue(this.remainderData,e)).length,this.remainderData=null),_<zs&&!s)return this.remainderData=e,{audioTrack:r,videoTrack:a,id3Track:o,textTrack:l};const b=Math.max(0,qs.syncOffset(e));_-=(_-b)%zs,_<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,_,e.buffer.byteLength-_));let y=0;for(let n=b;n<_;n+=zs)if(71===e[n]){const s=!!(64&e[n+1]),_=Ks(e,n);let y;if((48&e[n+3])>>4>1){if(y=n+5+e[n+4],y===n+zs)continue}else y=n+4;switch(_){case c:if(s){if(d&&(i=Xs(d,this.logger))){if(null===this.videoParser)switch(a.segmentCodec){case"avc":this.videoParser=new js;break;case"hevc":this.videoParser=new Gs}null!==this.videoParser&&this.videoParser.parsePES(a,l,i,!1)}d={data:[],size:0}}d&&(d.data.push(e.subarray(y,n+zs)),d.size+=n+zs-y);break;case u:if(s){if(h&&(i=Xs(h,this.logger)))switch(r.segmentCodec){case"aac":this.parseAACPES(r,i);break;case"mp3":this.parseMPEGPES(r,i);break;case"ac3":this.parseAC3PES(r,i)}h={data:[],size:0}}h&&(h.data.push(e.subarray(y,n+zs)),h.size+=n+zs-y);break;case p:s&&(m&&(i=Xs(m,this.logger))&&this.parseID3PES(o,i),m={data:[],size:0}),m&&(m.data.push(e.subarray(y,n+zs)),m.size+=n+zs-y);break;case 0:s&&(y+=e[y]+1),f=this._pmtId=Vs(e,y);break;case f:{s&&(y+=e[y]+1);const i=Hs(e,y,this.typeSupported,t,this.observer,this.logger);c=i.videoPid,c>0&&(a.pid=c,a.segmentCodec=i.segmentVideoCodec),u=i.audioPid,u>0&&(r.pid=u,r.segmentCodec=i.segmentAudioCodec),p=i.id3Pid,p>0&&(o.pid=p),null===v||g||(this.logger.warn(`MPEG-TS PMT found at ${n} after unknown PID '${v}'. Backtracking to sync byte @${b} to parse all TS packets.`),v=null,n=b-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:v=_}}else y++;y>0&&Ys(this.observer,new Error(`Found ${y} TS packet/s that do not start with 0x47`),void 0,this.logger),a.pesData=d,r.pesData=h,o.pesData=m;const w={audioTrack:r,videoTrack:a,id3Track:o,textTrack:l};return s&&this.extractRemainingSamples(w),w}flush(){const{remainderData:e}=this;let n;return this.remainderData=null,n=e?this.demux(e,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(n),this.sampleAes?this.decrypt(n,this.sampleAes):n}extractRemainingSamples(e){const{audioTrack:n,videoTrack:t,id3Track:s,textTrack:i}=e,a=t.pesData,r=n.pesData,o=s.pesData;let l;if(a&&(l=Xs(a,this.logger))){if(null===this.videoParser)switch(t.segmentCodec){case"avc":this.videoParser=new js;break;case"hevc":this.videoParser=new Gs}null!==this.videoParser&&(this.videoParser.parsePES(t,i,l,!0),t.pesData=null)}else t.pesData=a;if(r&&(l=Xs(r,this.logger))){switch(n.segmentCodec){case"aac":this.parseAACPES(n,l);break;case"mp3":this.parseMPEGPES(n,l);break;case"ac3":this.parseAC3PES(n,l)}n.pesData=null}else null!=r&&r.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),n.pesData=r;o&&(l=Xs(o,this.logger))?(this.parseID3PES(s,l),s.pesData=null):s.pesData=o}demuxSampleAes(e,n,t){const s=this.demux(e,t,!0,!this.config.progressive),i=this.sampleAes=new $s(this.observer,this.config,n);return this.decrypt(s,i)}decrypt(e,n){return new Promise((t=>{const{audioTrack:s,videoTrack:i}=e;s.samples&&"aac"===s.segmentCodec?n.decryptAacSamples(s.samples,0,(()=>{i.samples?n.decryptAvcSamples(i.samples,0,0,(()=>{t(e)})):t(e)}
vendor: 6,383 bytes, line 2
2)):i.samples&&n.decryptAvcSamples(i.samples,0,0,(()=>{t(e)}))}))}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,n){let t=0;const s=this.aacOverFlow;let i,a,r,o=n.data;if(s){this.aacOverFlow=null;const n=s.missing,i=s.sample.unit.byteLength;if(-1===n)o=ue(s.sample.unit,o);else{const a=i-n;s.sample.unit.set(o.subarray(0,n),a),e.samples.push(s.sample),t=s.missing}}for(i=t,a=o.length;i<a-1&&!as(o,i);i++);if(i!==t){let e;const n=i<a-1;if(e=n?`AAC PES did not start with ADTS header,offset:${i}`:"No ADTS header found in AAC PES",Ys(this.observer,new Error(e),n,this.logger),!n)return}if(os(e,this.observer,o,i,this.audioCodec),void 0!==n.pts)r=n.pts;else{if(!s)return void this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");{const n=ls(e.samplerate);r=s.sample.pts+n}}let l,c=0;for(;i<a;){if(l=cs(e,o,i,r,c),i+=l.length,l.missing){this.aacOverFlow=l;break}for(c++;i<a-1&&!as(o,i);i++);}}parseMPEGPES(e,n){const t=n.data,s=t.length;let i=0,a=0;const r=n.pts;if(void 0!==r)for(;a<s;)if(Ps(t,a)){const n=Cs(e,t,a,r,i);if(!n)break;a+=n.length,i++}else a++;else this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS")}parseAC3PES(e,n){{const t=n.data,s=n.pts;if(void 0===s)return void this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");const i=t.length;let a,r=0,o=0;for(;o<i&&(a=Ms(e,t,o,s,r++))>0;)o+=a}}parseID3PES(e,n){if(void 0===n.pts)return void this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");const t=g({},n,{type:this._videoTrack?ys.emsg:ys.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(t)}}function Ks(e,n){return((31&e[n+1])<<8)+e[n+2]}function Vs(e,n){return(31&e[n+10])<<8|e[n+11]}function Hs(e,n,t,s,i,a){const r={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=n+3+((15&e[n+1])<<8|e[n+2])-4;for(n+=12+((15&e[n+10])<<8|e[n+11]);n<o;){const o=Ks(e,n),l=(15&e[n+3])<<8|e[n+4];switch(e[n]){case 207:if(!s){Ws("ADTS AAC",a);break}case 15:-1===r.audioPid&&(r.audioPid=o);break;case 21:-1===r.id3Pid&&(r.id3Pid=o);break;case 219:if(!s){Ws("H.264",a);break}case 27:-1===r.videoPid&&(r.videoPid=o);break;case 3:case 4:t.mpeg||t.mp3?-1===r.audioPid&&(r.audioPid=o,r.segmentAudioCodec="mp3"):a.log("MPEG audio found, not supported in this browser");break;case 193:if(!s){Ws("AC-3",a);break}case 129:t.ac3?-1===r.audioPid&&(r.audioPid=o,r.segmentAudioCodec="ac3"):a.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===r.audioPid&&l>0){let s=n+5,i=l;for(;i>2;){106===e[s]&&(!0!==t.ac3?a.log("AC-3 audio found, not supported in this browser for now"):(r.audioPid=o,r.segmentAudioCodec="ac3"));const n=e[s+1]+2;s+=n,i-=n}}break;case 194:case 135:return Ys(i,new Error("Unsupported EC-3 in M2TS found"),void 0,a),r;case 36:-1===r.videoPid&&(r.videoPid=o,r.segmentVideoCodec="hevc",a.log("HEVC in M2TS found"))}n+=l+5}return r}function Ys(e,n,t,r){r.warn(`parsing error: ${n.message}`),e.emit(a.ERROR,a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:n,reason:n.message})}function Ws(e,n){n.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function Xs(e,n){let t,s,i,a,r,o=0;const l=e.data;if(!e||0===e.size)return null;for(;l[0].length<19&&l.length>1;)l[0]=ue(l[0],l[1]),l.splice(1,1);if(t=l[0],1===(t[0]<<16)+(t[1]<<8)+t[2]){if(s=(t[4]<<8)+t[5],s&&s>e.size-6)return null;const c=t[7];192&c&&(a=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&c?(r=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2,a-r>54e5&&(n.warn(`${Math.round((a-r)/9e4)}s delta between PTS and DTS, align them`),a=r)):r=a),i=t[8];let d=i+9;if(e.size<=d)return null;e.size-=d;const u=new Uint8Array(e.size);for(let e=0,n=l.length;e<n;e++){t=l[e];let n=t.byteLength;if(d){if(d>n){d-=n;continue}t=t.subarray(d),n-=d,d=0}u.set(t,o),o+=n}return s&&(s-=i+3),{data:u,pts:a,dts:r,len:s}}return null}class Qs{static getSilentFrame(e,n){if("mp4a.40.2"===e){if(1===n)return new Uint8Array([0,200,0,128,35,128]);if(2===n)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===n)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===n)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===n)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===n)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===n)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===n)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===n)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}const Js=Math.pow(2,32)-1;class Zs{static init(){let e;for(e in Zs.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},Zs.types)Zs.types.hasOwnProperty(e)&&(Zs.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);const n=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);Zs.HDLR_TYPES={video:n,audio:t};const s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i=new Uint8Array([0,0,0,0,0,0,0,0]);Zs.STTS=Zs.STSC=Zs.STCO=i,Zs.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Zs.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),Zs.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Zs.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);
vendor: 2,090 bytes, line 2
2const a=new Uint8Array([105,115,111,109]),r=new Uint8Array([97,118,99,49]),o=new Uint8Array([0,0,0,1]);Zs.FTYP=Zs.box(Zs.types.ftyp,a,o,a,r),Zs.DINF=Zs.box(Zs.types.dinf,Zs.box(Zs.types.dref,s))}static box(e,...n){let t=8,s=n.length;const i=s;for(;s--;)t+=n[s].byteLength;const a=new Uint8Array(t);for(a[0]=t>>24&255,a[1]=t>>16&255,a[2]=t>>8&255,a[3]=255&t,a.set(e,4),s=0,t=8;s<i;s++)a.set(n[s],t),t+=n[s].byteLength;return a}static hdlr(e){return Zs.box(Zs.types.hdlr,Zs.HDLR_TYPES[e])}static mdat(e){return Zs.box(Zs.types.mdat,e)}static mdhd(e,n){n*=e;const t=Math.floor(n/(Js+1)),s=Math.floor(n%(Js+1));return Zs.box(Zs.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,t>>24,t>>16&255,t>>8&255,255&t,s>>24,s>>16&255,s>>8&255,255&s,85,196,0,0]))}static mdia(e){return Zs.box(Zs.types.mdia,Zs.mdhd(e.timescale||0,e.duration||0),Zs.hdlr(e.type),Zs.minf(e))}static mfhd(e){return Zs.box(Zs.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?Zs.box(Zs.types.minf,Zs.box(Zs.types.smhd,Zs.SMHD),Zs.DINF,Zs.stbl(e)):Zs.box(Zs.types.minf,Zs.box(Zs.types.vmhd,Zs.VMHD),Zs.DINF,Zs.stbl(e))}static moof(e,n,t){return Zs.box(Zs.types.moof,Zs.mfhd(e),Zs.traf(t,n))}static moov(e){let n=e.length;const t=[];for(;n--;)t[n]=Zs.trak(e[n]);return Zs.box.apply(null,[Zs.types.moov,Zs.mvhd(e[0].timescale||0,e[0].duration||0)].concat(t).concat(Zs.mvex(e)))}static mvex(e){let n=e.length;const t=[];for(;n--;)t[n]=Zs.trex(e[n]);return Zs.box.apply(null,[Zs.types.mvex,...t])}static mvhd(e,n){n*=e;const t=Math.floor(n/(Js+1)),s=Math.floor(n%(Js+1)),i=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,t>>24,t>>16&255,t>>8&255,255&t,s>>24,s>>16&255,s>>8&255,255&s,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return Zs.box(Zs.types.mvhd,i)}static sdtp(e){const n=e.samples||[],t=new Uint8Array(4+n.length);let s,i;for(s=0;s<n.length;
vendor: 6,359 bytes, line 2
2s++)i=n[s].flags,t[s+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return Zs.box(Zs.types.sdtp,t)}static stbl(e){return Zs.box(Zs.types.stbl,Zs.stsd(e),Zs.box(Zs.types.stts,Zs.STTS),Zs.box(Zs.types.stsc,Zs.STSC),Zs.box(Zs.types.stsz,Zs.STSZ),Zs.box(Zs.types.stco,Zs.STCO))}static avc1(e){let n,t,s,i=[],a=[];for(n=0;n<e.sps.length;n++)t=e.sps[n],s=t.byteLength,i.push(s>>>8&255),i.push(255&s),i=i.concat(Array.prototype.slice.call(t));for(n=0;n<e.pps.length;n++)t=e.pps[n],s=t.byteLength,a.push(s>>>8&255),a.push(255&s),a=a.concat(Array.prototype.slice.call(t));const r=Zs.box(Zs.types.avcC,new Uint8Array([1,i[3],i[4],i[5],255,224|e.sps.length].concat(i).concat([e.pps.length]).concat(a))),o=e.width,l=e.height,c=e.pixelRatio[0],d=e.pixelRatio[1];return Zs.box(Zs.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,255&o,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),r,Zs.box(Zs.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Zs.box(Zs.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,255&c,d>>24,d>>16&255,d>>8&255,255&d])))}static esds(e){const n=e.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...n,6,1,2])}static audioStsd(e){const n=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,n>>8&255,255&n,0,0])}static mp4a(e){return Zs.box(Zs.types.mp4a,Zs.audioStsd(e),Zs.box(Zs.types.esds,Zs.esds(e)))}static mp3(e){return Zs.box(Zs.types[".mp3"],Zs.audioStsd(e))}static ac3(e){return Zs.box(Zs.types["ac-3"],Zs.audioStsd(e),Zs.box(Zs.types.dac3,e.config))}static stsd(e){const{segmentCodec:n}=e;if("audio"===e.type){if("aac"===n)return Zs.box(Zs.types.stsd,Zs.STSD,Zs.mp4a(e));if("ac3"===n&&e.config)return Zs.box(Zs.types.stsd,Zs.STSD,Zs.ac3(e));if("mp3"===n&&"mp3"===e.codec)return Zs.box(Zs.types.stsd,Zs.STSD,Zs.mp3(e))}else{if(!e.pps||!e.sps)throw new Error("video track missing pps or sps");if("avc"===n)return Zs.box(Zs.types.stsd,Zs.STSD,Zs.avc1(e));if("hevc"===n&&e.vps)return Zs.box(Zs.types.stsd,Zs.STSD,Zs.hvc1(e))}throw new Error(`unsupported ${e.type} segment codec (${n}/${e.codec})`)}static tkhd(e){const n=e.id,t=(e.duration||0)*(e.timescale||0),s=e.width||0,i=e.height||0,a=Math.floor(t/(Js+1)),r=Math.floor(t%(Js+1));return Zs.box(Zs.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,255&n,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,r>>24,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,255&s,0,0,i>>8&255,255&i,0,0]))}static traf(e,n){const t=Zs.sdtp(e),s=e.id,i=Math.floor(n/(Js+1)),a=Math.floor(n%(Js+1));return Zs.box(Zs.types.traf,Zs.box(Zs.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s])),Zs.box(Zs.types.tfdt,new Uint8Array([1,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,a>>24,a>>16&255,a>>8&255,255&a])),Zs.trun(e,t.length+16+20+8+16+8+8),t)}static trak(e){return e.duration=e.duration||4294967295,Zs.box(Zs.types.trak,Zs.tkhd(e),Zs.mdia(e))}static trex(e){const n=e.id;return Zs.box(Zs.types.trex,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,n){const t=e.samples||[],s=t.length,i=12+16*s,a=new Uint8Array(i);let r,o,l,c,d,u;for(n+=8+i,a.set(["video"===e.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n>>>24&255,n>>>16&255,n>>>8&255,255&n],0),r=0;r<s;r++)o=t[r],l=o.duration,c=o.size,d=o.flags,u=o.cts,a.set([l>>>24&255,l>>>16&255,l>>>8&255,255&l,c>>>24&255,c>>>16&255,c>>>8&255,255&c,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|d.isNonSync,61440&d.degradPrio,15&d.degradPrio,u>>>24&255,u>>>16&255,u>>>8&255,255&u],12+16*r);return Zs.box(Zs.types.trun,a)}static initSegment(e){Zs.types||Zs.init();const n=Zs.moov(e);return ue(Zs.FTYP,n)}static hvc1(e){const n=e.params,t=[e.vps,e.sps,e.pps],s=new Uint8Array([1,n.general_profile_space<<6|(n.general_tier_flag?32:0)|n.general_profile_idc,n.general_profile_compatibility_flags[0],n.general_profile_compatibility_flags[1],n.general_profile_compatibility_flags[2],n.general_profile_compatibility_flags[3],n.general_constraint_indicator_flags[0],n.general_constraint_indicator_flags[1],n.general_constraint_indicator_flags[2],n.general_constraint_indicator_flags[3],n.general_constraint_indicator_flags[4],n.general_constraint_indicator_flags[5],n.general_level_idc,240|n.min_spatial_segmentation_idc>>8,255&n.min_spatial_segmentation_idc,252|n.parallelismType,252|n.chroma_format_idc,248|n.bit_depth_luma_minus8,248|n.bit_depth_chroma_minus8,0,parseInt(n.frame_rate.fps),3|n.temporal_id_nested<<2|n.num_temporal_layers<<3|(n.frame_rate.fixed?64:0),t.length]);let i=s.length;for(let e=0;e<t.length;e+=1){i+=3;for(let n=0;n<t[e].length;n+=1)i+=2+t[e][n].length}const a=new Uint8Array(i);a.set(s,0),i=s.length;const r=t.length-1;for(let e=0;e<t.length;e+=1){a.set(new Uint8Array([32+e|(e===r?128:0),0,t[e].length]),i),i+=3;for(let n=0;n<t[e].length;n+=1)a.set(new Uint8Array([t[e][n].length>>8,255&t[e][n].length]),i),i+=2,a.set(t[e][n],i),i+=t[e][n].length}const o=Zs.box(Zs.types.hvcC,a),l=e.width,c=e.height,d=e.pixelRatio[0],u=e.pixelRatio[1];return Zs.box(Zs.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,c>>8&255,255&c,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,Zs.box(Zs.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Zs.box(Zs.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,u>>24,u>>16&255,u>>8&255,255&u])))}}Zs.types=void 0,Zs.HDLR_TYPES=void 0,Zs.STTS=void 0,Zs.STSC=void 0,Zs.STCO=void 0,Zs.STSZ=void 0,Zs.VMHD=void 0,Zs.SMHD=void 0,Zs.STSD=void 0,Zs.FTYP=void 0,Zs.DINF=void 0;function ei(e,n,t=1,s=!1){const i=e*n*t;return s?Math.round(i):i}function ni(e,n=!1){return ei(e,1e3,1/9e4,n)}let ti,si=null,ii=null;function ai(e,n,t,s){return{duration:n,size:t,cts:s,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}}class ri extends b{constructor(e,n,t,s){if(super("mp4-remuxer",s),this.observer=void 0,this.config=void 0,this.typeSupp
vendor: 8,193 bytes, line 2
2orted=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=n,this.typeSupported=t,this.ISGenerated=!1,null===si){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);si=e?parseInt(e[1]):0}if(null===ii){const e=navigator.userAgent.match(/Safari\/(\d+)/i);ii=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){this.log("initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let n=!1;const t=e[0].pts,s=e.reduce(((e,s)=>{let i=s.pts,a=i-e;return a<-4294967296&&(n=!0,i=oi(i,t),a=i-e),a>0?e:i}),t);return n&&this.debug("PTS rollover detected"),s}remux(e,n,t,s,i,a,r,o){let l,c,d,p,h,m,v=i,g=i;const f=e.pid>-1,_=n.pid>-1,b=n.samples.length,y=e.samples.length>0,w=r&&b>0||b>1;if((!f||y)&&(!_||w)||this.ISGenerated||r){if(this.ISGenerated){var k,T,E,x;const e=this.videoTrackConfig;(e&&(n.width!==e.width||n.height!==e.height||(null==(k=n.pixelRatio)?void 0:k[0])!==(null==(T=e.pixelRatio)?void 0:T[0])||(null==(E=n.pixelRatio)?void 0:E[1])!==(null==(x=e.pixelRatio)?void 0:x[1]))||!e&&w||null===this.nextAudioTs&&y)&&this.resetInitSegment()}this.ISGenerated||(d=this.generateIS(e,n,i,a));const t=this.isVideoContiguous;let s,r=-1;if(w&&(r=function(e){for(let n=0;n<e.length;n++)if(e[n].key)return n;return-1}(n.samples),!t&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,r>0){this.warn(`Dropped ${r} out of ${b} video samples due to a missing keyframe`);const e=this.getVideoStartPts(n.samples);n.samples=n.samples.slice(r),n.dropped+=r,g+=(n.samples[0].pts-e)/n.inputTimeScale,s=g}else-1===r&&(this.warn(`No keyframe found out of ${b} video samples`),m=!1);if(this.ISGenerated){if(y&&w){const t=this.getVideoStartPts(n.samples),s=(oi(e.samples[0].pts,t)-t)/n.inputTimeScale;v+=Math.max(0,s),g+=Math.max(0,-s)}if(y){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),d=this.generateIS(e,n,i,a)),c=this.remuxAudio(e,v,this.isAudioContiguous,a,_||w||o===u?g:void 0),w){const s=c?c.endPTS-c.startPTS:0;n.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),d=this.generateIS(e,n,i,a)),l=this.remuxVideo(n,g,t,s)}}else w&&(l=this.remuxVideo(n,g,t,0));l&&(l.firstKeyFrame=r,l.independent=-1!==r,l.firstKeyFramePTS=s)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(t.samples.length&&(h=li(t,i,this._initPTS,this._initDTS)),s.samples.length&&(p=ci(s,i,this._initPTS))),{audio:c,video:l,initSegment:d,independent:m,text:p,id3:h}}generateIS(e,n,t,s){const i=e.samples,a=n.samples,r=this.typeSupported,o={},l=this._initPTS;let c,d,u,p,h=!l||s,m="audio/mp4";if(h&&(c=d=1/0),e.config&&i.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":r.mpeg?(m="audio/mpeg",e.codec=""):r.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}o.audio={id:"audio",container:m,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&r.mpeg?new Uint8Array(0):Zs.initSegment([e]),metadata:{channelCount:e.channelCount}},h&&(p=e.id,u=e.inputTimeScale,l&&u===l.timescale?h=!1:c=d=i[0].pts-Math.round(u*t))}if(n.sps&&n.pps&&a.length){if(n.timescale=n.inputTimeScale,o.video={id:"main",container:"video/mp4",codec:n.codec,initSegment:Zs.initSegment([n]),metadata:{width:n.width,height:n.height}},h)if(p=n.id,u=n.inputTimeScale,l&&u===l.timescale)h=!1;else{const e=this.getVideoStartPts(a),n=Math.round(u*t);d=Math.min(d,oi(a[0].dts,e)-n),c=Math.min(c,e-n)}this.videoTrackConfig={width:n.width,height:n.height,pixelRatio:n.pixelRatio}}if(Object.keys(o).length)return this.ISGenerated=!0,h?(this._initPTS={baseTime:c,timescale:u},this._initDTS={baseTime:d,timescale:u}):c=u=void 0,{tracks:o,initPTS:c,timescale:u,trackId:p}}remuxVideo(e,n,t,r){const o=e.inputTimeScale,l=e.samples,c=[],d=l.length,u=this._initPTS,p=u.baseTime*o/u.timescale;let h,m,v=this.nextVideoTs,f=8,_=this.videoSampleDuration,b=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,w=!1;if(!t||null===v){const e=p+n*o,s=l[0].pts-oi(l[0].dts,l[0].pts);si&&null!==v&&Math.abs(e-s-(v+p))<15e3?t=!0:v=e-s-p}const k=v+p;for(let e=0;e<d;e++){const n=l[e];n.pts=oi(n.pts,k),n.dts=oi(n.dts,k),n.dts<l[e>0?e-1:e].dts&&(w=!0)}w&&l.sort((function(e,n){const t=e.dts-n.dts,s=e.pts-n.pts;return t||s})),h=l[0].dts,m=l[l.length-1].dts;const T=m-h,E=T?Math.round(T/(d-1)):_||e.inputTimeScale/30;if(t){const t=h-k,s=t>E,i=t<-1;if((s||i)&&(s?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${ni(t,!0)} ms (${t}dts) hole between fragments detected at ${n.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${ni(-t,!0)} ms (${t}dts) overlapping between fragments detected at ${n.toFixed(3)}`),!i||k>=l[0].pts||si)){h=k;const e=l[0].pts-t;if(s)l[0].dts=h,l[0].pts=e;else{let n=!0;for(let s=0;s<l.length&&!(l[s].dts>e&&n);s++){const e=l[s].pts;if(l[s].dts-=t,l[s].pts-=t,s<l.length-1){const t=l[s+1].pts;n=t<=l[s].pts==t<=e}}}this.log(`Video: Initial PTS/DTS adjusted: ${ni(e,!0)}/${ni(h,!0)}, delta: ${ni(t,!0)} ms`)}}h=Math.max(0,h);let x=0,S=0,A=h;for(let e=0;e<d;e++){const n=l[e],t=n.units,s=t.length;let i=0;for(let e=0;e<s;e++)i+=t[e].data.length;S+=i,x+=s,n.length=i,n.dts<A?(n.dts=A,A+=E/4|0||1):A=n.dts,b=Math.min(n.pts,b),y=Math.max(n.pts,y)}m=l[d-1].dts;const L=S+4*x+8;let C;try{C=new Uint8Array(L)}catch(e){return void this.observer.emit(a.ERROR,a.ERROR,{type:s.MUX_ERROR,details:i.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:L,reason:`fail allocating video mdat ${L}`})}const R=new DataView(C.buffer);R.setUint32(0,L),C.set(Zs.types.mdat,4);let I=!1,P=Number.POSITIVE_INFINITY,D=Number.POSITIVE_INFINITY,O=Number.NEGATIVE_INFINITY,M=Number.NEGATIVE_INFINITY;for(let e=0;e<d;e++){const n=l[e],t=n.units;let s,i=0;for(let e=0,n=t.length;e<n;e++){const n=t[e],s=n.data,a=n.data.byteLength;R.setUint32(f,a),f+=4,C.set(s,f),f+=a,i+=4+a}if(e<d-1)_=l[e+1].dts-n.dts,s=l[e+1].pts-n.pts;else{const t=this.config,i=e>0?n.dts-l[e-1].dts:E;if(s=e>0?n.pts-l[e-1].pts:E,t.stretchShortVideoTrack&&null!==this.nextAudioTs){const e=Math.floor(t.maxBufferHole*o),s=(r?b+r*o:this.nextAudioTs+p)-n.pts;s>e?(_=s-i,_<0?_=i:I=!0,this.log(`It is approximately ${s/90} ms to the next segment; using duration ${_/90} ms for the last video frame.`)):_=i}else _=i}const a=Math.round(n.pts-n.dts);P=Math.min(P,_),O=Math.max(O,_),D=Math.min(D,s),M=Math.max(M,s),c.push(ai(n.key,_,i,a))}if(c.length)if(si){if(si<70){const e=c[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(ii&&M-D<O-P&&E/O<.025&&0===c[0].cts){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let e=h;for(let n=0,t=c.length;n<t;n++){const s=e+c[n].duration,i=e+c[n].cts;if(n<t-1){const e=s+c[n+1].cts;c[n].duration=e-i}else c[n].duration=n?c[n-1].duration:E;c[n].cts=0,e=s}}_=I||!_?E:_;const F=m+_;this.nextVideoTs=v=F-p,this.videoSampleDuration=_,this.isVideoContiguous=!0;const N={data1:Zs.moof(e.sequenceNumber++,h,g(e,{samples:c})),data2:C,startPTS:(b-p)/o,endPTS:(y+_-p)/o,startDTS:(h-p)/o,endDTS:v/o,type:"video",hasAudio:!1,hasVideo:!0,nb:c.length,dropped:e.dropped};return e.samples=[],e.dropped=0,N}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}}remuxAudio(e,n,t,r,o){const l=e.inputTimeScale,c=l/(e.samplerate?e.samplerate:l),d=this.getSamplesPerFrame(e),u=d*c,p=this._initPTS,h="mp3"===e.segmentCodec&&this.typeSupported.mpeg,m=[],v=void 0!==o;let f=e.samples,_=h?0:8,b=this.nextAudioTs||-1;const y=p.baseTime*l/p.timescale,w=y+n*l;if(this.isAudioContiguous=t=t||f.length&&b>0&&(r&&Math.abs(w-(b+y))<9e3||Math.abs(oi(f[0].pts,w)-(b+y))<20*u),f.forEach((function(e){e.pts=oi(e.pts,w)})),!t||b<0){if(f=f.filter((e=>e.pts>=0)),!f.length)return;b=0===o?0:r&&!v?Math.max(0,w-y):f[0].pts-y}if("aac"===e.segmentCodec){const n=this.config.maxAudioFramesDrift;for(let t=0,s=b+y;t<f.length;t++){const i=f[t],a=i.pts,r=a-s,o=Math.abs(1e3*r/l);
vendor: 4,519 bytes, line 2
2if(r<=-n*u&&v)0===t&&(this.warn(`Audio frame @ ${(a/l).toFixed(3)}s overlaps marker by ${Math.round(1e3*r/l)} ms.`),this.nextAudioTs=b=a-y,s=a);else if(r>=n*u&&o<1e4&&v){let n=Math.round(r/u);for(s=a-n*u;s<0&&n&&u;)n--,s+=u;0===t&&(this.nextAudioTs=b=s-y),this.warn(`Injecting ${n} audio frames @ ${((s-y)/l).toFixed(3)}s due to ${Math.round(1e3*r/l)} ms gap.`);for(let a=0;a<n;a++){let n=Qs.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);n||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),n=i.unit.subarray()),f.splice(t,0,{unit:n,pts:s}),s+=u,t++}}i.pts=s,s+=u}}let k,T=null,E=null,x=0,S=f.length;for(;S--;)x+=f[S].unit.byteLength;for(let n=0,r=f.length;n<r;n++){const r=f[n],o=r.unit;let l=r.pts;if(null!==E)m[n-1].duration=Math.round((l-E)/c);else{if(t&&"aac"===e.segmentCodec&&(l=b+y),T=l,!(x>0))return;x+=_;try{k=new Uint8Array(x)}catch(e){return void this.observer.emit(a.ERROR,a.ERROR,{type:s.MUX_ERROR,details:i.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:x,reason:`fail allocating audio mdat ${x}`})}h||(new DataView(k.buffer).setUint32(0,x),k.set(Zs.types.mdat,4))}k.set(o,_);const u=o.byteLength;_+=u,m.push(ai(!0,d,u,0)),E=l}const A=m.length;if(!A)return;const L=m[m.length-1];b=E-y,this.nextAudioTs=b+c*L.duration;const C=h?new Uint8Array(0):Zs.moof(e.sequenceNumber++,T/c,g({},e,{samples:m}));e.samples=[];const R=(T-y)/l,I=b/l,P={data1:C,data2:k,startPTS:R,endPTS:I,startDTS:R,endDTS:I,type:"audio",hasAudio:!0,hasVideo:!1,nb:A};return this.isAudioContiguous=!0,P}}function oi(e,n){let t;if(null===n)return e;for(t=n<e?-8589934592:8589934592;Math.abs(e-n)>4294967296;)e+=t;return e}function li(e,n,t,s){const i=e.samples.length;if(!i)return;const a=e.inputTimeScale;for(let r=0;r<i;r++){const i=e.samples[r];i.pts=oi(i.pts-t.baseTime*a/t.timescale,n*a)/a,i.dts=oi(i.dts-s.baseTime*a/s.timescale,n*a)/a}const r=e.samples;return e.samples=[],{samples:r}}function ci(e,n,t){const s=e.samples.length;if(!s)return;const i=e.inputTimeScale;for(let a=0;a<s;a++){const s=e.samples[a];s.pts=oi(s.pts-t.baseTime*i/t.timescale,n*i)/i}e.samples.sort(((e,n)=>e.pts-n.pts));const a=e.samples;return e.samples=[],{samples:a}}function di(e,n,t=!1){return void 0!==(null==e?void 0:e.start)?(e.start+(t?e.duration:0))/e.timescale:n}function ui(e,n,t){const s=null==e?void 0:e.codec;return s&&s.length>4?s:n===U?"ec-3"===s||"ac-3"===s||"alac"===s?s:"fLaC"===s||"Opus"===s?Le(s,!1):(t.warn(`Unhandled audio codec "${s}" in mp4 MAP`),s||"mp4a"):(t.warn(`Unhandled video codec "${s}" in mp4 MAP`),s||"avc1")}try{ti=self.performance.now.bind(self.performance)}catch(e){ti=Date.now}const pi=[{demux:class{constructor(e,n){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=n}resetTimeStamp(){}resetInitSegment(e,n,t,s){const i=this.videoTrack=ws("video",1),a=this.audioTrack=ws("audio",1),r=this.txtTrack=ws("text",1);if(this.id3Track=ws("id3",1),this.timeOffset=0,null==e||!e.byteLength)return;const o=ie(e);if(o.video){const{id:e,timescale:n,codec:t,supplemental:s}=o.video;i.id=e,i.timescale=r.timescale=n,i.codec=t,i.supplemental=s}if(o.audio){const{id:e,timescale:n,codec:t}=o.audio;a.id=e,a.timescale=n,a.codec=t}r.id=X.text,i.sampleDuration=0,i.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return function(e){const n=e.byteLength;for(let t=0;t<n;){const s=Z(e,t);if(s>8&&109===e[t+4]&&111===e[t+5]&&111===e[t+6]&&102===e[t+7])return!0;t=s>1?t+s:n}return!1}(e)}demux(e,n){this.timeOffset=n;let t=e;const s=this.videoTrack,i=this.txtTrack;if(this.config.progressive){this.remainderData&&(t=ue(this.remainderData,e));const n=function(e){const n={valid:null,remainder:null},t=te(e,["moof"]);if(t.length<2)return n.remainder=e,n;const s=t[t.length-1];return n.valid=e.slice(0,s.byteOffset-8),n.remainder=e.slice(s.byteOffset-8),n}(t);this.remainderData=n.remainder,s.samples=n.valid||new Uint8Array}else s.samples=t;const a=this.extractID3Track(s,n);return i.samples=pe(n,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){const e=this.timeOffset,n=this.videoTrack,t=this.txtTrack;n.samples=this.remainderData||new Uint8Array,this.remainderData=null;const s=this.extractID3Track(n,this.timeOffset);return t.samples=pe(e,n),{videoTrack:n,audioTrack:ws(),id3Track:s,textTrack:ws()}}extractID3Track(e,t){const s=this.id3Track;if(e.samples.length){const i=te(e.samples,["emsg"]);
2i&&i.forEach((e=>{const i=function(e){const t=e[0];let s="",i="",a=0,r=0,o=0,l=0,c=0,d=0;if(0===t){for(;"\0"!==Q(e.subarray(d,d+1));)s+=Q(e.subarray(d,d+1)),d+=1;for(s+=Q(e.subarray(d,d+1)),d+=1;"\0"!==Q(e.subarray(d,d+1));)i+=Q(e.subarray(d,d+1)),d+=1;i+=Q(e.subarray(d,d+1)),d+=1,a=Z(e,12),r=Z(e,16),l=Z(e,20),c=Z(e,24),d=28}else if(1===t){d+=4,a=Z(e,d),d+=4;const t=Z(e,d);d+=4;const r=Z(e,d);for(d+=4,o=2**32*t+r,n(o)||(o=Number.MAX_SAFE_INTEGER,x.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),l=Z(e,d),d+=4,c=Z(e,d),d+=4;"\0"!==Q(e.subarray(d,d+1));)s+=Q(e.subarray(d,d+1)),d+=1;for(s+=Q(e.subarray(d,d+1)),d+=1;"\0"!==Q(e.subarray(d,d+1));)i+=Q(e.subarray(d,d+1)),d+=1;i+=Q(e.subarray(d,d+1)),d+=1}return{schemeIdUri:s,value:i,timeScale:a,presentationTime:o,presentationTimeDelta:r,eventDuration:l,id:c,payload:e.subarray(d,e.byteLength)}}(e);if(Fs.test(i.schemeIdUri)){const e=Ns(i,t);let n=4294967295===i.eventDuration?Number.POSITIVE_INFINITY:i.eventDuration/i.timeScale;n<=.001&&(n=Number.POSITIVE_INFINITY);const a=i.payload;s.samples.push({data:a,len:a.byteLength,dts:e,pts:e,type:ys.emsg,duration:n})}else if(this.config.enableEmsgKLVMetadata&&i.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){const e=Ns(i,t);s.samples.push({data:i.payload,len:i.payload.byteLength,dts:e,pts:e,type:ys.misbklv,duration:Number.POSITIVE_INFINITY})}}))}return s}demuxSampleAes(e,n,t){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}},remux:class extends b{constructor(e,n,t,s){super("passthrough-remuxer",s),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;const n=this.initPTS;n&&e&&n.baseTime===e.baseTime&&n.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,n,t,s){this.audioCodec=n,this.videoCodec=t,this.generateInitSegment(function(e,n){if(!e||!n)return e;const t=n.keyId;return t&&n.isCommonEncryption&&te(e,["moov","trak"]).forEach((e=>{const n=te(e,["mdia","minf","stbl","stsd"])[0].subarray(8);let s=te(n,["enca"]);const i=s.length>0;i||(s=te(n,["encv"])),s.forEach((e=>{te(i?e.subarray(28):e.subarray(78),["sinf"]).forEach((e=>{const n=de(e);if(n){const e=n.subarray(8,24);e.some((e=>0!==e))||(x.log(`[eme] Patching keyId in 'enc${i?"a":"v"}>sinf>>tenc' box: ${C(e)} -> ${C(t)}`),n.set(t,8))}}))}))})),e}(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:n,videoCodec:t}=this;if(null==e||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);const s=this.initData=ie(e);s.audio&&(n=ui(s.audio,U,this)),s.video&&(t=ui(s.video,j,this));const i={};s.audio&&s.video?i.audiovideo={container:"video/mp4",codec:n+","+t,supplemental:s.video.supplemental,initSegment:e,id:"main"}:s.audio?i.audio={container:"audio/mp4",codec:n,initSegment:e,id:"audio"}:s.video?i.video={container:"video/mp4",codec:t,supplemental:s.video.supplemental,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=i}remux(n,t,s,i,a,r){var o,l;let{initPTS:c,lastEndTime:d}=this;const u={audio:void 0,video:void 0,text:i,id3:s,initSegment:void 0};e(d)||(d=this.lastEndTime=a||0);const p=t.samples;if(null==p||!p.length)return u;const h={initPTS:void 0,timescale:void 0,trackId:void 0};let m=this.initData;if(null!=(o=m)&&o.length||(this.generateInitSegment(p),m=this.initData),null==(l=m)||!l.length)return this.warn("Failed to generate initSegment."),u;this.emitInitSegment&&(h.tracks=this.initTracks,this.emitInitSegment=!1);const v=function(n,t,s){const i={},a=te(n,["moof","traf"]);for(let n=0;n<a.length;n++){const r=a[n],o=te(r,["tfhd"])[0],l=Z(o,4),c=t[l];if(!c)continue;const d=i[l]||(i[l]={start:NaN,duration:0,sampleCount:0,timescale:c.timescale,type:c.type}),u=te(r,["tfdt"])[0];if(u){const n=u[0];let t=Z(u,4);
vendor: 1,135 bytes, line 2
21===n&&(t===Y?s.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(t*=Y+1,t+=Z(u,8))),e(t)&&(!e(d.start)||t<d.start)&&(d.start=t)}const p=c.default,h=Z(o,0)|(null==p?void 0:p.flags);let m=(null==p?void 0:p.duration)||0;8&h&&(m=Z(o,2&h?12:8));const v=te(r,["trun"]);let g=d.start||0,f=0,_=m;for(let e=0;e<v.length;e++){const n=v[e],t=Z(n,4),s=d.sampleCount;d.sampleCount+=t;const i=1&n[3],a=4&n[3],r=1&n[2],o=2&n[2],l=4&n[2],c=8&n[2];let u=8,p=t;for(i&&(u+=4),a&&t&&(1&n[u+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=s),u+=4,r?(_=Z(n,u),u+=4):_=m,o&&(u+=4),c&&(u+=4),g+=_,f+=_,p--);p--;)r?(_=Z(n,u),u+=4):_=m,o&&(u+=4),l&&(1&n[u+1]||void 0===d.keyFrameIndex&&(d.keyFrameIndex=d.sampleCount-(p+1),d.keyFrameStart=g),u+=4),c&&(u+=4),g+=_,f+=_;!f&&m&&(f+=m*t)}d.duration+=f}if(!Object.keys(i).some((e=>i[e].duration))){let t=1/0,s=0;const a=te(n,["sidx"]);for(let e=0;e<a.length;e++){const n=se(a[e]);if(null!=n&&n.references){t=Math.min(t,n.earliestPresentationTime/n.timescale);const e=n.references.reduce(((e,n)=>e+n.info.duration||0),0);s=Math.max(s,e+n.earliestPresentationTime/n.timescale)}}
2s&&e(s)&&Object.keys(i).forEach((e=>{i[e].duration||(i[e].duration=s*i[e].timescale-i[e].start)}))}return i}(p,m,this),g=m.audio?v[m.audio.id]:null,f=m.video?v[m.video.id]:null,_=di(f,1/0),b=di(g,1/0),y=di(f,0,!0),w=di(g,0,!0);let k,T=a,E=0;if(g&&(!f||!c&&b<_||c&&c.trackId===m.audio.id)?(h.trackId=m.audio.id,k=g,E=w-b):f&&(h.trackId=m.video.id,k=f,E=y-_),k){const e=k.timescale;T=k.start/e,h.initPTS=k.start-a*e,h.timescale=e,c||(this.initPTS=c={baseTime:h.initPTS,timescale:e,trackId:h.trackId})}!r&&c||!function(e,n,t,s){if(null===e)return!0;const i=Math.max(s,1),a=n-e.baseTime/e.timescale;return Math.abs(a-t)>i}(c,T,a,E)&&h.timescale===c.timescale||(h.initPTS=T-a,h.timescale=1,c&&1===c.timescale&&this.warn(`Adjusting initPTS @${a} from ${c.baseTime/c.timescale} to ${h.initPTS}`),this.initPTS=c={baseTime:h.initPTS,timescale:1});const x=n?T-c.baseTime/c.timescale:d,S=x+E;E>0?this.lastEndTime=S:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const A=!!m.audio,L=!!m.video;let C="";A&&(C+="audio"),L&&(C+="video");const R={data1:p,startPTS:x,startDTS:x,endPTS:S,endDTS:S,type:C,hasAudio:A,hasVideo:L,nb:1,dropped:0};u.audio=A&&!L?R:void 0,u.video=L?R:void 0;const I=null==f?void 0:f.sampleCount;if(I){const e=f.keyFrameIndex,n=-1!==e;R.nb=I,R.dropped=0===e||this.isVideoContiguous?0:n?e:I,R.independent=n,R.firstKeyFrame=e,n&&f.keyFrameStart&&(R.firstKeyFramePTS=(f.keyFrameStart-c.baseTime)/c.timescale),this.isVideoContiguous||(u.independent=n),this.isVideoContiguous||(this.isVideoContiguous=n),R.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${e}/${I} dropped: ${R.dropped} start: ${R.firstKeyFramePTS||"NA"}`)}return u.initSegment=h,u.id3=li(s,a,c,c),i.samples.length&&(u.text=ci(i,a,c)),u}}},{demux:qs,remux:ri},{demux:class extends ks{constructor(e,n){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=n}resetInitSegment(e,n,t,s){super.resetInitSegment(e,n,t,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:n,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e,n){if(!e)return!1;const t=ns(e,0);let s=(null==t?void 0:t.length)||0;if(Ds(e,s))return!1;for(let t=e.length;s<t;s++)if(rs(e,s))return n.log("ADTS sync word found !"),!0;return!1}canParse(e,n){return function(e,n){return function(e,n){return n+5<e.length}(e,n)&&ts(e,n)&&is(e,n)<=e.length-n}(e,n)}appendFrame(e,n,t){os(e,this.observer,n,t,e.manifestCodec);const s=cs(e,n,t,this.basePTS,this.frameIndex);if(s&&0===s.missing)return s}},remux:ri},{demux:class extends ks{resetInitSegment(e,n,t,s){super.resetInitSegment(e,n,t,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:n,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;const n=ns(e,0);let t=(null==n?void 0:n.length)||0;if(n&&11===e[t]&&119===e[t+1]&&void 0!==bs(n)&&Os(e,t)<=16)return!1;for(let n=e.length;t<n;t++)if(Ds(e,t))return x.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,n){return function(e,n){return Is(e,n)&&4<=e.length-n}(e,n)}appendFrame(e,n,t){if(null!==this.basePTS)return Cs(e,n,t,this.basePTS,this.frameIndex)}},remux:ri}];pi.splice(2,0,{demux:class extends ks{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,n,t,s){super.resetInitSegment(e,n,t,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:n,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,n){return n+64<e.length}appendFrame(e,n,t){const s=Ms(e,n,t,this.basePTS,this.frameIndex);if(-1!==s)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;const n=ns(e,0);if(!n)return!1;const t=n.length;return 11===e[t]&&119===e[t+1]&&void 0!==bs(n)&&Os(e,t)<16}},remux:ri});class hi{constructor(e,n,t,s,i,a){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupp
vendor: 4,590 bytes, line 2
2orted=n,this.config=t,this.id=i,this.logger=a}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,n,t,r){const o=t.transmuxing;o.executeStart=ti();let l=new Uint8Array(e);const{currentTransmuxState:c,transmuxConfig:d}=this;r&&(this.currentTransmuxState=r);const{contiguous:u,discontinuity:p,trackSwitch:h,accurateTimeOffset:m,timeOffset:v,initSegmentChange:g}=r||c,{audioCodec:f,videoCodec:_,defaultInitPts:b,duration:y,initSegmentData:w}=d,k=function(e,n){let t=null;return e.byteLength>0&&null!=(null==n?void 0:n.key)&&null!==n.iv&&null!=n.method&&(t=n),t}(l,n);if(k&&Kn(k.method)){const e=this.getDecrypter(),n=Vn(k.method);if(!e.isSync())return this.asyncResult=!0,this.decryptionPromise=e.webCryptoDecrypt(l,k.key.buffer,k.iv.buffer,n).then((e=>{const n=this.push(e,null,t);return this.decryptionPromise=null,n})),this.decryptionPromise;{let s=e.softwareDecrypt(l,k.key.buffer,k.iv.buffer,n);if(t.part>-1){const n=e.flush();s=n?n.buffer:n}if(!s)return o.executeEnd=ti(),mi(t);l=new Uint8Array(s)}}const T=this.needsProbing(p,h);if(T){const e=this.configureTransmuxer(l);if(e)return this.logger.warn(`[transmuxer] ${e.message}`),this.observer.emit(a.ERROR,a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),o.executeEnd=ti(),mi(t)}(p||h||g||T)&&this.resetInitSegment(w,f,_,y,n),(p||g||T)&&this.resetInitialTimestamp(b),u||this.resetContiguity();const E=this.transmux(l,k,v,m,t);this.asyncResult=vi(E);const x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,o.executeEnd=ti(),E}flush(e){const n=e.transmuxing;n.executeStart=ti();const{decrypter:t,currentTransmuxState:s,decryptionPromise:i}=this;if(i)return this.asyncResult=!0,i.then((()=>this.flush(e)));const a=[],{timeOffset:r}=s;if(t){const n=t.flush();n&&a.push(this.push(n.buffer,null,e))}const{demuxer:o,remuxer:l}=this;if(!o||!l){n.executeEnd=ti();const t=[mi(e)];return this.asyncResult?Promise.resolve(t):t}const c=o.flush(r);return vi(c)?(this.asyncResult=!0,c.then((n=>(this.flushRemux(a,n,e),a)))):(this.flushRemux(a,c,e),this.asyncResult?Promise.resolve(a):a)}flushRemux(e,n,t){const{audioTrack:s,videoTrack:i,id3Track:a,textTrack:r}=n,{accurateTimeOffset:o,timeOffset:l}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${t.sn}${t.part>-1?" part: "+t.part:""} of ${this.id===d?"level":"track"} ${t.level}`);const c=this.remuxer.remux(s,i,a,r,l,o,!0,this.id);e.push({remuxResult:c,chunkMeta:t}),t.transmuxing.executeEnd=ti()}resetInitialTimestamp(e){const{demuxer:n,remuxer:t}=this;n&&t&&(n.resetTimeStamp(e),t.resetTimeStamp(e))}resetContiguity(){const{demuxer:e,remuxer:n}=this;e&&n&&(e.resetContiguity(),n.resetNextTimestamp())}resetInitSegment(e,n,t,s,i){const{demuxer:a,remuxer:r}=this;a&&r&&(a.resetInitSegment(e,n,t,s),r.resetInitSegment(e,n,t,i))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,n,t,s,i){let a;return a=n&&"SAMPLE-AES"===n.method?this.transmuxSampleAes(e,n,t,s,i):this.transmuxUnencrypted(e,t,s,i),a}transmuxUnencrypted(e,n,t,s){const{audioTrack:i,videoTrack:a,id3Track:r,textTrack:o}=this.demuxer.demux(e,n,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(i,a,r,o,n,t,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,n,t,s,i){return this.demuxer.demuxSampleAes(e,n,t).then((e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,t,s,!1,this.id),chunkMeta:i})))}configureTransmuxer(e){const{config:n,observer:t,typeSupported:s}=this;let i;for(let n=0,t=pi.length;n<t;n++){var a;if(null!=(a=pi[n].demux)&&a.probe(e,this.logger)){i=pi[n];break}}if(!i)return new Error("Failed to find demuxer by probing fragment data");const r=this.demuxer,o=this.remuxer,l=i.remux,c=i.demux;o&&o instanceof l||(this.remuxer=new l(t,n,s,this.logger)),r&&r instanceof c||(this.demuxer=new c(t,n,s,this.logger),this.probe=c.probe)}needsProbing(e,n){return!this.demuxer||!this.remuxer||e||n}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new En(this.config)),e}}const mi=e=>({remuxResult:{},chunkMeta:e});function vi(e){return"then"in e&&e.then instanceof Function}class gi{constructor(e,n,t,s,i){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=n,this.initSegmentData=t,this.duration=s,this.defaultInitPts=i||null}}class fi{constructor(e,n,t,s,i,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOff
vendor: 3,298 bytes, line 2
2set=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=n,this.accurateTimeOffset=t,this.trackSwitch=s,this.timeOffset=i,this.initSegmentChange=a}}let _i=0;class bi{constructor(e,n,t,r){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=_i++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{const n=e.data,t=this.hls;if(t&&null!=n&&n.event&&n.instanceNo===this.instanceNo)switch(n.event){case"init":{var s;const e=null==(s=this.workerContext)?void 0:s.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(n.data);break;case"flush":this.onFlush(n.data);break;case"workerLog":t.logger[n.data.logType]&&t.logger[n.data.logType](n.data.message);break;default:n.data=n.data||{},n.data.frag=this.frag,n.data.part=this.part,n.data.id=this.id,t.trigger(n.event,n.data)}},this.onWorkerError=e=>{if(!this.hls)return;const n=new Error(`${e.message} (${e.filename}:${e.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:n})};const o=e.config;this.hls=e,this.id=n,this.useWorker=!!o.enableWorker,this.onTransmuxComplete=t,this.onFlush=r;const l=(e,n)=>{(n=n||{}).frag=this.frag||void 0,e===a.ERROR&&(n.parent=this.id,n.part=this.part,this.error=n.error),this.hls.trigger(e,n)};this.observer=new Wt,this.observer.on(a.FRAG_DECRYPTED,l),this.observer.on(a.ERROR,l);const c=Pe(o.preferManagedMediaSource);if(this.useWorker&&"undefined"!=typeof Worker){const t=this.hls.logger;if(o.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{o.workerPath?(t.log(`loading Web Worker ${o.workerPath} for "${n}"`),this.workerContext=function(e){const n=Qt[e];if(n)return n.clientCount++,n;const t=new self.URL(e,self.location.href).href,s={worker:new self.Worker(t),scriptURL:t,clientCount:1};return Qt[e]=s,s}(o.workerPath)):(t.log(`injecting Web Worker for "${n}"`),this.workerContext=function(){const e=Qt[Xt];if(e)return e.clientCount++,e;const n=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),t=self.URL.createObjectURL(n),s={worker:new self.Worker(t),objectURL:t,clientCount:1};return Qt[Xt]=s,s}());const{worker:e}=this.workerContext;e.addEventListener("message",this.onWorkerMessage),e.addEventListener("error",this.onWorkerError),e.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:c,id:n,config:Ve(o)})}catch(s){t.warn(`Error setting up "${n}" Web Worker, fallback to inline`,s),this.terminateWorker(),this.error=null,this.transmuxer=new hi(this.observer,c,o,"",n,e.logger)}return}}this.transmuxer=new hi(this.observer,c,o,"",n,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){const e=this.instanceNo;this.instanceNo=_i++;const n=this.hls.config,t=Pe(n.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:t,id:this.id,c
vendor: 4,516 bytes, line 2
2onfig:Ve(n)})}}terminateWorker(){if(this.workerContext){const{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),function(e){const n=Qt[e||Xt];if(n&&1==n.clientCount--){const{worker:t,objectURL:s}=n;delete Qt[e||Xt],s&&self.URL.revokeObjectURL(s),t.terminate()}}(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{const e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}const e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,n,t,s,i,a,r,o,l,c){var u,p;l.transmuxing.start=self.performance.now();const{instanceNo:h,transmuxer:m}=this,v=a?a.start:i.start,g=i.decryptdata,f=this.frag,_=!(f&&i.cc===f.cc),b=!(f&&l.level===f.level),y=f?l.sn-f.sn:-1,w=this.part?l.part-this.part.index:-1,k=0===y&&l.id>1&&l.id===(null==f?void 0:f.stats.chunkCount),T=!b&&(1===y||0===y&&(1===w||k&&w<=0)),E=self.performance.now();(b||y||0===i.stats.parsing.start)&&(i.stats.parsing.start=E),!a||!w&&T||(a.stats.parsing.start=E);const x=!(f&&(null==(u=i.initSegment)?void 0:u.url)===(null==(p=f.initSegment)?void 0:p.url)),S=new fi(_,T,o,b,v,x);if(!T||_||x){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${i.type} sn: ${l.sn}${l.part>-1?" part: "+l.part:""} ${this.id===d?"level":"track"}: ${l.level} id: ${l.id}\n discontinuity: ${_}\n trackSwitch: ${b}\n contiguous: ${T}\n accurateTimeOffset: ${o}\n timeOffset: ${v}\n initSegmentChange: ${x}`);const e=new gi(t,s,n,r,c);this.configureTransmuxer(e)}if(this.frag=i,this.part=a,this.workerContext)this.workerContext.worker.postMessage({instanceNo:h,cmd:"demux",data:e,decryptdata:g,chunkMeta:l,state:S},e instanceof ArrayBuffer?[e]:[]);else if(m){const n=m.push(e,g,l,S);vi(n)?n.then((e=>{this.handleTransmuxComplete(e)})).catch((e=>{this.transmuxerError(e,l,"transmuxer-interface push error")})):this.handleTransmuxComplete(n)}}flush(e){e.transmuxing.start=self.performance.now();const{instanceNo:n,transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"flush",chunkMeta:e});else if(t){const n=t.flush(e);vi(n)?n.then((n=>{this.handleFlushResult(n,e)})).catch((n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(n,e)}}transmuxerError(e,n,t){this.hls&&(this.error=e,this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_PARSING_ERROR,chunkMeta:n,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:t}))}handleFlushResult(e,n){e.forEach((e=>{this.handleTransmuxComplete(e)})),this.onFlush(n)}configureTransmuxer(e){const{instanceNo:n,transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:n,cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class yi extends b{constructor(e,n){super(n,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,n,t){const s=null==n?void 0:n.renditionReports;if(s){let i=-1;for(let t=0;t<s.length;t++){const a=s[t];let r;try{r=new self.URL(a.URI,n.url).href}catch(e){this.warn(`Could not construct new URL for Rendition Report: ${e}`),r=a.URI||""}if(r===e){i=t;break}r===e.substring(0,r.length)&&(i=t)}if(-1!==i){const e=s[i],a=parseInt(e["LAST-MSN"])||(null==n?void 0:n.lastPartSn);let r=parseInt(e["LAST-PART"])||(null==n?void 0:n.lastPartIndex);if(this.hls.config.lowLatencyMode){const e=Math.min(n.age-n.partTarget,n.targetduration);r>=0&&e>n.partTarget&&(r+=1)}const o=t&&Ge(t);return new ze(a,r>=0?r:void 0,o)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,n){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,n){if(n)try{return n.addDirectives(e)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}return e}playlistLoaded(n,t,r){const{details:o,stats:l}=t,c=self.performance.now(),d=l.loading.first?Math.max(0,c-l.loading.first):0;o.advancedDateTime=Date.now()-d;const u=this.hls.config.timelineOffset;
vendor: 1,966 bytes, line 2
2if(u!==o.appliedTimelineOffset){const e=Math.max(u||0,0);o.appliedTimelineOffset=e,o.fragments.forEach((n=>{n.start=n.playlistOffset+e}))}if(o.live||null!=r&&r.live){const u="levelInfo"in t?t.levelInfo:t.track;if(o.reloaded(r),r&&o.fragments.length>0){!function(n,t){if(n===t)return;let s=null;const i=n.fragments;for(let e=i.length-1;e>=0;e--){const n=i[e].initSegment;if(n){s=n;break}}let a;n.fragmentHint&&delete n.fragmentHint.endPTS,function(e,n,t){const s=n.skippedSegments,i=Math.max(e.startSN,n.startSN)-n.startSN,a=(e.fragmentHint?1:0)+(s?n.endSN:Math.min(e.endSN,n.endSN))-n.startSN,r=n.startSN-e.startSN,o=n.fragmentHint?n.fragments.concat(n.fragmentHint):n.fragments,l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let c=i;c<=a;c++){const i=l[r+c];let a=o[c];if(s&&!a&&i&&(a=n.fragments[c]=i),i&&a){if(t(i,a,c,o),i.url&&i.url!==a.url)return void(n.playlistParsingError=Ct(`media sequence mismatch ${a.sn}:`,e,n,0,a));if(i.cc!==a.cc)return void(n.playlistParsingError=Ct(`discontinuity sequence mismatch (${i.cc}!=${a.cc})`,e,n,0,a))}}}(n,t,((n,i,r,o)=>{if((!t.startCC||t.skippedSegments)&&i.cc!==n.cc){const e=n.cc-i.cc;for(let n=r;n<o.length;n++)o[n].cc+=e;t.endCC=o[o.length-1].cc}e(n.startPTS)&&e(n.endPTS)&&(i.setStart(i.startPTS=n.startPTS),i.startDTS=n.startDTS,i.maxStartPTS=n.maxStartPTS,i.endPTS=n.endPTS,i.endDTS=n.endDTS,i.minEndPTS=n.minEndPTS,i.setDuration(n.endPTS-n.startPTS),i.duration&&(a=i),t.PTSKnown=t.alignedSliding=!0),n.hasStreams&&(i.elementaryStreams=n.elementaryStreams),i.loader=n.loader,n.hasStats&&(i.stats=n.stats),n.initSegment&&(i.initSegment=n.initSegment,s=n.initSegment)}));const r=t.fragments,o=t.fragmentHint?r.concat(t.fragmentHint):r;if(s&&o.forEach((e=>{var n;!e||e.initSegment&&e.initSegment.relurl!==(null==(n=s)?void 0:n.relurl)||(e.initSegment=s)})),t.skippedSegments){if(t.deltaUpdateFailed=r.some((e=>!e)),t.deltaUpdateFailed){x.warn("[level-helper] Previous playlist missing segments ski
2pped in delta playlist");for(let e=t.skippedSegments;e--;)r.shift();t.startSN=r[0].sn}else{t.canSkipDateRanges&&(t.dateRanges=function(e,n){const{dateRanges:t,recentlyRemovedDateranges:s}=n,i=g({},e);s&&s.forEach((e=>{delete i[e]}));const a=Object.keys(i).length;return a&&Object.keys(t).forEach((e=>{const n=i[e],s=new zn(t[e].attr,n);s.isValid?(i[e]=s,n||(s.tagOrder+=a)):x.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${Ve(t[e].attr)}"`)})),i}(n.dateRanges,t));const e=n.fragments.filter((e=>e.rawProgramDateTime));if(n.hasProgramDateTime&&!t.hasProgramDateTime)for(let n=1;n<o.length;n++)null===o[n].programDateTime&&kt(o[n],o[n-1],e);gt(e,t)}t.endCC=r[r.length-1].cc}if(!t.startCC){var l;const e=Dt(n,t.startSN-1);t.startCC=null!=(l=null==e?void 0:e.cc)?l:r[0].cc}!function(e,n,t){if(e&&n){let s=0;for(let i=0,a=e.length;i<=a;i++){const a=e[i],r=n[i+s];a&&r&&a.index===r.index&&a.fragment.sn===r.fragment.sn?t(a,r):s--}}}(n.partList,t.partList,((e,n)=>{n.elementaryStreams=e.elementaryStreams,n.stats=e.stats})),a?Lt(t,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS):Rt(n,t),r.length&&(t.totalduration=t.edge-r[0].start),t.driftStartTime=n.driftStartTime,t.driftStart=n.driftStart;const c=t.advancedDateTime;if(t.advanced&&c){const e=t.edge;t.driftStart||(t.driftStartTime=c,t.driftStart=e),t.driftEndTime=c,t.driftEnd=e}else t.driftEndTime=n.driftEndTime,t.driftEnd=n.driftEnd,t.advancedDateTime=n.advancedDateTime;-1===t.requestScheduled&&(t.requestScheduled=n.requestScheduled)}(r,o);const n=o.playlistParsingError;if(n){this.warn(n);const e=this.hls;if(!e.config.ignorePlaylistParsingErrors){var p;const{networkDetails:r}=t;return void e.trigger(a.ERROR,{type:s.NETWORK_ERROR,details:i.LEVEL_PARSING_ERROR,fatal:!1,url:o.url,error:n,reason:n.message,level:t.level||void 0,parent:null==(p=o.fragments[0])?void 0:p.type,networkDetails:r,stats:l})}o.playlistParsingError=null}}-1===o.requestScheduled&&(o.requestScheduled=l.loading.start);const h=this.hls.mainForwardBufferInfo,m=h?h.end-h.len:0,v=Pt(o,1e3*(o.edge-m));if(o.requestScheduled+v<c?o.requestScheduled=c:o.requestScheduled+=v,this.log(`live playlist ${n} ${o.advanced?"REFRESHED "+o.lastPartSn+"-"+o.lastPartIndex:o.updated?"UPDATED":"MISSED"}`),!this.canLoad||!o.live)return;let f,_,b;if(o.canBlockReload&&o.endSN&&o.advanced){const e=this.hls.config.lowLatencyMode,n=o.lastPartSn,s=o.endSN,i=o.lastPartIndex,a=n===s;-1!==i?a?(_=s+1,b=e?0:i):(_=n,b=e?i+1:o.maxPartIndex):_=s+1;const l=o.age,d=l+o.ageHeader;let p=Math.min(d-o.partTarget,1.5*o.targetduration);if(p>0){if(d>3*o.targetduration)this.log(`Playlist last advanced ${l.toFixed(2)}s ago. Omitting segment and part directives.`),_=void 0,b=void 0;else if(null!=r&&r.tuneInGoal&&d-o.partTarget>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${p} with playlist age: ${o.age}`),p=0;else{const e=Math.floor(p/o.targetduration);_+=e,void 0!==b&&(b+=Math.round(p%o.targetduration/o.partTarget)),this.log(`CDN Tune-in age: ${o.ageHeader}s last advanced ${l.toFixed(2)}s goal: ${p} skip sn ${e} to part ${b}`)}o.tuneInGoal=p}if(f=this.getDeliveryDirectives(o,t.deliveryDirectives,_,b),e||!a)return o.requestScheduled=c,void this.loadingPlaylist(u,f)}else(o.canBlockReload||o.canSkipUntil)&&(f=this.getDeliveryDirectives(o,t.deliveryDirectives,_,b));f&&void 0!==_&&o.canBlockReload&&(o.requestScheduled=l.loading.first+Math.max(v-2*d,v/2)),this.scheduleLoading(u,f,o)}else this.clearTimer()}scheduleLoading(e,n,t){const s=t||e.details;if(!s)return void this.loadingPlaylist(e,n);const i=self.performance.now(),a=s.requestScheduled;if(i>=a)return void this.loadingPlaylist(e,n);const r=a-i;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(r)} ms`),this.clearTimer(),this.timer=self.setTimeout((()=>this.loadingPlaylist(e,n)),r)}getDeliveryDirectives(e,n,t,s){let i=Ge(e);return null!=n&&n.skip&&e.deltaUpdateFailed&&(t=n.msn,s=n.part,i=""),new ze(t,s,i)}checkRetry(e){const n=e.details,t=on(e),s=e.errorAction,{action:i,retryCount:a=0,retryConfig:r}=s||{},o=!!s&&!!r&&(5===i||!s.resolved&&2===i);if(o){var l;if(a>=r.maxNumRetry)return!1;if(t&&null!=(l=e.context)&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${r.maxNumRetry} after "${n}" without delivery-directives`),this.loadPlaylist();else{const e=cn(r,a);this.clearTimer(),this.timer=self.setTimeout((()=>this.loadPlaylist()),e),this.warn(`Retrying playlist loading ${a+1}/${r.maxNumRetry} after "${n}" in ${e}ms`)}e.levelRetry=!0,s.resolved=!0}return o}}function wi(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!ki(e[t].attrs,n[t].attrs))return!1;return!0}function ki(e,n,t){const s=e["STABLE-RENDITION-ID"];return s&&!t?s===n["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some((t=>e[t]!==n[t]))}function Ti(e,n){return n.label.toLowerCase()===e.name.toLowerCase()&&(!n.language||n.language.toLowerCase()===(e.lang||"").toLowerCase())}class Ei{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,n,t){if(null===this.queues||null===this.tracks)return;const s=this.queues[n];s.push(e),1!==s.length||t||this.executeNext(n)}appendBlocker(e){return new Promise((n=>{const t={label:"async-blocker",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(t,e)}))}prependBlocker(e){return new Promise((n=>{if(this.queues){const t={label:"async-blocker-prepend",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(t)}}))}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEac
vendor: 4,901 bytes, line 2
2h((e=>{var n;const t=null==(n=e[0])?void 0:n.label;"async-blocker"!==t&&"async-blocker-prepend"!==t||(e[0].execute(),e.splice(0,1))}))}unblockAudio(e){null!==this.queues&&this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(null===this.queues||null===this.tracks)return;const n=this.queues[e];if(n.length){const s=n[0];try{s.execute()}catch(n){var t;if(s.onError(n),null===this.queues||null===this.tracks)return;const i=null==(t=this.tracks[e])?void 0:t.buffer;null!=i&&i.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var n;return(null==(n=this.queues)?void 0:n[e][0])||null}toString(){const{queues:e,tracks:n}=this;return null===e||null===n?"<destroyed>":`\n${this.list("video")}\n${this.list("audio")}\n${this.list("audiovideo")}}`}list(e){var n,t;return null!=(n=this.queues)&&n[e]||null!=(t=this.tracks)&&t[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var n;const t=null==(n=this.tracks)?void 0:n[e],s=null==t?void 0:t.buffer;return s?`SourceBuffer${s.updating?" updating":""}${t.ended?" ended":""}${t.ending?" ending":""}`:"none"}listOps(e){var n;return(null==(n=this.queues)?void 0:n[e].map((e=>e.label)).join(", "))||""}}const xi=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Si="HlsJsTrackRemovedError";class Ai extends Error{constructor(e){super(e),this.name=Si}}function Li(e){const n=e.querySelectorAll("source");[].slice.call(n).forEach((n=>{e.removeChild(n)}))}function Ci(e){return"audio"===e?1:0}class Ri{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:e}=this;e.on(a.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(a.MANIFEST_PARSED,this.onManifestParsed,this),e.on(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(a.BUFFER_CODECS,this.onBufferCodecs,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:e}=this;e.off(a.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(a.MANIFEST_PARSED,this.onManifestParsed,this),e.off(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(a.BUFFER_CODECS,this.onBufferCodecs,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,n){const t=this.hls.levels[n.droppedLevel];this.isLevelAllowed(t)&&this.restrictedLevels.push({bitrate:t.bitrate,height:t.height,width:t.width})}onMediaAttaching(e,n){this.media=n.media instanceof HTMLVideoElement?n.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,n){const t=this.hls;this.restrictedLevels=[],this.firstLevel=n.firstLevel,t.config.capLevelToPlayerSize&&n.video&&this.startCapping()}onLevelsUpdated(n,t){this.timer&&e(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,n){this.hls.config.capLevelToPlayerSize&&n.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);const e=this.hls.levels;if(e.length){const n=this.hls,t=this.getMaxLevel(e.length-1);t!==this.autoLevelCapping&&n.logger.log(`Setting autoLevelCapping to ${t}: ${e[t].height}p@${e[t].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),n.autoLevelCapping=t,n.autoLevelEnabled&&n.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=n.autoLevelCapping}}}getMaxLevel(e){const n=this.hls.levels;if(!n.length)return-1;const t=n.filter(((n,t)=>this.isLevelAllowed(n)&&t<=e));return this.clientRect=null,Ri.getMaxLevelByMediaSize(t,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const e=this.media,n={width:0,height:0};if(e){const t=e.getBoundingClientRect();n.width=t.width,n.height=t.height,n.width||n.height||(n.width=t.right-t.left||e.
2width||0,n.height=t.bottom-t.top||e.height||0)}return this.clientRect=n,n}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some((n=>e.bitrate===n.bitrate&&e.width===n.width&&e.height===n.height))}static getMaxLevelByMediaSize(e,n,t){if(null==e||!e.length)return-1;let s=e.length-1;const i=Math.max(n,t);for(let n=0;n<e.length;n+=1){const t=e[n];if((t.width>=i||t.height>=i)&&(a=t,!(r=e[n+1])||a.width!==r.width||a.height!==r.height)){s=n;break}}var a,r;return s}}const Ii="m",Pi="a",Di="v",Oi="av",Mi="i",Fi="tt",Ni="h",$i="CMCD-Object",Bi="CMCD-Request",Ui="CMCD-Session",ji="CMCD-Status",Gi={[$i]:["br","d","ot","tb"],[Bi]:["bl","dl","mtp","nor","nrr","su"],[Ui]:["cid","pr","sf","sid","st","v"],[ji]:["bs","rtp"]};class zi{constructor(e,n){Array.isArray(e)&&(e=e.map((e=>e instanceof zi?e:new zi(e)))),this.value=e,this.params=n}}const qi="Dict";function Ki(e,n,t){return function(e,n,t,s){return new Error(`failed to ${e} "${i=n,Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":"object"==typeof i?JSON.stringify(i):String(i)}" as ${t}`,{cause:s});var i}("serialize",e,n,t)}class Vi{constructor(e){this.description=e}}const Hi="Bare Item",Yi="Boolean",Wi="Byte Sequence";const Xi="Integer";function Qi(e){if(function(e){return e<-999999999999999||999999999999999<e}(e))throw Ki(e,Xi);return e.toString()}function Ji(e,n){if(e<0)return-Ji(-e,n);const t=Math.pow(10,n);if(Math.abs(e*t%1-.5)<Number.EPSILON){const n=Math.floor(e*t);return(n%2==0?n:n+1)/t}return Math.round(e*t)/t}const Zi="Decimal";function ea(e){const n=Ji(e,3);if(Math.floor(Math.abs(n)).toString().length>12)throw Ki(e,Zi);const t=n.toString();return t.includes(".")?t:`${t}.0`}const na="String",ta=/[\x00-\x1f\x7f]+/,sa="Token";function ia(e){const n=(t=e).description||t.toString().slice(7,-1);var t;if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(n))throw Ki(n,sa);return n}function aa(n){switch(typeof n){case"number":if(!e(n))throw Ki(n,Hi);return Number.isInteger(n)?Qi(n):ea(n);case"string":return function(e){if(ta.test(e))throw Ki(e,na);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}(n);case"symbol":return ia(n);case"boolean":return function(e){if("boolean"!=typeof e)throw Ki(e,Yi);return e?"?1":"?0"}(n);case"object":if(n instanceof Date)return function(e){return`@${Qi(e.getTime()/1e3)}`}(n);if(n instanceof Uint8Array)return function(e){if(!1===ArrayBuffer.isView(e))throw Ki(e,Wi);return`:${n=e,btoa(String.fromCharCode(...n))}:`;var n}(n);if(n instanceof Vi)return ia(n);default:throw Ki(n,Hi)}}const ra="Key";function oa(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw Ki(e,ra);return e}function la(e){return null==e?"":Object.entries(e).map((([e,n])=>!0===n?`;${oa(e)}`:`;${oa(e)}=${aa(n)}`)).join("")}function ca(e){return e instanceof zi?`${aa(e.value)}${la(e.params)}`:aa(e)}const da=e=>Math.round(e),ua=e=>100*da(e/100),pa={br:da,d:da,bl:ua,dl:ua,mtp:ua,nor:(e,n)=>((null==n?void 0:n.baseUrl)&&(e=function(e,n){const t=new URL(e),s=new URL(n);if(t.origin!==s.origin)return e;const i=t.pathname.split("/").slice(1),a=s.pathname.split("/").slice(1,-1);for(;i[0]===a[0];)i.shift(),a.shift();for(;a.length;)a.shift(),i.unshift("..");return i.join("/")}(e,n.baseUrl)),encodeURIComponent(e)),rtp:ua,tb:da};function ha(n,t={}){return n?function(e,n){return function(e,n={whitespace:!0}){if("object"!=typeof e)throw Ki(e,qi);const t=e instanceof Map?e.entries():Object.entries(e),s=(null==n?void 0:n.whitespace)?" ":"";return Array.from(t).map((([e,n])=>{n instanceof zi==0&&(n=new zi(n));let t=oa(e);var s;return!0===n.value?t+=la(n.params):(t+="=",Array.isArray(n.value)?t+=`(${(s=n).value.map(ca).join(" ")})${la(s.params)}`:t+=ca(n)),t})).join(`,${s}`)}(e,n)}(function(n,t){const s={};if(null==n||"object"!=typeof n)return s;const i=Object.keys(n).sort(),a=g({},pa,null==t?void 0:t.formatters),r=null==t?void 0:t.filter;
2return i.forEach((i=>{if(null==r?void 0:r(i))return;let o=n[i];const l=a[i];l&&(o=l(o,t)),"v"===i&&1===o||"pr"==i&&1===o||function(n){return"number"==typeof n?e(n):null!=n&&""!==n&&!1!==n}(o)&&(function(e){return"ot"===e||"sf"===e||"st"===e}(i)&&"string"==typeof o&&(o=new Vi(o)),s[i]=o)})),s}(n,t),g({whitespace:!1},t)):""}const ma=/CMCD=[^&#]+/;function va(e,n,t,s){e&&Object.keys(n).forEach((i=>{const a=e.filter((e=>e.groupId===i)).map((e=>{const a=g({},e);return a.details=void 0,a.attrs=new jn(a.attrs),a.url=a.attrs.URI=ga(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),a.groupId=a.attrs["GROUP-ID"]=n[i],a.attrs["PATHWAY-ID"]=s,a}));e.push(...a)}))}function ga(e,n,t,s){const{HOST:i,PARAMS:a,[t]:r}=s;let o;n&&(o=null==r?void 0:r[n],o&&(e=o));const l=new self.URL(e);return i&&!o&&(l.host=i),a&&Object.keys(a).sort().forEach((e=>{e&&l.searchParams.set(e,a[e])})),l.href}function fa(e,n,t){_a(e,n,t),e.addEventListener(n,t)}function _a(e,n,t){e.removeEventListener(n,t)}class ba extends b{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=ba.CDMCleanupPromise?[ba.CDMCleanupPromise]:[],this.onMediaEncrypted=e=>{const{initDataType:n,initData:t}=e,s=`"${e.type}" event: init data type: "${n}"`;if(this.debug(s),null!==t){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);e.length||(e=it(this.config));const n=e.map(st).filter((e=>!!e));this.keyFormatPromise=this.getKeyFormatPromise(n)}this.keyFormatPromise.then((i=>{const a=nt(i);let r,o;if("sinf"===n){if(a!==Xn.FAIRPLAY)return void this.warn(`Ignoring unexpected "${e.type}" event with init data type: "${n}" for selected key-system ${a}`);const i=Q(new Uint8Array(t));try{const e=de(Hn(JSON.parse(i).sinf));if(!e)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");r=new Uint8Array(e.subarray(8,24)),o=Xn.FAIRPLAY}catch(e){return void this.warn(`${s} Failed to parse sinf: ${e}`)}}else{if(a!==Xn.WIDEVINE&&a!==Xn.PLAYREADY)return void this.warn(`Ignoring unexpected "${e.type}" event with init data type: "${n}" for selected key-system ${a}`);const i=function(e){const n=[];if(e instanceof ArrayBuffer){const t=e.byteLength;let s=0;for(;s+32<t;){const t=fe(new DataView(e,s));n.push(t),s+=t.size}}return n}(t),l=i.filter((e=>!!e.systemId&&tt(e.systemId)===a));l.length>1&&this.warn(`${s} Using first of ${l.length} pssh found for selected key-system ${a}`);const c=l[0];if(!c)return void(0===i.length||i.some((e=>!e.systemId))?this.warn(`${s} contains incomplete or invalid pssh data`):this.log(`ignoring ${s} for ${i.map((e=>tt(e.systemId))).join(",")} pssh data in favor of playlist keys`));if(o=tt(c.systemId),0===c.version&&c.data)if(o===Xn.WIDEVINE){const e=c.data.length-22;r=new Uint8Array(c.data.subarray(e,e+16))}else o===Xn.PLAYREADY&&(r=ot(c.data))}if(!o||!r)return;const l=C(r),{keyIdToKeySessionPromise:c,mediaKeySessions:d}=this;let u=c[l];for(let e=0;e<d.length;e++){const s=d[e],i=s.decryptdata;if(!i.keyId)continue;const a=C(i.keyId);if(l===a||-1!==i.uri.replace(/-/g,"").indexOf(l)){if(u=c[a],i.pssh)break;delete c[a],i.pssh=new Uint8Array(t),i.keyId=r,u=c[l]=u.then((()=>this.generateRequestWithPreferredKeySession(s,n,t,"encrypted-event-key-match"))),u.catch((e=>this.handleError(e)));break}}if(!u){if(o!==a)return void this.log(`Ignoring "${e.type}" event with ${o} init data for selected key-system ${a}`);u=c[l]=this.getKeySystemSelectionPromise([o]).then((({keySystem:e,mediaKeys:s})=>{var i;this.throwIfDestroyed();const a=new ct("ISO-23001-7",l,null!=(i=st(e))?i:"");return a.pssh=new Uint8Array(t),a.keyId=r,this.attemptSetMediaKeys(e,s).then((()=>{this.throwIfDestroyed();const i=this.createMediaKeySessionContext({decryptdata:a,keySystem:e,mediaKeys:s});return this.generateRequestWithPreferredKeySession(i,n,t,"encrypted-event-no-match")}))})),u.catch((e=>this.handleError(e)))}}))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();const e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}
vendor: 2,461 bytes, line 2
2registerListeners(){this.hls.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(a.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(a.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(a.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(a.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(a.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(a.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(a.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(a.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){const{drmSystems:n,widevineLicenseUrl:t}=this.config,s=n[e];return s?s.licenseUrl:e===Xn.WIDEVINE&&t?t:void 0}getLicenseServerUrlOrThrow(e){const n=this.getLicenseServerUrl(e);if(void 0===n)throw new Error(`no license server URL configured for key-system "${e}"`);return n}getServerCertificateUrl(e){const{drmSystems:n}=this.config,t=n[e];if(t)return t.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){const n=this.hls.levels,t=(e,n,t)=>!!e&&t.indexOf(e)===n,a=n.map((e=>e.audioCodec)).filter(t),r=n.map((e=>e.videoCodec)).filter(t);return a.length+r.length===0&&r.push("avc1.42e01e"),new Promise(((n,t)=>{const o=e=>{const l=e.shift();this.getMediaKeysPromise(l,a,r).then((e=>n({keySystem:l,mediaKeys:e}))).catch((n=>{e.length?o(e):t(n instanceof ya?n:new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_NO_ACCESS,error:n,fatal:!0},n.message))}))};o(e)}))}requestMediaKeySystemAccess(e,n){const{requestMediaKeySystemAccessFunc:t}=this.config;if("function"!=typeof t){let e=`Configured requestMediaKeySystemAccess is not a function ${t}`;return null===at&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(e))}return t(e,n)}getMediaKeysPromise(e,n,t){const s=function(e,n,t,s){let i;switch(e){case Xn.FAIRPLAY:i=["cenc","sinf"];break;case Xn.WIDEVINE:case Xn.PLAYREADY:i=["cenc"];break;case Xn.CLEARKEY:i=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${e}`)}return function(e,n,t,s){return[{initDataTypes:e,persistentState:s.persistentState||"optional",distinctiveIdentifier:s.distinctiveIdentifier||"optional",sessionTypes:s.sessionTypes||[s.sessionType||"temporary"],audioCapabilities:n.map((e=>({contentType:`audio/mp4; codecs=${e}
2`,robustness:s.audioRobustness||"",encryptionScheme:s.audioEncryptionScheme||null}))),videoCapabilities:t.map((e=>({contentType:`video/mp4; codecs=${e}`,robustness:s.videoRobustness||"",encryptionScheme:s.videoEncryptionScheme||null})))}]}(i,n,t,s)}(e,n,t,this.config.drmSystemOptions),i=this.keySystemAccessPromises[e];let a=null==i?void 0:i.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${Ve(s)}`),a=this.requestMediaKeySystemAccess(e,s);const n=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch((n=>{this.log(`Failed to obtain access to key-system "${e}": ${n}`)})),a.then((t=>{this.log(`Access for key-system "${t.keySystem}" obtained`);const s=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),n.mediaKeys=t.createMediaKeys().then((t=>(this.log(`Media-keys created for "${e}"`),n.hasMediaKeys=!0,s.then((n=>n?this.setMediaKeysServerCertificate(t,e,n):t))))),n.mediaKeys.catch((n=>{this.error(`Failed to create media-keys for "${e}"}: ${n}`)})),n.mediaKeys}))}return a.then((()=>i.mediaKeys))}createMediaKeySessionContext({decryptdata:e,keySystem:n,mediaKeys:t}){this.log(`Creating key-system session "${n}" keyId: ${C(e.keyId||[])}`);const s=t.createSession(),i={decryptdata:e,keySystem:n,mediaKeys:t,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(i),i}renewKeySession(e){const n=e.decryptdata;if(n.pssh){const t=this.createMediaKeySessionContext(e),s=this.getKeyIdString(n),i="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(t,i,n.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return C(e.keyId)}updateKeySession(e,n){var t;const s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${C((null==(t=e.decryptdata)?void 0:t.keyId)||[])}\n } (data length: ${n?n.byteLength:n})`),s.update(n)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map((e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys}))).filter((({hasMediaKeys:e})=>!!e)).map((({keySystem:e})=>st(e))).filter((e=>!!e))}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then((({keySystem:e,mediaKeys:n})=>this.attemptSetMediaKeys(e,n)))}selectKeySystem(e){return new Promise(((n,t)=>this.getKeySystemSelectionPromise(e).then((({keySystem:e})=>{const s=st(e);s?n(s):t(new Error(`Unable to find format for key-system "${e}"`))})).catch(t)))}selectKeySystemFormat(e){const n=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n)),this.keyFormatPromise}getKeyFormatPromise(e){const n=it(this.config),t=e.map(nt).filter((e=>!!e&&-1!==n.indexOf(e)));return this.selectKeySystem(t)}loadKey(e){const n=e.keyInfo.decryptdata,t=this.getKeyIdString(n),s=`(keyId: ${t} format: "${n.keyFormat}" method: ${n.method} uri: ${n.uri})`;this.log(`Starting session for key ${s}`);let i=this.keyIdToKeySessionPromise[t];return i||(i=this.getKeySystemForKeyPromise(n).then((({keySystem:t,mediaKeys:i})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(t,i).then((()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:t,mediaKeys:i,decryptdata:n}))))))),(this.keyIdToKeySessionPromise[t]=i.then((e=>{const t=n.pssh?n.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",t,"playlist-key")}))).catch((e=>this.handleError(e)))),i}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof ya?this.hls.trigger(a.ERROR,e.data):this.hls.trigger(a.ERROR,{type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}
2getKeySystemForKeyPromise(e){const n=this.getKeyIdString(e),t=this.keyIdToKeySessionPromise[n];if(!t){const n=nt(e.keyFormat),t=n?[n]:it(this.config);return this.attemptKeySystemAccess(t)}return t}getKeySystemSelectionPromise(e){if(e.length||(e=it(this.config)),0===e.length)throw new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${Ve({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,n){if(this.mediaKeys===n)return Promise.resolve();const t=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);const s=Promise.all(t).then((()=>{if(!this.media)throw this.mediaKeys=null,new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(n)}));return this.mediaKeys=n,this.setMediaKeysQueue.push(s),s.then((()=>{this.log(`Media-keys set for "${e}"`),t.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((e=>-1===t.indexOf(e)))}))}generateRequestWithPreferredKeySession(e,n,t,a){var r,o;const l=null==(r=this.config.drmSystems)||null==(o=r[e.keySystem])?void 0:o.generateRequest;if(l)try{const s=l.call(this.hls,n,t,e);if(!s)throw new Error("Invalid response from configured generateRequest filter");n=s.initDataType,t=s.initData?s.initData:null,e.decryptdata.pssh=t?new Uint8Array(t):null}catch(e){var c;if(this.warn(e.message),null!=(c=this.hls)&&c.config.debug)throw e}if(null===t)return this.log(`Skipping key-session request for "${a}" (no initData)`),Promise.resolve(e);const d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${a}": ${d} (init data type: ${n} length: ${t?t.byteLength:null})`);const u=new Wt,p=e._onmessage=n=>{const t=e.mediaKeysSession;if(!t)return void u.emit("error",new Error("invalid state"));const{messageType:s,message:i}=n;this.log(`"${s}" message event for session "${t.sessionId}" message size: ${i.byteLength}`),"license-request"===s||"license-renewal"===s?this.renewLicense(e,i).catch((e=>{u.eventNames().length?u.emit("error",e):this.handleError(e)})):"license-release"===s?e.keySystem===Xn.FAIRPLAY&&(this.updateKeySession(e,Yn("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${s}"`)},h=e._onkeystatuseschange=n=>{if(!e.mediaKeysSession)return void u.emit("error",new Error("invalid state"));this.onKeyStatusChange(e);const t=e.keyStatus;u.emit("keyStatus",t),"expired"===t&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};fa(e.mediaKeysSession,"message",p),fa(e.mediaKeysSession,"keystatuseschange",h);const m=new Promise(((e,n)=>{u.on("error",n),u.on("keyStatus",(t=>{t.startsWith("usable")?e():"output-restricted"===t?n(new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===t?n(new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${t}"`)):"expired"===t?n(new Error("key expired while generating request")):this.warn(`unhandled key status change "${t}"`)}))}));return e.mediaKeysSession.generateRequest(n,t).then((()=>{var n;this.log(`Request generated for key-session "${null==(n=e.mediaKeysSession)?void 0:n.sessionId}" keyId: ${d}`)})).catch((e=>{throw new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_NO_SESSION,error:e,fatal:!1},`Error generating key-session request: ${e}`)})).then((()=>m)).catch((n=>{throw u.removeAllListeners(),this.removeSession(e),n})).then((()=>(u.removeAllListeners(),e)))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach(((n,t)=>{if("string"==typeof t&&"object"==typeof n){const e=t;t=n,n=e}this.log(`key status change "${n}" for keyStatuses keyId: ${C("buffer"in t?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t))} session keyId: ${C(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=n}))}fetchServerCertificate(e){const n=this.config,t=new(0,n.loader)(n),a=this.getServerCertificateUrl(e);return a?(this.log(`Fetching server certificate for "${e}"`),new Promise(((r,o)=>{const l={responseType:"arraybuffer",url:a}
vendor: 2,066 bytes, line 2
2,c=n.certLoadPolicy.default,d={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(e,n,t,s)=>{r(e.data)},onError:(n,t,r,c)=>{o(new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:_({url:l.url,data:void 0},n)},`"${e}" certificate request failed (${a}). Status: ${n.code} (${n.text})`))},onTimeout:(n,t,r)=>{o(new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${a})`))},onAbort:(e,n,t)=>{o(new Error("aborted"))}};t.load(l,d,u)}))):Promise.resolve()}setMediaKeysServerCertificate(e,n,t){return new Promise(((a,r)=>{e.setServerCertificate(t).then((s=>{this.log(`setServerCertificate ${s?"success":"not supported by CDM"} (${null==t?void 0:t.byteLength}) on "${n}"`),a(e)})).catch((e=>{r(new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))}))}))}renewLicense(e,n){return this.requestLicense(e,new Uint8Array(n)).then((n=>this.updateKeySession(e,new Uint8Array(n)).catch((e=>{throw new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:e,fatal:!0},e.message)}))))}unpackPlayReadyKeyMessage(e,n){const t=String.fromCharCode.apply(null,new Uint16Array(n.buffer));if(!t.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),n;const s=(new DOMParser).parseFromString(t,"application/xml"),i=s.querySelectorAll("HttpHeader");if(i.length>0){let n;for(let t=0,s=i.length;t<s;t++){var a,r;n=i[t];const s=null==(a=n.querySelector("name"))?void 0:a.textContent,o=null==(r=n.querySelector("value"))?void 0:r.textContent;s&&o&&e.setRequestHeader(s,o)}}const o=s.querySelector("Challenge"),l=null==o?void 0:o.textContent;if(!l)throw new Error("Cannot find <Challenge> in key message");return Yn(atob(l))}setupLicenseXHR(e,n,t,s){const i=this.config.licenseXhrSetup;return i?Promise.resolve().then((()=>
2{if(!t.decryptdata)throw new Error("Key removed");return i.call(this.hls,e,n,t,s)})).catch((a=>{if(!t.decryptdata)throw a;return e.open("POST",n,!0),i.call(this.hls,e,n,t,s)})).then((t=>(e.readyState||e.open("POST",n,!0),{xhr:e,licenseChallenge:t||s}))):(e.open("POST",n,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,n){const t=this.config.keyLoadPolicy.default;return new Promise(((a,r)=>{const o=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${o}`);const l=new XMLHttpRequest;l.responseType="arraybuffer",l.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(new Error("invalid state"));if(4===l.readyState)if(200===l.status){this._requestLicenseFailureCount=0;let n=l.response;this.log(`License received ${n instanceof ArrayBuffer?n.byteLength:n}`);const t=this.config.licenseResponseCallback;if(t)try{n=t.call(this.hls,l,o,e)}catch(e){this.error(e)}a(n)}else{const c=t.errorRetry,d=c?c.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||l.status>=400&&l.status<500)r(new ya({type:s.KEY_SYSTEM_ERROR,details:i.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:l,response:{url:o,data:void 0,code:l.status,text:l.statusText}},`License Request XHR failed (${o}). Status: ${l.status} (${l.statusText})`));else{const t=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${t} attempts left`),this.requestLicense(e,n).then(a,r)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=l,this.setupLicenseXHR(l,o,e,n).then((({xhr:n,licenseChallenge:t})=>{e.keySystem==Xn.PLAYREADY&&(t=this.unpackPlayReadyKeyMessage(n,t)),n.send(t)}))}))}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,n){if(!this.config.emeEnabled)return;const t=n.media;this.media=t,fa(t,"encrypted",this.onMediaEncrypted),fa(t,"waitingforkey",this.onWaitingForKey)}onMediaDetached(){const e=this.media;e&&(_a(e,"encrypted",this.onMediaEncrypted),_a(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;if(this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},!this.mediaKeys&&!this.mediaKeySessions.length)return;const n=this.media,t=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,ct.clearKeyUriToKeyIdMap();const r=t.length;ba.CDMCleanupPromise=Promise.all(t.map((e=>this.removeSession(e))).concat(null==n||null==(e=n.setMediaKeys(null))?void 0:e.catch((e=>{var n;this.log(`Could not clear media keys: ${e}`),null==(n=this.hls)||n.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error(`Could not clear media keys: ${e}`)})})))).catch((e=>{var n;this.log(`Could not close sessions and clear media keys: ${e}`),null==(n=this.hls)||n.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close sessions and clear media keys: ${e}`)})})).then((()=>{r&&this.log("finished closing key sessions and clearing media keys")}))}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:n}){if(n&&this.config.emeEnabled&&!this.keyFormatPromise){const e=n.reduce(((e,n)=>(-1===e.indexOf(n.keyFormat)&&e.push(n.keyFormat),e)),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){const{mediaKeysSession:n,licenseXhr:t}=e;if(n){this.log(`Remove licenses and keys and close session ${n.sessionId}`),e._onmessage&&(n.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(n.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),t&&t.readyState!==XMLHttpRequest.DONE&&t.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;const r=this.mediaKeySessions.indexOf(e);r>-1&&this.mediaKeySessions.splice(r,1);const{drmSystemOptions:o}=this.config,l=function(e){var n;return"persistent-license"===e.sessionType||!(null==(n=e.sessionTypes)||!n.some((e=>"persistent-license"===e)))}(o)?new Promise(((e,t)=>{self.setTimeout((()=>t(new Error("MediaKeySession.remove() timeout"))),8e3),n.remove().then(e)})):Promise.resolve();return l.catch((e=>{var n;this.log(`Could not remove session: ${e}`),null==(n=this.hls)||n.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error(`Could not remove session: ${e}`)})})).then((()=>n.close())).catch((e=>{var n;this.log(`Could not close session: ${e}`),null==(n=this.hls)||n.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close session: ${e}`)})}))}}}ba.CDMCleanupPromise=void 0;
2class ya extends Error{constructor(e,n){super(n),this.data=void 0,e.error||(e.error=new Error(n)),this.data=e,e.err=e.error}}function wa(e,n){let t;try{t=new Event("addtrack")}catch(e){t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=e,n.dispatchEvent(t)}function ka(e,n){const t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(n.id))try{if(e.addCue(n),!e.cues.getCueById(n.id))throw new Error(`addCue is failed for: ${n}`)}catch(t){x.debug(`[texttrack-utils]: ${t}`);try{const t=new self.TextTrackCue(n.startTime,n.endTime,n.text);t.id=n.id,e.addCue(t)}catch(e){x.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===t&&(e.mode=t)}function Ta(e,n){const t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(let t=e.cues.length;t--;)n&&e.cues[t].removeEventListener("enter",n),e.removeCue(e.cues[t]);"disabled"===t&&(e.mode=t)}function Ea(e,n,t,s){const i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&e.cues.length>0){const i=function(e,n,t){const s=[],i=function(e,n){if(n<=e[0].startTime)return 0;const t=e.length-1;if(n>e[t].endTime)return-1;let s,i=0,a=t;for(;i<=a;)if(s=Math.floor((a+i)/2),n<e[s].startTime)a=s-1;else{if(!(n>e[s].startTime&&i<t))return s;i=s+1}return e[i].startTime-n<n-e[a].startTime?i:a}(e,n);if(i>-1)for(let a=i,r=e.length;a<r;a++){const i=e[a];if(i.startTime>=n&&i.endTime<=t)s.push(i);else if(i.startTime>t)return s}return s}(e.cues,n,t);for(let n=0;n<i.length;n++)s&&!s(i[n])||e.removeCue(i[n])}"disabled"===i&&(e.mode=i)}function xa(e){const n=[];for(let t=0;t<e.length;t++){const s=e[t];"subtitles"!==s.kind&&"captions"!==s.kind||!s.label||n.push(e[t])}return n}function Sa(e){let n=5381,t=e.length;for(;t;)n=33*n^e.charCodeAt(--t);return(n>>>0).toString()}const Aa=.025;let La=function(e){return e[e.Point=0]="Point",e[e.Range=1]="Range",e}({});function Ca(e,n,t){return`${e.identifier}-${t+1}-${Sa(n)}`}class Ra{constructor(e,n){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=n,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null==(e=this.assetListLoader)||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var n;if(e>0&&e>=this.assetList.length)return!0;const t=this.playoutLimit;return!(e<=0||isNaN(t))&&(0===t||((null==(n=this.assetList[e])?void 0:n.startOffset)||0)>t)}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){const e=this.dateRange.startTime;if(this.snapOptions.out){const n=this.dateRange.tagAnchor;if(n)return Ia(e,n)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(0===this.startTime||this.snapOptions.out)return!0;const e=this.dateRange.tagAnchor;if(e){const n=this.dateRange.startTime;return n-Ia(n,e)<.1}return!1}get resumptionOffset(){const n=this.resumeOffset,t=e(n)?n:this.duration;return this.cumulativeDuration+t}get resumeTime(){const e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){const n=this.resumeAnchor;if(n)return Ia(e,n)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!(this.cue.once||this.cue.pre||!this.startIsAligned||!(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<Aa))}set appendInPlace(e){this.appendInPlaceStarted?this.resetOnResume=!e:this.appendInPlaceDisabled=!e}get timelineStart(){return null!==this._timelineStart?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){const e=this.playoutLimit;let n;return n=null!==this._duration?this._duration:this.dateRange.duration?this.dateRange.duration:this.dateRange.plannedDuration||0,!isNaN(e)&&e<n&&(n=e),n}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return"RANGE"===this.dateRange.attr["X-TIMELINE-OCCUPIES"]?La.Range:La.Point}get supplementsPrimary(){return"PRIMARY"===this.dateRange.attr["X-TIMELINE-STYLE"]}get contentMayVary(){return"NO"!==this.dateRange.attr["X-CONTENT-MAY-VARY"]}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||null!==this.assetListResponse}toString(){return`["${(e=this).identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`;var e}}function Ia(e,n){return e-n.start<n.duration/2&&!(Math.abs(e-(n.start+n.duration))<Aa)?n.start:n.start+n.duration}function Pa(e,n,t){const s=new self.URL(e,t);return"data:"!==s.protocol&&s.searchParams.set("_HLS_primary_id",n),s}function Da(e,n){for(;null!=(t=e.assetList[++n])&&t.error;)var t;return n}function Oa(e){const n=e.timelineStart,t=e.duration||0;return`["${e.identifier}" ${n.toFixed(2)}-${(n+t).toFixed(2)}]`}class Ma{constructor(e,n,t,s){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetail
2s=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls.trigger(a.PLAYOUT_LIMIT_REACHED,{})};const i=this.hls=new e(n);this.interstitial=t,this.assetItem=s;let r=s.uri;try{r=Pa(r,n.primarySessionId).href}catch(e){}i.loadSource(r);const o=()=>{this.hasDetails=!0};i.once(a.LEVEL_LOADED,o),i.once(a.AUDIO_TRACK_LOADED,o),i.once(a.SUBTITLE_TRACK_LOADED,o),i.on(a.MEDIA_ATTACHING,((e,{media:n})=>{this.removeMediaListeners(),this.mediaAttached=n,this.interstitial.playoutLimit&&(n.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&i.on(a.BUFFER_APPENDED,(()=>{const e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,i.trigger(a.BUFFERED_TO_END,void 0))})))}))}get appendInPlace(){var e;return(null==(e=this.interstitial)?void 0:e.appendInPlace)||!1}bufferedInPlaceToEnd(e){var n;if(!this.appendInPlace)return!1;if(null!=(n=this.hls)&&n.bufferedToEnd)return!0;if(!e||!this._bufferedEosTime)return!1;const t=this.timelineOffset,s=Dn.bufferInfo(e,t,0);return this.getAssetTime(s.end)>=this._bufferedEosTime-.02}reachedPlayout(e){const n=this.interstitial.playoutLimit;return this.startOffset+e>=n}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){const e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;const n=Dn.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(n.end)}get currentTime(){const e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){return this.assetItem.duration||0}get remaining(){const e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return(null==(e=this.hls)?void 0:e.config.timelineOffset)||0}set timelineOffset(e){const n=this.timelineOffset;if(e!==n){const t=e-n;if(Math.abs(t)>1/9e4){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){const n=this.timelineOffset,t=this.duration;return Math.min(Math.max(0,e-n),t)}removeMediaListeners(){const e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){var e;this.mediaAttached&&null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}destroy(){this.removeMediaListeners(),this.hls.destroy(),this.hls=this.interstitial=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){this.hls.attachMedia(e)}detachMedia(){this.removeMediaListeners(),this.mediaAttached=null,this.hls.detachMedia()}resumeBuffering(){this.hls.resumeBuffering()}pauseBuffering(){this.hls.pauseBuffering()}transferMedia(){return this.bufferSnapShot(),this.hls.transferMedia()}resetDetails(){const e=this.hls;if(this.hasDetails){e.stopLoad();const n=e=>delete e.details;e.levels.forEach(n),e.allAudioTracks.forEach(n),e.allSubtitleTracks.forEach(n),this.hasDetails=!1}}on(e,n,t){this.hls.on(e,n)}once(e,n,t){this.hls.once(e,n)}off(e,n,t){this.hls.off(e,n)}toString(){var e;return`HlsAssetPlayer: ${Oa(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}class Fa extends b{constructor(e,n){super("interstitials-sched",n),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={},this.setDurations(0,0,0),this.events&&this.events.forEach((e=>e.reset())),this.events=this.items=null}resetErrorsInRange(e,n){return this.events?this.events.reduce(((t,s)=>e<=s.startOffset&&n>s.startOffset?(delete s.error,t+1):t),0):0}get duration(){const e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,n){if(e.event)return this.findEventIndex(e.event.i
2dentifier);let t=-1;e.nextEvent?t=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(t=this.findEventIndex(e.previousEvent.identifier)+1);const s=this.items;if(s)for(s[t]||(void 0===n&&(n=e.start),t=this.findItemIndexAtTime(n));t>=0&&null!=(i=s[t])&&i.event;){var i;t--}return t}findItemIndexAtTime(e,n){const t=this.items;if(t)for(let s=0;s<t.length;s++){let i=t[s];if(n&&"primary"!==n&&(i=i[n]),e===i.start||e>i.start&&e<i.end)return s}return-1}findJumpRestrictedIndex(e,n){const t=this.items;if(t)for(let s=e;s<=n&&t[s];s++){const e=t[s].event;if(null!=e&&e.restrictions.jump&&!e.appendInPlace)return s}return-1}findEventIndex(e){const n=this.items;if(n)for(let s=n.length;s--;){var t;if((null==(t=n[s].event)?void 0:t.identifier)===e)return s}return-1}findAssetIndex(e,n){const t=e.assetList,s=t.length;if(s>1)for(let e=0;e<s;e++){const s=t[e];if(!s.error){const t=s.timelineStart;if(n===t||n>t&&n<t+(s.duration||0))return e}}return 0}get assetIdAtEnd(){var e,n;const t=null==(e=this.items)||null==(n=e[this.length-1])?void 0:n.event;if(t){const e=t.assetList,n=e[e.length-1];if(n)return n.identifier}return null}parseInterstitialDateRanges(e,n){const t=e.main.details,{dateRanges:s}=t,i=this.events,a=this.parseDateRanges(s,{url:t.url},n),r=Object.keys(s),o=i?i.filter((e=>!r.includes(e.identifier))):[];a.length&&a.sort(((e,n)=>{const t=e.cue.pre,s=e.cue.post,i=n.cue.pre,a=n.cue.post;if(t&&!i)return-1;if(i&&!t)return 1;if(s&&!a)return 1;if(a&&!s)return-1;if(!(t||i||s||a)){const t=e.startTime,s=n.startTime;if(t!==s)return t-s}return e.dateRange.tagOrder-n.dateRange.tagOrder})),this.events=a,o.forEach((e=>{this.removeEvent(e)})),this.updateSchedule(e,o)}updateSchedule(e,n=[]){const t=this.events||[];
2if(t.length||n.length||this.length<2){const s=this.items,i=this.parseSchedule(t,e);(n.length||(null==s?void 0:s.length)!==i.length||i.some(((e,n)=>Math.abs(e.playout.start-s[n].playout.start)>.005||Math.abs(e.playout.end-s[n].playout.end)>.005)))&&(this.items=i,this.onScheduleUpdate(n,s))}}parseDateRanges(e,n,t){const s=[],i=Object.keys(e);for(let a=0;a<i.length;a++){const r=i[a],o=e[r];if(o.isInterstitial){let e=this.eventMap[r];e?e.setDateRange(o):(e=new Ra(o,n),this.eventMap[r]=e,!1===t&&(e.appendInPlace=t)),s.push(e)}}return s}parseSchedule(e,n){const t=[],s=n.main.details,i=s.live?1/0:s.edge;let a=0;if((e=e.filter((e=>!(e.error||e.cue.once&&e.hasPlayed)))).length){this.resolveOffsets(e,n);let s=0,o=0;if(e.forEach(((n,r)=>{const l=n.cue.pre,c=n.cue.post,d=e[r-1]||null,u=n.appendInPlace,p=c?i:n.startOffset,h=n.duration,m=n.timelineOccupancy===La.Range?h:0,v=n.resumptionOffset,g=(null==d?void 0:d.startTime)===p,f=p+n.cumulativeDuration;let _=u?f+h:p+v;if(l||!c&&p<=0){const e=o;o+=m,n.timelineStart=f;const s=a;a+=h,t.push({event:n,start:f,end:_,playout:{start:s,end:a},integrated:{start:e,end:o}})}else{if(!(p<=i))return;{if(!g){const i=p-s;if(i>.033){const l=s,c=o;o+=i;const d=a;a+=i;const u={previousEvent:e[r-1]||null,nextEvent:n,start:l,end:l+i,playout:{start:d,end:a},integrated:{start:c,end:o}};t.push(u)}else i>0&&d&&(d.cumulativeDuration+=i,t[t.length-1].end=p)}c&&(_=f),n.timelineStart=f;const i=o;o+=m;const l=a;a+=h,t.push({event:n,start:f,end:_,playout:{start:l,end:a},integrated:{start:i,end:o}})}}const b=n.resumeTime;s=c||b>i?i:b})),s<i){var r;const e=s,n=o,l=i-s;o+=l;const c=a;a+=l,t.push({previousEvent:(null==(r=t[t.length-1])?void 0:r.event)||null,nextEvent:null,start:s,end:e+l,playout:{start:c,end:a},integrated:{start:n,end:o}})}this.setDurations(i,a,o)}else{const e=0;t.push({previousEvent:null,nextEvent:null,start:e,end:i,playout:{start:e,end:i},integrated:{start:e,end:i}}),this.setDurations(i,i,i)}return t}setDurations(e,n,t){this.durations={primary:e,playout:n,integrated:t}}resolveOffsets(n,t){const s=t.main.details,i=s.live?1/0:s.edge;let a=0,r=-1;n.forEach(((o,l)=>{const c=o.cue.pre,d=o.cue.post,u=c?0:d?i:o.startTime;this.updateAssetDurations(o),r===u?o.cumulativeDuration=a:(a=0,r=u),!d&&o.snapOptions.in&&(o.resumeAnchor=tn(null,s.fragments,o.startOffset+o.resumptionOffset,0,0)||void 0),o.appendInPlace&&!o.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(o,t)||(o.appendInPlace=!1)),!o.appendInPlace&&l+1<n.length&&n[l+1].startTime-n[l].resumeTime<.033&&(n[l+1].appendInPlace=!1,n[l+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${o}`));const p=e(o.resumeOffset)?o.resumeOffset:o.duration;a+=p}))}primaryCanResumeInPlaceAt(e,n){const t=e.resumeTime,s=e.startTime+e.resumptionOffset;return Math.abs(t-s)>Aa?(this.log(`"${e.identifier}" resumption ${t} not aligned with estimated timeline end ${s}`),!1):n?!Object.keys(n).some((s=>{const i=n[s].details,a=i.edge;if(t>=a)return this.log(`"${e.identifier}" resumption ${t} past ${s} playlist end ${a}`),!1;const r=tn(null,i.fragments,t);if(!r)return this.log(`"${e.identifier}" resumption ${t} does not align with any fragments in ${s} playlist (${i.fragStart}-${i.fragmentEnd})`),!0;const o="audio"===s?.175:0;return!(Math.abs(r.start-t)<Aa+o||Math.abs(r.end-t)<Aa+o||(this.log(`"${e.identifier}" resumption ${t} not aligned with ${s} fragment bounds (${r.start}-${r.end} sn: ${r.sn} cc: ${r.cc})`),0))})):(this.log(`"${e.identifier}" resumption ${t} can not be aligned with media (none selected)`),!1)}updateAssetDurations(e){if(!e.assetListLoaded)return;const n=e.timelineStart;let t=0,s=!1,i=!1;e.assetList.forEach(((e,a)=>{const r=n+t;e.startOffset=t,e.timelineStart=r,s||(s=null===e.duration),i||(i=!!e.error);const o=e.error?0:e.duration||0;t+=o})),e.duration=s&&!i?Math.max(t,e.duration):t}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function Na(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class $a{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,n){const t=e.assetListUrl;let s;try{s=Pa(t,this.hls.sessionId,e.baseUrl)}catch(n){const s=this.assignAssetListError(e,i.ASSET_LIST_LOAD_ERROR,n,t);return void this.hls.trigger(a.ERROR,s)}n&&"data:"!==s.protocol&&s.searchParams.set("_HLS_start_offset",""+n);const r=this.hls.config,o=new(0,r.loader)(r),l={responseType:"json",url:s.href},c=r.interstitialAssetListLoadPolicy.default,d={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(n,t,s,r)=>{const o=n.data,l=null==o?void 0:o.ASSETS;if(Array.isArray(l))e.assetListResponse=o,this.hls.trigger(a.ASSET_LIST_LOADED,{event:e,assetListResponse:o,networkDetails:r});else{const n=this.assignAssetListError(e,i.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),s.url,t,r);this.hls.trigger(a.ERROR,n)}},onError:(n,t,s,r)=>{const o=this.assignAssetListError(e,i.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${n.code} ${n.text} (${t.url})`),t.url,r,s);this.hls.trigger(a.ERROR,o)},onTimeout:(n,t,s)=>{const r=this.assignAssetListError(e,i.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${t.url})`),t.url,n,s);this.hls.trigger(a.ERROR,r)}};return o.load(l,d,u),this.hls.trigger(a.ASSET_LIST_LOADING,{event:e}),o}assignAssetListError(e,n,t,i,a,r){return e.error=t,{type:s.NETWORK_E
vendor: 13,437 bytes, line 2
2RROR,details:n,fatal:!1,interstitial:e,url:i,error:t,networkDetails:r,stats:a}}}function Ba(e){null==e||e.play().catch((()=>{}))}class Ua{constructor(e){this.buffered=void 0;const n=(n,t,s)=>{if((t>>>=0)>s-1)throw new DOMException(`Failed to execute '${n}' on 'TimeRanges': The index provided (${t}) is greater than the maximum bound (${s})`);return e[t][n]};this.buffered={get length(){return e.length},end:t=>n("end",t,e.length),start:t=>n("start",t,e.length)}}}const ja={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Ga=e=>String.fromCharCode(ja[e]||e),za=15,qa=100,Ka={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Va={17:2,18:4,21:6,22:8,23:10,19:13,20:15},Ha={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Ya={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Wa=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class Xa{constructor(){this.time=null,this.verboseLevel=0}log(e,n){if(this.verboseLevel>=e){const t="function"==typeof n?n():n;x.log(`${this.time} [${e}] ${t}`)}}}const Qa=function(e){const n=[];for(let t=0;t<e.length;t++)n.push(e[t].toString(16));return n};class Ja{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){const n=["foreground","underline","italics","background","flash"];for(let t=0;t<n.length;t++){const s=n[t];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class Za{constructor(){this.uchar=" ",this.penState=new Ja}reset(){this.uchar=" ",this.penState.reset()}setChar(e,n){this.uchar=e,this.penState.copy(n)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return" "===this.uchar&&this.penState.isDefault()}}class er{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Ja,this.cueStartTime=null,this.logger=void 0;for(let e=0;e<qa;e++)this.chars.push(new Za);this.logger=e}equals(e){for(let n=0;n<qa;n++)if(!this.chars[n].equals(e.chars[n]))return!1;return!0}copy(e){for(let n=0;n<qa;n++)this.chars[n].copy(e.chars[n])}isEmpty(){let e=!0;for(let n=0;n<qa;n++)if(!this.chars[n].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>qa&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=qa)}moveCursor(e){const n=this.pos+e;if(e>1)for(let e=this.pos+1;e<n+1;e++)this.chars[e].setPenState(this.currPenState);this.setCursor(n)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();const n=Ga(e);this.pos>=qa?this.logger.log(0,(()=>"Cannot insert "+e.toString(16)+" ("+n+") at position "+this.pos+". Skipping it!")):(this.chars[this.pos].setChar(n,this.currPenState),this.moveCursor(1))}clearFromPos(e){let n;for(n=e;n<qa;n++)this.chars[n].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){const e=[];let n=!0;for(let t=0;t<qa;t++){const s=this.chars[t].uchar;" "!==s&&(n=!1),e.push(s)}return n?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class nr{constructor(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let n=0;n<za;n++)this.rows.push(new er(e));this.logger=e}reset(){for(let e=0;e<za;e++)this.rows[e].clear();this.currRow=14}equals(e){let n=!0;for(let t=0;t<za;t++)if(!this.rows[t].equals(e.rows[t])){n=!1;break}return n}copy(e){for(let n=0;n<za;n++)this.rows[n].copy(e.rows[n])}isEmpty(){let e=!0;for(let n=0;n<za;n++)if(!this.rows[n].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,(()=>"pacData = "+Ve(e)));let n=e.row-1;if(this.nrRollUpRows&&n<this.nrRollUpRows-1&&(n=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==n){for(let e=0;e<za;e++)this.rows[e].clear();const e=this.currRow+1-this.nrRollUpRows,t=this.lastOutputScreen;if(t){const s=t.rows[e].cueStartTime,i=this.logger.time;if(null!==s&&null!==i&&s<i)for(let s=0;s<this.nrRollUpRows;s++)this.rows[n-this.nrRollUpRows+s+1].copy(t.rows[e+s])}}this.currRow=n;const t=this.rows[this.currRow];if(null!==e.indent){const n=e.indent,s=Math.max(n-1,0);t.setCursor(e.indent),e.color=t.chars[s].penState.foreground}const s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,(()=>"bkgData = "+Ve(e))),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,(()=>this.getDisplayText()));const e=this.currRow+1-this.nrRollUpRows,n=this.rows.splice(e,1)[0];n.clear(),this.rows.splice(this.currRow,0,n),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;const n=[];let t="",s=-1;for(let t=0;t<za;t++){const i=this.rows[t].getTextString();i&&(s=t+1,e?n.push("Row "+s+": '"+i+"'"):n.push(i.trim()))}return n.length>0&&(t=e?"["+n.join(" | ")+"]":n.join("\n")),t}getTextAndFormat(){return this.rows}}class tr{constructor(e,n,t){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=n,this.mode=null,this.verbose=0,this.displayedMemory=new nr(t),this.nonDisplayedMemory=new nr(t),this.lastOutputScreen=new nr(t),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=t}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,(()=>"MODE="+e)),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let n=0;n<e.length;n++)this.writeScreen.insertChar(e[n]);const n=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,(()=>n+": "+this.writeScreen.getDisplayText(!0))),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0))),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){const e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(()=>"DISP: "+this.displayedMemory.getDisplayText()))}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){const n={flash:!1};if(n.underline=e%2==1,n.italics=e>=46,n.italics)n.foreground="white";else{const t=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];n.foreground=s[t]}this.logger.log(2,"MIDROW: "+Ve(n)),this.writeScreen.setPen(n)}outputDataUpdate(e=!1){const n=this.logger.time;null!==n&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,n,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:n):this.cueStartTime=n,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}}class sr{constructor(e,n,t){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const s=this.logger=new Xa;this.channels=[null,new tr(e,n,s),new tr(e+1,t,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,n){this.channels[e].setHandler(n)}addData(e,n){this.logger.time=e;for(let e=0;e<n.length;e+=2){const t=127&n[e],s=127&n[e+1];let i=!1,a=null;if(0===t&&0===s)continue;this.logger.log(3,(()=>"["+Qa([n[e],n[e+1]])+"] -> ("+Qa([t,s])+")"));const r=this.cmdHistory;if(t>=16&&t<=31){if(ar(t,s,r)){ir(null,null,r),this.logger.log(3,(()=>"Repeated command ("+Qa([t,s])+") is dropped"));continue}ir(t,s,this.cmdHistory),i=this.parseCmd(t,s),i||(i=this.parseMidrow(t,s)),i||(i=this.parsePAC(t,s)),i||(i=this.parseBackgroundAttributes(t,s))}else ir(null,null,r);if(!i&&(a=this.parseChars(t,s),a)){const e=this.currentChannel;e&&e>0?this.channels[e].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?")}i||a||this.logger.log(2,(()=>"Couldn't parse cleaned data "+Qa([t,s])+" orig: "+Qa([n[e],n[e+1]])))}}parseCmd(e,n){if(!((20===e||28===e||21===e||29===e)&&n>=32&&n<=47||(23===e||31===e)&&n>=33&&n<=35))return!1;const t=20===e||21===e||23===e?1:2,s=this.channels[t];return 20===e||21===e||28===e||29===e?32===n?s.ccRCL():33===n?s.ccBS():34===n?s.ccAOF():35===n?s.ccAON():36===n?s.ccDER():37===n?s.ccRU(2):38===n?s.ccRU(3):39===n?s.ccRU(4):40===n?s.ccFON():41===n?s.ccRDC():42===n?s.ccTR():43===n?s.ccRTD():44===n?s.ccEDM():45===n?s.ccCR():46===n?s.ccENM():47===n&&s.ccEOC():s.ccTO(n-32),this.currentChannel=t,!0}parseMidrow(e,n){let t=0;if((17===e||25===e)&&n>=32&&n<=47){if(t=17===e?1:2,t!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const s=this.channels[t];return!!s&&(s.ccMIDROW(n),this.logger.log(3,(()=>"MIDROW ("+Qa([e,n])+")")),!0)}return!1}parsePAC(e,n){let t;if(!((e>=17&&e<=23||e>=25&&e<=31)&&n>=64&&n<=127||(16===e||24===e)&&n>=64&&n<=95))return!1;const s=e<=23?1:2;t=n>=64&&n<=95?1===s?Ka[e]:Ha[e]:1===s?Va[e]:Ya[e];const i=this.channels[s];return!!i&&(i.setPAC(this.interpretPAC(t,n)),this.currentChannel=s,!0)}interpretPAC(e,n){let t;const s={color:null,italics:!1,indent:null,underline:!1,row:e};return t=n>95?n-96:n-64,s.underline=!(1&~t),t<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(t/2)]:t<=15?(s.italics=!0,s.color="white"):s.indent=4*Math.floor((t-16)/2),s}
vendor: 7,704 bytes, line 2
2parseChars(e,n){let t,s=null,i=null;if(e>=25?(t=2,i=e-8):(t=1,i=e),i>=17&&i<=19){let e;e=17===i?n+80:18===i?n+112:n+144,this.logger.log(2,(()=>"Special char '"+Ga(e)+"' in channel "+t)),s=[e]}else e>=32&&e<=127&&(s=0===n?[e]:[e,n]);return s&&this.logger.log(3,(()=>"Char codes = "+Qa(s).join(","))),s}parseBackgroundAttributes(e,n){if(!((16===e||24===e)&&n>=32&&n<=47||(23===e||31===e)&&n>=45&&n<=47))return!1;let t;const s={};16===e||24===e?(t=Math.floor((n-32)/2),s.background=Wa[t],n%2==1&&(s.background=s.background+"_semi")):45===n?s.background="transparent":(s.foreground="black",47===n&&(s.underline=!0));const i=e<=23?1:2;return this.channels[i].setBkgData(s),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){const n=this.channels[e];n&&n.reset()}ir(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let n=0;n<this.channels.length;n++){const t=this.channels[n];t&&t.cueSplitAtTime(e)}}}function ir(e,n,t){t.a=e,t.b=n}function ar(e,n,t){return t.a===e&&t.b===n}var rr=function(){if(null!=Wn&&Wn.VTTCue)return self.VTTCue;const e=["","lr","rl"],n=["start","middle","end","left","right"];function t(e,n){if("string"!=typeof n)return!1;if(!Array.isArray(e))return!1;const t=n.toLowerCase();return!!~e.indexOf(t)&&t}function s(e){return t(n,e)}function i(e,...n){let t=1;for(;t<arguments.length;t++){const n=arguments[t];for(const t in n)e[t]=n[t]}return e}function a(n,a,r){const o=this,l={enumerable:!0};o.hasBeenReset=!1;let c="",d=!1,u=n,p=a,h=r,m=null,v="",g=!0,f="auto",_="start",b=50,y="middle",w=50,k="middle";Object.defineProperty(o,"id",i({},l,{get:function(){return c},set:function(e){c=""+e}})),Object.defineProperty(o,"pauseOnExit",i({},l,{get:function(){return d},set:function(e){d=!!e}})),Object.defineProperty(o,"startTime",i({},l,{get:function(){return u},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");u=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"endTime",i({},l,{get:function(){return p},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");p=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"text",i({},l,{get:function(){return h},set:function(e){h=""+e,this.hasBeenReset=!0}})),Object.defineProperty(o,"region",i({},l,{get:function(){return m},set:function(e){m=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"vertical",i({},l,{get:function(){return v},set:function(n){const s=function(n){return t(e,n)}(n);if(!1===s)throw new SyntaxError("An invalid or illegal string was specified.");v=s,this.hasBeenReset=!0}})),Object.defineProperty(o,"snapToLines",i({},l,{get:function(){return g},set:function(e){g=!!e,this.hasBeenReset=!0}})),Object.defineProperty(o,"line",i({},l,{get:function(){return f},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");f=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"lineAlign",i({},l,{get:function(){return _},set:function(e){const n=s(e);if(!n)throw new SyntaxError("An invalid or illegal string was specified.");_=n,this.hasBeenReset=!0}})),Object.defineProperty(o,"position",i({},l,{get:function(){return b},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");b=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"positionAlign",i({},l,{get:function(){return y},set:function(e){const n=s(e);if(!n)throw new SyntaxError("An invalid or illegal string was specified.");y=n,this.hasBeenReset=!0}})),Object.defineProperty(o,"size",i({},l,{get:function(){return w},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");w=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"align",i({},l,{get:function(){return k},set:function(e){const n=s(e);if(!n)throw new SyntaxError("An invalid or illegal string was specified.");k=n,this.hasBeenReset=!0}})),o.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();class or{decode(e,n){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function lr(e){function n(e,n,t,s){return 3600*(0|e)+60*(0|n)+(0|t)+parseFloat(s||0)}const t=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?n(t[2],t[3],0,t[4]):n(t[1],t[2],t[3],t[4]):null}class cr{constructor(){this.values=Object.create(null)}set(e,n){this.get(e)||""===n||(this.values[e]=n)}get(e,n,t){return t?this.has(e)?this.values[e]:n[t]:this.has(e)?this.values[e]:n}has(e){return e in this.values}alt(e,n,t){for(let s=0;s<t.length;++s)if(n===t[s]){this.set(e,n);break}}integer(e,n){/^-?\d+$/.test(n)&&this.set(e,parseInt(n,10))}percent(e,n){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(n)){const t=parseFloat(n);if(t>=0&&t<=100)return this.set(e,t),!0}return!1}}function dr(e,n,t,s){const i=s?e.split(s):[e];for(const e in i){if("string"!=typeof i[e])continue;const s=i[e].split(t);2===s.length&&n(s[0],s[1])}}const ur=new rr(0,0,""),pr="middle"===ur.align?"middle":"center";function hr(e,n,t){const s=e;function i(){const n=lr(e);if(null===n)throw new Error("Malformed timestamp: "+s);return e=e.replace(/^[^\sa-zA-Z-]+/,""),n}function a(){e=e.replace(/^\s+/,"")}if(a(),n.startTime=i(),a(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+s);e=e.slice(3),a(),n.endTime=i(),a(),function(e,n){const s=new cr;dr(e,(function(e,n){let i;switch(e){case"region":for(let i=t.length-1;i>=0;i--)if(t[i].id===n){s.set(e,t[i].region);break}break;case"vertical":s.alt(e,n,["rl","lr"]);break;case"line":i=n.split(","),s.integer(e,i[0]),s.percent(e,i[0])&&s.set("snapToLines",!1),s.alt(e,i[0],["auto"]),2===i.length&&s.alt("lineAlign",i[1],["start",pr,"end"]);break;case"position":i=n.split(","),s.percent(e,i[0]),2===i.length&&s.alt("positionAlign",i[1],["start",pr,"end","line-left","line-right","auto"]);break;case"size":s.percent(e,n);break;case"align":s.alt(e,n,["start",pr,"end","left","right"])}}),/:/,/\s/),n.region=s.get("region",null),n.vertical=s.get("vertical","");let i=s.get("line","auto");"auto"===i&&-1===ur.line&&(i=-1),n.line=i,n.lineAlign=s.get("lineAlign","start"),n.snapToLines=s.get("snapToLines",!0),n.size=s.get("size",100),n.align=s.get("align",pr);let a=s.get("position","auto");"auto"===a&&50===ur.position&&(a="start"===n.align||"left"===n.align?0:"end"===n.align||"right"===n.align?100:50),n.position=a}(e,n)}function mr(e){return e.replace(/<br(?: \/)?>/gi,"\n")}class vr{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new or,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){const n=this;function t(){let e=n.buffer,t=0;for(e=mr(e);t<e.length&&"\r"!==e[t]&&"\n"!==e[t];)++t;const s=e.slice(0,t);return"\r"===e[t]&&++t,"\n"===e[t]&&++t,n.buffer=e.slice(t),s}e&&(n.buffer+=n.decoder.decode(e,{stream:!0}));try{let e="";if("INITIAL"===n.state){if(!/\r\n|\n/.test(n.buffer))return this;e=t();const s=e.match(/^()?WEBVTT([ \t].*)?$/);if(null==s||!s[0])throw new Error("Malformed WebVTT signature.");n.state="HEADER"}let s=!1;for(;n.buffer;){if(!/\r\n|\n/.test(n.buffer))return this;switch(s?s=!1:e=t(),n.state){case"HEADER":/:/.test(e)?dr(e,(function(e,n){}),/:/):e||(n.state="ID");continue;case"NOTE":e||(n.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(e)){n.state="NOTE";break}if(!e)continue;if(n.cue=new rr(0,0,""),n.state="CUE",-1===e.indexOf("--\x3e")){n.cue.id=e;continue}case"CUE":if(!n.cue){n.state="BADCUE";continue}try{hr(e,n.cue,n.regionList)}catch(e){n.cue=null,n.state="BADCUE";continue}n.state="CUETEXT";continue;case"CUETEXT":{const t=-1!==e.indexOf("--\x3e");
2if(!e||t&&(s=!0)){n.oncue&&n.cue&&n.oncue(n.cue),n.cue=null,n.state="ID";continue}if(null===n.cue)continue;n.cue.text&&(n.cue.text+="\n"),n.cue.text+=e}continue;case"BADCUE":e||(n.state="ID")}}}catch(e){"CUETEXT"===n.state&&n.cue&&n.oncue&&n.oncue(n.cue),n.cue=null,n.state="INITIAL"===n.state?"BADWEBVTT":"BADCUE"}return this}flush(){const e=this;try{if((e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state||"BADWEBVTT"===e.state)throw new Error("Malformed WebVTT signature.")}catch(n){e.onparsingerror&&e.onparsingerror(n)}return e.onflush&&e.onflush(),this}}const gr=/\r\n|\n\r|\n|\r/g,fr=function(e,n,t=0){return e.slice(t,t+n.length)===n};function _r(e,n,t){return Sa(e.toString())+Sa(n.toString())+Sa(t)}const br="stpp.ttml.im1t",yr=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,wr=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,kr={left:"start",center:"center",right:"end",start:"start",end:"end"};function Tr(e,n,t,s){const i=te(new Uint8Array(e),["mdat"]);if(0===i.length)return void s(new Error("Could not parse IMSC1 mdat"));const a=i.map((e=>L(e))),r=function(e,n,t=1,s=!1){return ei(e,n,1/t,s)}(n.baseTime,1,n.timescale);try{a.forEach((e=>t(function(e,n){const t=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!t)throw new Error("Invalid ttml");const s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},i=Object.keys(s).reduce(((e,n)=>(e[n]=t.getAttribute(`ttp:${n}`)||s[n],e)),{}),a="preserve"!==t.getAttribute("xml:space"),r=xr(Er(t,"styling","style")),o=xr(Er(t,"layout","region")),l=Er(t,"body","[begin]");return[].map.call(l,(e=>{const t=Sr(e,a);if(!t||!e.hasAttribute("begin"))return null;const s=Cr(e.getAttribute("begin"),i),l=Cr(e.getAttribute("dur"),i);let c=Cr(e.getAttribute("end"),i);if(null===s)throw Lr(e);if(null===c){if(null===l)throw Lr(e);c=s+l}const d=new rr(s-n,c-n,t);d.id=_r(d.startTime,d.endTime,d.text);const u=function(e,n,t){const s="http://www.w3.org/ns/ttml#styling";let i=null;const a=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(i=t[a]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce(((t,a)=>{const r=Ar(n,s,a)||Ar(e,s,a)||Ar(i,s,a);return r&&(t[a]=r),t}),{})}(o[e.getAttribute("region")],r[e.getAttribute("style")],r),{textAlign:p}=u;if(p){const e=kr[p];e&&(d.lineAlign=e),d.align=p}return g(d,u),d})).filter((e=>null!==e))}(e,r))))}catch(e){s(e)}}function Er(e,n,t){const s=e.getElementsByTagName(n)[0];return s?[].slice.call(s.querySelectorAll(t)):[]}function xr(e){return e.reduce(((e,n)=>{const t=n.getAttribute("xml:id");return t&&(e[t]=n),e}),{})}function Sr(e,n){return[].slice.call(e.childNodes).reduce(((e,t,s)=>{var i;return"br"===t.nodeName&&s?e+"\n":null!=(i=t.childNodes)&&i.length?Sr(t,n):n?e+t.textContent.trim().replace(/\s+/g," "):e+t.textContent}),"")}function Ar(e,n,t){return e&&e.hasAttributeNS(n,t)?e.getAttributeNS(n,t):null}function Lr(e){return new Error(`Could not parse ttml timestamp ${e}`)}function Cr(e,n){if(!e)return null;let t=lr(e);return null===t&&(yr.test(e)?t=function(e,n){const t=yr.exec(e),s=(0|t[4])+(0|t[5])/n.subFrameRate;return 3600*(0|t[1])+60*(0|t[2])+(0|t[3])+s/n.frameRate}(e,n):wr.test(e)&&(t=function(e,n){const t=wr.exec(e),s=Number(t[1]);switch(t[2]){case"h":return 3600*s;case"m":return 60*s;case"ms":return 1e3*s;case"f":return s/n.frameRate;case"t":return s/n.tickRate}return s}(e,n))),t}class Rr{constructor(e,n){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=n}dispatchCue(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,n,t){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=n,this.screen=t,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}function Ir(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function Pr(e,n){return!!e&&e.kind===Ir(n)&&Ti(n,e)}const Dr=/\s/,Or={newCue(e,n,t,s){const i=[];let a,r,o,l,c;const d=self.VTTCue||self.TextTrackCue;for(let p=0;p<s.rows.length;p++)if(a=s.rows[p],o=!0,l=0,c="",!a.isEmpty()){var u;for(let e=0;e<a.chars.length;e++)Dr.test(a.chars[e].uchar)&&o?l++:(c+=a.chars[e].uchar,o=!1);a.cueStartTime=n,n===t&&(t+=1e-4),l>=16?l--:l++;const s=mr(c.trim()),h=_r(n,t,s);null!=e&&null!=(u=e.cues)&&u.getCueById(h)||(r=new d(n,t,s),r.id=h,r.line=p+1,r.align="left",r.position=10+Math.min(80,10*Math.floor(8*l/32)),i.push(r))}return e&&i.length&&(i.sort(((e,n)=>"auto"===e.line||"auto"===n.line?0:e.line>8&&n.line>
vendor: 17,690 bytes, line 2
28?n.line-e.line:e.line-n.line)),i.forEach((n=>ka(e,n)))),i}},Mr=/(\d+)-(\d+)\/(\d+)/;class Fr{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||Nr,this.controller=new self.AbortController,this.stats=new B}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(n,t,s){const i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();const a=function(e,n){const t={method:"GET",mode:"cors",credentials:"same-origin",signal:n,headers:new self.Headers(g({},e.headers))};return e.rangeEnd&&t.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),t}(n,this.controller.signal),r="arraybuffer"===n.responseType,o=r?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:c}=t.loadPolicy;this.context=n,this.config=t,this.callbacks=s,this.request=this.fetchSetup(n,a),self.clearTimeout(this.requestTimeout),t.timeout=l&&e(l)?l:c,this.requestTimeout=self.setTimeout((()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(i,n,this.response))}),t.timeout),(vi(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then((s=>{var a;this.response=this.loader=s;const o=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout((()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(i,n,this.response))}),c-(o-i.loading.start)),!s.ok){const{status:e,statusText:n}=s;throw new $r(n||"fetch, bad network response",e,s)}i.loading.first=o,i.total=function(n){const t=n.get("Content-Range");if(t){const n=function(e){const n=Mr.exec(e);if(n)return parseInt(n[2])-parseInt(n[1])+1}(t);if(e(n))return n}const s=n.get("Content-Length");if(s)return parseInt(s)}(s.headers)||i.total;const l=null==(a=this.callbacks)?void 0:a.onProgress;return l&&e(t.highWaterMark)?this.loadProgressively(s,i,n,t.highWaterMark,l):r?s.arrayBuffer():"json"===n.responseType?s.json():s.text()})).then((s=>{var a,r;const l=this.response;if(!l)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);const c=s[o];c&&(i.loaded=i.total=c);const d={url:l.url,data:s,code:l.status},u=null==(a=this.callbacks)?void 0:a.onProgress;u&&!e(t.highWaterMark)&&u(i,n,s,l),null==(r=this.callbacks)||r.onSuccess(d,i,n,l)})).catch((e=>{var t;if(self.clearTimeout(this.requestTimeout),i.aborted)return;const s=e&&e.code||0,a=e?e.message:null;null==(t=this.callbacks)||t.onError({code:s,text:a},n,e?e.details:null,i)}))}getCacheAge(){let e=null;if(this.response){const n=this.response.headers.get("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,n,t,s=0,i){const a=new Kt,r=e.body.getReader(),o=()=>r.read().then((r=>{if(r.done)return a.dataLength&&i(n,t,a.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));const l=r.value,c=l.length;return n.loaded+=c,c<s||a.dataLength?(a.push(l),a.dataLength>=s&&i(n,t,a.flush().buffer,e)):i(n,t,l.buffer,e),o()})).catch((()=>Promise.reject()));return o()}}function Nr(e,n){return new self.Request(e.url,n)}class $r extends Error{constructor(e,n,t){super(e),this.code=void 0,this.details=void 0,this.code=n,this.details=t}}const Br=/^age:\s*[\d.]+\s*$/im;class Ur{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new B,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,n,t){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=n,this.callbacks=t,this.loadInternal()}loadInternal(){const{config:e,context:n}=this;if(!e||!n)return;const t=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;const i=this.xhrSetup;i?Promise.resolve().then((()=>{if(this.loader===t&&!this.stats.aborted)return i(t,n.url)})).catch((e=>{if(this.loader===t&&!this.stats.aborted)return t.open("GET",n.url,!0),i(t,n.url)})).then((()=>{this.loader!==t||this.stats.aborted||this.openAndSendXhr(t,n,e)})).catch((e=>{var i;null==(i=this.callbacks)||i.onError({code:t.status,text:e.message},n,t,s)})):this.openAndSendXhr(t,n,e)}openAndSendXhr(n,t,s){n.readyState||n.open("GET",t.url,!0);const i=t.headers,{maxTimeToFirstByteMs:a,maxLoadTimeMs:r}=s.loadPolicy;if(i)for(const e in i)n.setRequestHeader(e,i[e]);t.rangeEnd&&n.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),n.onreadystatechange=this.readystatechange.bind(this),n.onprogress=this.loadprogress.bind(this),n.responseType=t.responseType,self.clearTimeout(this.requestTimeout),s.timeout=a&&e(a)?a:r,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),n.send()}readystatechange(){const{context:e,loader:n,stats:t}=this;if(!e||!n)return;const s=n.readyState,i=this.config;if(!t.aborted&&s>=2&&(0===t.loading.first&&(t.loading.first=Math.max(self.performance.now(),t.loading.start),i.timeout!==i.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),i.timeout=i.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.loadPolicy.maxLoadTimeMs-(t.loading.first-t.loading.start)))),4===s)){self.clearTimeout(this.requestTimeout),n.onreadystatechange=null,n.onprogress=null;const s=n.status,l="text"===n.responseType?n.responseText:null;if(s>=200&&s<300){const i=null!=l?l:n.response;if(null!=i){var a,r;t.loading.end=Math.max(self.performance.now(),t.loading.first);const o="arraybuffer"===n.responseType?i.byteLength:i.length;t.loaded=t.total=o,t.bwEstimate=8e3*t.total/(t.loading.end-t.loading.first);const l=null==(a=this.callbacks)?void 0:a.onProgress;l&&l(t,e,i,n);const c={url:n.responseURL,data:i,code:s};return void(null==(r=this.callbacks)||r.onSuccess(c,t,e,n))}}const c=i.loadPolicy.errorRetry;var o;un(c,t.retry,!1,{url:e.url,data:void 0,code:s})?this.retry(c):(x.error(`${s} while loading ${e.url}`),null==(o=this.callbacks)||o.onError({code:s,text:n.statusText},e,n,t))}}loadtimeout(){if(!this.config)return;const e=this.config.loadPolicy.timeoutRetry;if(un(e,this.stats.retry,!0))this.retry(e);else{var n;x.warn(`timeout while loading ${null==(n=this.context)?void 0:n.url}`);const e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}retry(e){const{context:n,stats:t}=this;this.retryDelay=cn(e,t.retry),t.retry++,x.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==n?void 0:n.url}, retrying ${t.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){const n=this.stats;n.loaded=e.loaded,e.lengthComputable&&(n.total=e.total)}getCacheAge(){let e=null;if(this.loader&&Br.test(this.loader.getAllResponseHeaders())){const n=this.loader.getResponseHeader("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}const jr=_(_({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:Ur,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class extends b{constructor(n){super("abr",n.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=n=>{var t;const{fragCurrent:s,partCurrent:i,hls:r}=this,{autoLevelEnabled:o,media:l}=r;if(!s||!l)return;const c=performance.now(),d=i?i.stats:s.stats,u=i?i.duration:s.duration,p=c-d.loading.start,h=r.minAutoLevel,m=s.level,v=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||m<=h)return this.clearTimer(),void(this._nextAutoLevel=-1);if(!o)return;const g=v>-1&&v!==m,f=!!n||g;if(!f&&(l.paused||!l.playbackRate||!l.readyState))return;const _=r.mainForwardBufferInfo;if(!f&&null===_)return;const b=this.bwEstimator.getEstimateTTFB(),y=Math.abs(l.playbackRate);if(p<=Math.max(b,u/(2*y)*1e3))return;const w=_?_.len/y:0,k=d.loading.first?d.loading.first-d.loading.start:-1,T=d.loaded&&k>-1,E=this.getBwEstimate(),x=r.levels,S=x[m],A=Math.max(d.loaded,Math.round(u*(s.bitrate||S.averageBitrate)/8));let L=T?p-k:p;L<1&&T&&(L=Math.min(p,8*d.loaded/E));const C=T?1e3*d.loaded/L:0,R=b/1e3,I=C?(A-d.loaded)/C:8*A/E+R;if(I<=w)return;const P=C?8*C:E,D=!0===(null==(t=(null==n?void 0:n.details)||this.hls.latestLevelDetails)?void 0:t.live),O=this.hls.config.abrBandWidthUpFactor;let M,F=Number.POSITIVE_INFINITY;for(M=m-1;M>h;M--){const e=x[M].maxBitrate,n=!x[M].details||D;if(F=this.getTimeToLoadFrag(R,P,u*e,n),F<Math.min(w,u+R))break}if(F>=I)return;if(F>10*u)return;T?this.bwEstimator.sample(p-Math.min(b,k),d.loaded):this.bwEstimator.sampleTTFB(p);const N=x[M].maxBitrate;this.getBwEstimate()*O>N&&this.resetEstimator(N);const $=this.findBestLevel(N,h,M,0,w,1,1);$>-1&&(M=$),this.warn(`Fragment ${s.sn}${i?" part "+i.index:""} of level ${m} is loading too slowly;\n Fragment duration: ${s.duration.toFixed(3)}\n Time to underbuffer: ${w.toFixed(3)} s\n Estimated load time for current fragment: ${I.toFixed(3)} s\n Estimated load time for down switch fragment: ${F.toFixed(3)} s\n TTFB estimate: ${0|k} ms\n Current BW estimate: ${e(E)?0|E:"Unknown"} bps\n New BW estimate: ${0|this.getBwEstimate()} bps\n Switching to level ${M} @ ${0|N} bps`),r.nextLoadLevel=r.nextAutoLevel=M,this.clearTimer();const B=()=>{if(this.clearTimer(),this.fragCurrent===s&&this.hls.loadLevel===M&&M>0){const e=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${M>0?"and switching down":""}\n Fragment duration: ${s.duration.toFixed(3)} s\n Time to underbuffer: ${e.toFixed(3)} s`),s.abortRequests(),this.fragCurrent=this.partCurrent=null,M>h){let n=this.findBestLevel(this.hls.levels[h].bitrate,h,M,0,e,1,1);-1===n&&(n=h),this.hls.nextLoadLevel=this.hls.nextAutoLevel=n,this.resetEstimator(this.hls.levels[n].bitrate)}}};g||I>2*F?B():this.timer=self.setInterval(B,1e3*F),r.trigger(a.FRAG_LOAD_EMERGENCY_ABORTED,{frag:s,part:i,stats:d})},this.hls=n,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const e=this.hls.config;return new m(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){const{hls:e}=this;e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.FRAG_LOADING,this.onFragLoading,this),e.on(a.FRAG_LOADED,this.onFragLoaded,this),e.on(a.FRAG_BUFFERED,this.onFragBuffered,this),e.on(a.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(a.LEVEL_LOADED,this.onLevelLoaded,this),e.on(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(a.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(a.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e&&(e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.FRAG_LOADING,this.onFragLoading,this),e.off(a.FRAG_LOADED,this.onFragLoaded,this),e.off(a.FRAG_BUFFERED,this.onFragBuffered,this),e.off(a.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(a.LEVEL_LOADED,this.onLevelLoaded,this),e.off(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(a.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(a.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,n){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,n){const t=n.frag;var s;this.ignoreFragment(t)||(t.bitrateTest||(this.fragCurrent=t,this.partCurrent=null!=(s=n.part)?s:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))}onLevelSwitching(e,n){this.clearTimer()}onError(e,n){if(!n.fatal)switch(n.details){case i.BUFFER_ADD_CODEC_ERROR:case i.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case i.FRAG_LOAD_TIMEOUT:{const e=n.frag,{fragCurrent:t,partCurrent:s}=this;if(e&&t&&e.sn===t.sn&&e.level===t.level){const n=performance.now(),t=s?s.stats:e.stats,i=n-t.loading.start,a=t.loading.first?t.loading.first-t.loading.start:-1;if(t.loaded&&a>-1){const e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(i-Math.min(e,a),t.loaded)}else this.bwEstimator.sampleTTFB(i)}break}}}getTimeToLoadFrag(e,n,t,s){return e+t/n+(s?e+this.lastLevelLoadSec:0)}onLevelLoaded(n,t){const s=this.hls.config,{loading:i}=t.stats,a=i.end-i.first;e(a)&&(this.lastLevelLoadSec=a/1e3),t.details.live?this.bwEstimator.update(s.abrEwmaSlowLive,s.abrEwmaFastLive):this.bwEstimator.update(s.abrEwmaSlowVoD,s.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:n,part:t}){const s=t?t.stats:n.stats;if(n.type===d&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(n)){if(this.clearTimer(),n.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const e=t?t.duration:n.duration,i=this.hls.levels[n.level],a=(i.loaded?i.loaded.bytes:0)+s.loaded,r=(i.loaded?i.loaded.duration:0)+e;i.loaded={bytes:a,duration:r},i.realBitrate=Math.round(8*a/r)}if(n.bitrateTest){const e={stats:s,frag:n,part:t,id:n.type};this.onFragBuffered(a.FRAG_BUFFERED,e),n.bitrateTest=!1}else this.lastLoadedFragLevel=n.level}}onFragBuffered(e,n){const{frag:t,part:s}=n,i=null!=s&&s.stats.loaded?s.stats:t.stats;if(i.aborted)return;if(this.ignoreFragment(t))return;const a=i.parsing.end-i.loading.start-Math.min(i.loading.first-i.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,i.loaded),i.bwEstimate=this.getBwEstimate(),t.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==d||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:e,minAutoLevel:n}=this.hls,t=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,i=this.findBestLevel(t,n,e,0,s,1,1);if(i>-1)return i;const a=this.hls.firstLevel,r=Math.min(Math.max(a,n),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${r}`),r}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const e=this.forcedAutoLevel,n=this.bwEstimator.canEstimate(),t=this.lastLoadedFragLevel>-1;if(!(-1===e||n&&t&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;const s=n&&t?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){const n=this.hls.levels;if(n.length>Math.max(e,s)&&n[e].loadError<=n[s].loadError)return e}return this._nextAutoLevel=s,this.nextAutoLevelKey=this.getAutoLevelKey(),s}getAutoLevelKey(){return`${this.getBwEstimate()}
2_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:e,partCurrent:n,hls:t}=this;if(t.levels.length<=1)return t.loadLevel;const{maxAutoLevel:s,config:i,minAutoLevel:a}=t,r=n?n.duration:e?e.duration:0,o=this.getBwEstimate(),l=this.getStarvationDelay();let c=i.abrBandWidthFactor,d=i.abrBandWidthUpFactor;if(l){const e=this.findBestLevel(o,a,s,l,0,c,d);if(e>=0)return this.rebufferNotice=-1,e}let u=r?Math.min(r,i.maxStarvationDelay):i.maxStarvationDelay;if(!l){const e=this.bitrateTestDelay;e&&(u=(r?Math.min(r,i.maxLoadingDelay):i.maxLoadingDelay)-e,this.info(`bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*u)} ms`),c=d=1)}const p=this.findBestLevel(o,a,s,l,u,c,d);if(this.rebufferNotice!==p&&(this.rebufferNotice=p,this.info(`${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${p}`)),p>-1)return p;const h=t.levels[a],m=t.loadLevelObj;return m&&(null==h?void 0:h.bitrate)<m.bitrate?a:t.loadLevel}getStarvationDelay(){const e=this.hls,n=e.media;if(!n)return 1/0;const t=n&&0!==n.playbackRate?Math.abs(n.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/t}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(n,t,s,i,a,r,o){var l;const c=i+a,d=this.lastLoadedFragLevel,u=-1===d?this.hls.firstLevel:d,{fragCurrent:p,partCurrent:h}=this,{levels:m,allAudioTracks:v,loadLevel:g,config:f}=this.hls;if(1===m.length)return 0;const _=m[u],b=!(null==(l=this.hls.latestLevelDetails)||!l.live),y=-1===g||-1===d;let w,k="SDR",T=(null==_?void 0:_.frameRate)||0;const{audioPreference:E,videoPreference:x}=f,S=this.audioTracksByGroup||(this.audioTracksByGroup=Ye(v));let A=-1;if(y){if(-1!==this.firstSelection)return this.firstSelection;const i=this.codecTiers||(this.codecTiers=function(e,n,t,s){return e.slice(t,s+1).reduce(((e,t,s)=>{if(!t.codecSet)return e;const i=t.audioGroups;let a=e[t.codecSet];a||(e[t.codecSet]=a={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:s,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!i,fragmentError:0}),a.minBitrate=Math.min(a.minBitrate,t.bitrate);const r=Math.min(t.height,t.width);return a.minHeight=Math.min(a.minHeight,r),a.minFramerate=Math.min(a.minFramerate,t.frameRate),a.minIndex=Math.min(a.minIndex,s),a.maxScore=Math.max(a.maxScore,t.score),a.fragmentError+=t.fragmentError,a.videoRanges[t.videoRange]=(a.videoRanges[t.videoRange]||0)+1,i&&i.forEach((e=>{if(!e)return;const t=n.groups[e];t&&(a.hasDefaultAudio=a.hasDefaultAudio||n.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!n.hasDefaultAudio&&!n.hasAutoSelectAudio,Object.keys(t.channels).forEach((e=>{a.channels[e]=(a.channels[e]||0)+t.channels[e]})))})),e}),{})}(m,S,t,s)),a=function(n,t,s,i,a){const r=Object.keys(n),o=null==i?void 0:i.channels,l=null==i?void 0:i.audioCodec,c=null==a?void 0:a.videoCodec,d=o&&2===parseInt(o);let u=!1,p=!1,h=1/0,m=1/0,v=1/0,g=1/0,f=0,_=[];const{preferHDR:b,allowedVideoRanges:y}=function(e,n){let t=!1,s=[];if(e&&(t="SDR"!==e,s=[e]),n){s=n.allowedVideoRanges||je.slice(0);const e="SDR"!==s.join("")&&!n.videoCodec;t=void 0!==n.preferHDR?n.preferHDR:e&&function(){if("function"==typeof matchMedia){const e=matchMedia("(dynamic-range: high)"),n=matchMedia("bad query");if(e.media!==n.media)return!0===e.matches}return!1}(),t||(s=["SDR"])}return{preferHDR:t,allowedVideoRanges:s}}(t,a);for(let e=r.length;e--;){const t=n[r[e]];u||(u=t.channels[2]>0),h=Math.min(h,t.minHeight),m=Math.min(m,t.minFramerate),v=Math.min(v,t.minBitrate),y.filter((e=>t.videoRanges[e]>0)).length>0&&(p=!0)}h=e(h)?h:0,m=e(m)?m:0;const w=Math.max(1080,h),k=Math.max(30,m);v=e(v)?v:s,s=Math.max(v,s),p||(t=void 0);const T=r.length>1;return{codecSet:r.reduce(((e,t)=>{const i=n[t];if(t===e)return e;if(_=p?y.filter((e=>i.videoRanges[e]>0)):[],T){if(i.minBitrate>s)return He(t,`min bitrate of ${i.minBitrate} > current estimate of ${s}`),e;if(!i.hasDefaultAudio)return He(t,"no renditions with default or auto-select sound found"),e;if(l&&t.indexOf(l.substring(0,4))%5!=0)return He(t,`audio codec preference "${l}" not found`),e;if(o&&!d){if(!i.channels[o])return He(t,`no renditions with ${o} channel sound found (channels options: ${Object.keys(i.channels)})`),e}else if((!l||d)&&u&&0===i.channels[2])return He(t,"no renditions with stereo sound found"),e;if(i.minHeight>w)return He(t,`min resolution of ${i.minHeight} > maximum of ${w}`),e;if(i.minFramerate>k)return He(t,`min framerate of ${i.minFramerate} > maximum of ${k}`),e;if(!_.some((e=>i.videoRanges[e]>0)))return He(t,`no variants with VIDEO-RANGE of ${Ve(_)} found`),e;if(c&&t.indexOf(c.substring(0,4))%5!=0)return He(t,`video codec preference "${c}" not found`),e;if(i.maxScore<f)return He(t,`max score of ${i.maxScore} < selected max of ${f}`),e}return e&&(xe(t)>=xe(e)||i.fragmentError>n[e].fragmentError)?e:(g=i.minIndex,f=i.maxScore,t)}),void 0),videoRanges:_,preferHDR:b,minFramerate:m,minBitrate:v,minIndex:g}}(i,k,n,E,x),{codecSet:r,videoRanges:o,minFramerate:l,minBitrate:c,minIndex:d,preferHDR:u}=a;A=d,w=r,k=u?o[o.length-1]:o[0],T=l,n=Math.max(n,c),this.log(`picked start tier ${Ve(a)}`)}else w=null==_?void 0:_.codecSet,k=null==_?void 0:_.videoRange;const L=h?h.duration:p?p.duration:0,C=this.bwEstimator.getEstimateTTFB()/1e3,R=[];for(let l=s;l>=t;l--){var I,P;const t=m[l],p=l>u;if(!t)continue;
2if(f.useMediaCapabilities&&!t.supportedResult&&!t.supportedPromise){const e=navigator.mediaCapabilities;"function"==typeof(null==e?void 0:e.decodingInfo)&&Fe(t,S,k,T,n,E)?(t.supportedPromise=Ne(t,S,e,this.supportedCache),t.supportedPromise.then((e=>{if(!this.hls)return;t.supportedResult=e;const n=this.hls.levels,s=n.indexOf(t);e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${s} ${Ve(e)}`):e.supported?e.decodingInfoResults.some((e=>!1===e.smooth||!1===e.powerEfficient))&&this.log(`MediaCapabilities decodingInfo for level ${s} not smooth or powerEfficient: ${Ve(e)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${s} ${Ve(e)}`),s>-1&&n.length>1&&(this.log(`Removing unsupported level ${s}`),this.hls.removeLevel(s),-1===this.hls.loadLevel&&(this.hls.nextLoadLevel=0)))}))):t.supportedResult=Oe}if((w&&t.codecSet!==w||k&&t.videoRange!==k||p&&T>t.frameRate||!p&&T>0&&T<t.frameRate||null!=(I=t.supportedResult)&&null!=(P=I.decodingInfoResults)&&P.some((e=>!1===e.smooth)))&&(!y||l!==A)){R.push(l);continue}const v=t.details,_=(h?null==v?void 0:v.partTarget:null==v?void 0:v.averagetargetduration)||L;let x;x=p?o*n:r*n;const D=L&&i>=2*L&&0===a?t.averageBitrate:t.maxBitrate,O=this.getTimeToLoadFrag(C,x,D*_,void 0===v);if(x>=D&&(l===d||0===t.loadError&&0===t.fragmentError)&&(O<=C||!e(O)||b&&!this.bitrateTestDelay||O<c)){const e=this.forcedAutoLevel;return l===g||-1!==e&&e===g||(R.length&&this.trace(`Skipped level(s) ${R.join(",")} of ${s} max with CODECS and VIDEO-RANGE:"${m[R[0]].codecs}" ${m[R[0]].videoRange}; not compatible with "${w}" ${k}`),this.info(`switch candidate:${u}->${l} adjustedbw(${Math.round(x)})-bitrate=${Math.round(x-D)} ttfb:${C.toFixed(1)} avgDuration:${_.toFixed(1)} maxFetchDuration:${c.toFixed(1)} fetchDuration:${O.toFixed(1)} firstSelection:${y} codecSet:${t.codecSet} videoRange:${t.videoRange} hls.loadLevel:${g}`)),y&&(this.firstSelection=l),l}}return-1}set nextAutoLevel(e){const n=this.deriveNextAutoLevel(e);this._nextAutoLevel!==n&&(this.nextAutoLevelKey="",this._nextAutoLevel=n)}deriveNextAutoLevel(e){const{maxAutoLevel:n,minAutoLevel:t}=this.hls;return Math.min(Math.max(e,t),n)}},bufferController:class extends b{constructor(e,n){var t;super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var n;this.hls&&"open"===(null==(n=this.mediaSource)?void 0:n.readyState)&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{const{media:n,mediaSource:t}=this;e&&this.log("Media source opened"),n&&t&&(t.removeEventListener("sourceopen",this._onMediaSourceOpen),n.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(a.MEDIA_ATTACHED,{media:n,mediaSource:t}),null!==this.mediaSource&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:e,_objectUrl:n}=this;e!==n&&this.error(`Media element src was set while attaching MediaSource (${n} > ${e})`)},this.hls=e,this.fragmentTracker=n,this.appendSource=(t=S(e.config.preferManagedMediaSource),"undefined"!=typeof self&&t===self.ManagedMediaSource),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){const{hls:e}=this;
vendor: 4,076 bytes, line 2
2e.on(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_PARSED,this.onManifestParsed,this),e.on(a.BUFFER_RESET,this.onBufferReset,this),e.on(a.BUFFER_APPENDING,this.onBufferAppending,this),e.on(a.BUFFER_CODECS,this.onBufferCodecs,this),e.on(a.BUFFER_EOS,this.onBufferEos,this),e.on(a.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(a.FRAG_PARSED,this.onFragParsed,this),e.on(a.FRAG_CHANGED,this.onFragChanged,this),e.on(a.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_PARSED,this.onManifestParsed,this),e.off(a.BUFFER_RESET,this.onBufferReset,this),e.off(a.BUFFER_APPENDING,this.onBufferAppending,this),e.off(a.BUFFER_CODECS,this.onBufferCodecs,this),e.off(a.BUFFER_EOS,this.onBufferEos,this),e.off(a.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(a.FRAG_PARSED,this.onFragParsed,this),e.off(a.FRAG_CHANGED,this.onFragChanged,this),e.off(a.ERROR,this.onError,this)}transferMedia(){const{media:e,mediaSource:n}=this;if(!e)return null;const t={};if(this.operationQueue){const e=this.isUpdating();e||this.operationQueue.removeBlockers();const n=this.isQueued();(e||n)&&this.warn(`Transfering MediaSource with${n?" operations in queue":""}${e?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}const s=this.transferData;return!this.sourceBufferCount&&s&&s.mediaSource===n?g(t,s.tracks):this.sourceBuffers.forEach((e=>{const[n]=e;n&&(t[n]=g({},this.tracks[n]),this.removeBuffer(n)),e[0]=e[1]=null})),{media:e,mediaSource:n,tracks:t}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,n){var t;let s=2;(n.audio&&!n.video||!n.altAudio)&&(s=1),this.bufferCodecEventsTotal=s,this.log(`${s} bufferCodec event(s) expected.`),null!=(t=this.transferData)&&t.mediaSource&&this.sourceBufferCount&&s&&this.bufferCreated()}onMediaAttaching(e,n){const t=this.media=n.media,s=S(this.appendSource);if(this.transferData=this.overrides=void 0,t&&s){const e=!!n.mediaSource;(e||n.overrides)&&(this.transferData=n,this.overrides=n.overrides);const i=this.mediaSource=n.mediaSource||new s;if(this.assignMediaSource(i),e)this._objectUrl=t.src,this.attachTransferred();else{const e=this._objectUrl=self.URL.createObjectURL(i);if(this.appendSource)try{t.removeAttribute("src");const n=self.ManagedMediaSource;t.disableRemotePlayback=t.disableRemotePlayback||n&&i instanceof n,Li(t),function(e,n){const t=self.document.createElement("source");t.type="video/mp4",t.src=n,e.appendChild(t)}(t,e),t.load()}catch(n){t.src=e}else t.src=e}t.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var n,t;this.log(`${(null==(n=this.transferData)?void 0:n.mediaSource)===e?"transferred":"created"} media source: ${null==(t=e.constructor)?void 0:t.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){const e=this.media,n=this.transferData;if(!n||!e)return;const t=this.tracks,s=n.tracks,i=s?Object.keys(s):null,r=i?i.length:0,o=()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()};if(s&&i&&r){if(!this.tracksReady)return this.hls.config.startFragPrefetch=!0,void this.log("attachTransferred: waiting for SourceBuffer track info");if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}
2)\nrequired tracks: ${Ve(t,((e,n)=>"initSegment"===e?void 0:n))};\ntransfer tracks: ${Ve(s,((e,n)=>"initSegment"===e?void 0:n))}}`),!A(s,t)){n.mediaSource=null,n.tracks=void 0;const i=e.currentTime,r=this.details,o=Math.max(i,(null==r?void 0:r.fragments[0].start)||0);return o-i>1?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${i} -> ${o}`):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(s)}"->"${Object.keys(t)}") start time: ${o} currentTime: ${i}`),this.onMediaDetaching(a.MEDIA_DETACHING,{}),this.onMediaAttaching(a.MEDIA_ATTACHING,n),void(e.currentTime=o))}this.transferData=void 0,i.forEach((e=>{const n=e,t=s[n];if(t){const e=t.buffer;if(e){const s=this.fragmentTracker,i=t.id;if(s.hasFragments(i)||s.hasParts(i)){const t=Dn.getBuffered(e);s.detectEvictedFragments(n,t,i,null,!0)}const a=Ci(n),r=[n,e];this.sourceBuffers[a]=r,e.updating&&this.operationQueue&&this.operationQueue.prependBlocker(n),this.trackSourceBuffer(n,t)}}})),o(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),o()}get mediaSourceOpenOrEnded(){var e;const n=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===n||"ended"===n}onMediaDetaching(e,n){const t=!!n.transferMedia;this.transferData=this.overrides=void 0;const{media:s,mediaSource:i,_objectUrl:r}=this;if(i){if(this.log("media source "+(t?"transferring":"detaching")),t)this.sourceBuffers.forEach((([e])=>{e&&this.removeBuffer(e)})),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){const e="open"===i.readyState;try{const n=i.sourceBuffers;for(let t=n.length;t--;)e&&n[t].abort(),i.removeSourceBuffer(n[t]);e&&i.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}i.removeEventListener("sourceopen",this._onMediaSourceOpen),i.removeEventListener("sourceended",this._onMediaSourceEnded),i.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(i.removeEventListener("startstreaming",this._onStartStreaming),i.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}s&&(s.removeEventListener("emptied",this._onMediaEmptied),t||(r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(s.removeAttribute("src"),this.appendSource&&Li(s),s.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(a.MEDIA_DETACHED,n)}onBufferReset(){this.sourceBuffers.forEach((([e])=>{e&&this.resetBuffer(e)})),this.initTracks()}resetBuffer(e){var n;const t=null==(n=this.tracks[e])?void 0:n.buffer;if(this.removeBuffer(e),t)try{var s;null!=(s=this.mediaSource)&&s.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}catch(n){this.warn(`onBufferReset ${e}`,n)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[Ci(e)]=[null,null];const n=this.tracks[e];n&&(n.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new Ei(this.tracks)}onBufferCodecs(e,n){const t=this.tracks,s=Object.keys(n);this.log(`BUFFER_CODECS: "${s}" (current SB count ${this.sourceBufferCount})`);const i="audiovideo"in n&&(t.audio||t.video)||t.audiovideo&&("audio"in n||"video"in n),a=!i&&this.sourceBufferCount&&this.media&&s.some((e=>!t[e]));i||a?this.warn(`Unsupported transition between "${Object.keys(t)}" and "${s}" SourceBuffers`):(s.forEach((e=>{var s,i,a;const r=n[e],{id:o,codec:l,levelCodec:c,container:d,metadata:u,supplemental:p}=r;let h=t[e];const m=null==(s=this.transferData)||null==(i=s.tracks)?void 0:i[e],v=null!=m&&m.buffer?m:h,g=(null==v?void 0:v.pendingCodec)||(null==v?void 0:v.codec),f=null==v?void 0:v.levelCodec;h||(h=t[e]={buffer:void 0,listeners:[],codec:l,supplemental:p,container:d,levelCodec:c,metadata:u,id:o});const _=Ce(g,f),b=null==_?void 0:_.replace(xi,"$1");let y=Ce(l,c);const w=null==(a=y)?void 0:a.replace(xi,"$1");y&&_&&b!==w&&("audio"===e.slice(0,5)&&(y=Le(y,this.appendSource)),this.log(`switching codec ${g} to ${y}`),y!==(h.pendingCodec||h.codec)&&(h.pendingCodec=y),h.container=d,this.appendChangeType(e,d,y))})),(this.tracksReady||this.sourceBufferCount)&&(n.tracks=this.sourceBufferTracks),this.sourceBufferCount||this.mediaSourceOpenOrEnded&&this.checkPendingTracks())}get sourceBufferTracks(){return Object.keys(this.tracks).reduce(((e,n)=>{const t=this.tracks[n];return e[n]={id:t.id,container:t.container,codec:t.codec,levelCodec:t.levelCodec},e}),{})}appendChangeType(e,n,t){const s=`${n};codecs=${t}`,i={label:`change-type=${s}`,execute:()=>{const i=this.tracks[e];if(i){const a=i.buffer;null!=a&&a.changeType&&(this.log(`changing ${e} sourceBuffer type to ${s}`),a.changeType(s),i.codec=t,i.container=n)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};this.append(i,e,this.isPending(this.tracks[e]))}blockAudio(e){var n;const t=e.start,s=t+.05*e.duration;if(!0===(null==(n=this.fragmentTracker.getAppendedFrag(t,d))?void 0:n.gap))return;const i={label:"block-audio",execute:()=>{var e;const n=this.tracks.video;(this.lastVideoAppendEnd>s||null!=n&&n.buffer&&Dn.isBuffered(n.buffer,s)||!0===(null==(e=this.fragmentTracker.getAppendedFrag(s,d))?void 0:e.gap))&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}};this.blockedAudioAppend={op:i,frag:e},this.append(i,"audio",!0)}unblockAudio(){const{blockedAudioAppend:e,operationQueue:n}=this;e&&n&&(this.blockedAudioAppend=null,n.unblockAudio(e.op))}onBufferAppending(n,t){const{tracks:r}=this,{data:o,type:l,parent:c,frag:d,part:u,chunkMeta:p,offset:h}=t,m=p.buffering[l],{sn:v,cc:g}=d,f=self.performance.now();
vendor: 2,180 bytes, line 2
2m.start=f;const _=d.stats.buffering,b=u?u.stats.buffering:null;0===_.start&&(_.start=f),b&&0===b.start&&(b.start=f);const y=r.audio;let w=!1;"audio"===l&&"audio/mpeg"===(null==y?void 0:y.container)&&(w=!this.lastMpegAudioChunk||1===p.id||this.lastMpegAudioChunk.sn!==p.sn,this.lastMpegAudioChunk=p);const k=r.video,T=null==k?void 0:k.buffer;if(T&&"initSegment"!==v){const e=u||d,n=this.blockedAudioAppend;if("audio"!==l||"main"===c||this.blockedAudioAppend){if("video"===l){const t=e.end;if(n){const e=n.frag.start;(t>e||t<this.lastVideoAppendEnd||Dn.isBuffered(T,e))&&this.unblockAudio()}this.lastVideoAppendEnd=t}}else{const n=e.start+.05*e.duration,t=T.buffered,s=this.currentOp("video");t.length||s?!s&&!Dn.isBuffered(T,n)&&this.lastVideoAppendEnd<n&&this.blockAudio(e):this.blockAudio(e)}}const E=(u||d).start,x={label:`append-${l}`,execute:()=>{var n;m.executeStart=self.performance.now();const t=null==(n=this.tracks[l])?void 0:n.buffer;t&&(w?this.updateTimestampOffset(t,E,.1,l,v,g):void 0!==h&&e(h)&&this.updateTimestampOffset(t,h,1e-6,l,v,g)),this.appendExecutor(o,l)},onStart:()=>{},onComplete:()=>{const e=self.performance.now();m.executeEnd=m.end=e,0===_.first&&(_.first=e),b&&0===b.first&&(b.first=e);const n={};this.sourceBuffers.forEach((([e,t])=>{e&&(n[e]=Dn.getBuffered(t))})),this.appendErrors[l]=0,"audio"===l||"video"===l?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(a.BUFFER_APPENDED,{type:l,frag:d,part:u,chunkMeta:p,parent:d.type,timeRanges:n})},onError:e=>{var n;const t={type:s.MEDIA_ERROR,parent:d.type,details:i.BUFFER_APPEND_ERROR,sourceBufferName:l,frag:d,part:u,chunkMeta:p,error:e,err:e,fatal:!1},r=null==(n=this.media)?void 0:n.error;if(e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e)t.details=i.BUFFER_FULL_ERROR;else if(e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!r)t.errorAction=pn(!0);else if(e.name===Si&&0===this.sourceBufferCount)t.errorAction=pn(!0);else{const e=++this.appendErrors[l];this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${l}" sourceBuffer (${r||"no media error"}
2)`),(e>=this.hls.config.appendErrorMaxRetry||r)&&(t.fatal=!0)}this.hls.trigger(a.ERROR,t)}};this.append(x,l,this.isPending(this.tracks[l]))}getFlushOp(e,n,t){return this.log(`queuing "${e}" remove ${n}-${t}`),{label:"remove",execute:()=>{this.removeExecutor(e,n,t)},onStart:()=>{},onComplete:()=>{this.hls.trigger(a.BUFFER_FLUSHED,{type:e})},onError:s=>{this.warn(`Failed to remove ${n}-${t} from "${e}" SourceBuffer`,s)}}}onBufferFlushing(e,n){const{type:t,startOffset:s,endOffset:i}=n;t?this.append(this.getFlushOp(t,s,i),t):this.sourceBuffers.forEach((([e])=>{e&&this.append(this.getFlushOp(e,s,i),e)}))}onFragParsed(e,n){const{frag:t,part:s}=n,i=[],r=s?s.elementaryStreams:t.elementaryStreams;r[G]?i.push("audiovideo"):(r[U]&&i.push("audio"),r[j]&&i.push("video")),0===i.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${t.type} level: ${t.level} sn: ${t.sn}`),this.blockBuffers((()=>{const e=self.performance.now();t.stats.buffering.end=e,s&&(s.stats.buffering.end=e);const n=s?s.stats:t.stats;this.hls.trigger(a.FRAG_BUFFERED,{frag:t,part:s,stats:n,id:t.type})}),i).catch((e=>{this.warn(`Fragment buffered callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)}))}onFragChanged(e,n){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some((([e])=>{var n,t;return e&&(!(null!=(n=this.tracks[e])&&n.ended)||(null==(t=this.tracks[e])?void 0:t.ending))}))}onBufferEos(e,n){var t;this.sourceBuffers.forEach((([e])=>{if(e){const t=this.tracks[e];n.type&&n.type!==e||(t.ending=!0,t.ended||(t.ended=!0,this.log(`${e} buffer reached EOS`)))}}));const s=!1!==(null==(t=this.overrides)?void 0:t.endOfStream);this.sourceBufferCount>0&&!this.sourceBuffers.some((([e])=>{var n;return e&&!(null!=(n=this.tracks[e])&&n.ended)}))&&(s?(this.log("Queueing EOS"),this.blockUntilOpen((()=>{this.tracksEnded();const{mediaSource:e}=this;e&&"open"===e.readyState?(this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(a.BUFFERED_TO_END,void 0)):e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`)}))):(this.tracksEnded(),this.hls.trigger(a.BUFFERED_TO_END,void 0)))}tracksEnded(){this.sourceBuffers.forEach((([e])=>{if(null!==e){const n=this.tracks[e];n&&(n.ending=!1)}}))}onLevelUpdated(e,{details:n}){n.fragments.length&&(this.details=n,this.updateDuration())}updateDuration(){this.blockUntilOpen((()=>{const e=this.getDurationAndRange();e&&this.updateMediaSource(e)}))}onError(n,t){if(t.details===i.BUFFER_APPEND_ERROR&&t.frag){var s;const n=null==(s=t.errorAction)?void 0:s.nextAutoLevel;e(n)&&n!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){const{hls:n,details:t,media:s}=this;if(!s||null===t)return;if(!this.sourceBufferCount)return;const i=n.config,a=s.currentTime,r=t.levelTargetDuration,o=t.live&&null!==i.liveBackBufferLength?i.liveBackBufferLength:i.backBufferLength;if(e(o)&&o>=0){const e=Math.max(o,r),n=Math.floor(a/r)*r-e;this.flushBackBuffer(a,r,n)}if(e(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){const e=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),n=Math.max(e,r),t=Math.floor(a/r)*r+n;this.flushFrontBuffer(a,r,t)}}flushBackBuffer(e,n,t){this.sourceBuffers.forEach((([e,n])=>{if(n){const i=Dn.getBuffered(n);if(i.length>0&&t>i.start(0)){var s;this.hls.trigger(a.BACK_BUFFER_REACHED,{bufferEnd:t});const n=this.tracks[e];if(null!=(s=this.details)&&s.live)this.hls.trigger(a.LIVE_BACK_BUFFER_REACHED,{bufferEnd:t});else if(null!=n&&n.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(a.BUFFER_FLUSHING,{startOffset:0,endOffset:t,type:e})}}}))}flushFrontBuffer(e,n,t){this.sourceBuffers.forEach((([n,s])=>{if(s){const i=Dn.getBuffered(s),r=i.length;if(r<2)return;const o=i.start(r-1),l=i.end(r-1);if(t>o||e>=o&&e<=l)return;this.hls.trigger(a.BUFFER_FLUSHING,{startOffset:o,endOffset:1/0,type:n})}}))}getDurationAndRange(){var n;const{details:t,mediaSource:s}=this;if(!t||!this.media||"open"!==(null==s?void 0:s.readyState))return null;const i=t.edge;
vendor: 5,326 bytes, line 2
2if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&t.live&&s.setLiveSeekableRange){const e=Math.max(0,t.fragmentStart);return{duration:1/0,start:e,end:Math.max(e,i)}}return{duration:1/0}}const a=null==(n=this.overrides)?void 0:n.duration;if(a)return e(a)?{duration:a}:null;const r=this.media.duration;return i>(e(s.duration)?s.duration:0)&&i>r||!e(r)?{duration:i}:null}updateMediaSource({duration:n,start:t,end:s}){const i=this.mediaSource;this.media&&i&&"open"===i.readyState&&(i.duration!==n&&(e(n)&&this.log(`Updating MediaSource duration to ${n.toFixed(3)}`),i.duration=n),void 0!==t&&void 0!==s&&(this.log(`MediaSource duration is set to ${i.duration}. Setting seekable range to ${t}-${s}.`),i.setLiveSeekableRange(t,s)))}get tracksReady(){const e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){const{bufferCodecEventsTotal:e,pendingTrackCount:n,tracks:t}=this;if(this.log(`checkPendingTracks (pending: ${n} codec events expected: ${e}) ${Ve(t)}`),this.tracksReady){var s;const e=null==(s=this.transferData)?void 0:s.tracks;e&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){const e={};this.sourceBuffers.forEach((([n,t])=>{if(n){const s=this.tracks[n];e[n]={buffer:t,container:s.container,codec:s.codec,supplemental:s.supplemental,levelCodec:s.levelCodec,id:s.id,metadata:s.metadata}}})),this.hls.trigger(a.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach((([e])=>{this.executeNext(e)}))}else{const e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){const{tracks:e,sourceBuffers:n,mediaSource:t}=this;if(!t)throw new Error("createSourceBuffers called when mediaSource was null");for(const o in e){const l=o,c=e[l];if(this.isPending(c)){const e=this.getTrackCodec(c,l),o=`${c.container};codecs=${e}`;c.codec=e,this.log(`creating sourceBuffer(${o})${this.currentOp(l)?" Queued":""} ${Ve(c)}`);try{const e=t.addSourceBuffer(o),s=Ci(l),i=[l,e];n[s]=i,c.buffer=e}catch(e){var r;return this.error(`error while trying to add sourceBuffer: ${e.message}`),this.shiftAndExecuteNext(l),null==(r=this.operationQueue)||r.removeBlockers(),delete this.tracks[l],void this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:l,mimeType:o,parent:c.id})}this.trackSourceBuffer(l,c)}}this.bufferCreated()}getTrackCodec(e,n){const t=e.supplemental;let s=e.codec;t&&("video"===n||"audiovideo"===n)&&we(t,"video")&&(s=function(e,n){const t=[];if(e){const n=e.split(",");for(let e=0;e<n.length;e++)ye(n[e],"video")||t.push(n[e])}return n&&t.push(n),t.join(",")}(s,t));const i=Ce(s,e.levelCodec);return i?"audio"===n.slice(0,5)?Le(i,this.appendSource):i:""}trackSourceBuffer(e,n){const t=n.buffer;if(!t)return;const s=this.getTrackCodec(n,e);this.tracks[e]={buffer:t,codec:s,container:n.container,levelCodec:n.levelCodec,supplemental:n.supplemental,metadata:n.metadata,id:n.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",((e,n)=>{const t=n.removedRanges;null!=t&&t.length&&this.hls.trigger(a.BUFFER_FLUSHED,{type:e})}))}get mediaSrc(){var e,n;const t=(null==(e=this.media)||null==(n=e.querySelector)?void 0:n.call(e,"source"))||this.media;return null==t?void 0:t.src}onSBUpdateStart(e){const n=this.currentOp(e);n&&n.onStart()}onSBUpdateEnd(e){var n;if("closed"===(null==(n=this.mediaSource)?void 0:n.readyState))return void this.resetBuffer(e);const t=this.currentOp(e);t&&(t.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,n){var t;const r=new Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(t=this.mediaSource)?void 0:t.readyState}`);this.error(`${r}`,n),this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});const o=this.currentOp(e);o&&o.onError(r)}updateTimestampOffset(e,n,t,s,i,a){const r=n-e.timestampOffset;Math.abs(r)>=t&&(this.log(`Updating ${s} SourceBuffer timestampOffset to ${n} (sn: ${i} cc: ${a})`),e.timestampOffset=n)}removeExecutor(n,t,s){const{media:i,mediaSource:a}=this,r=this.tracks[n],o=null==r?void 0:r.buffer;if(!i||!a||!o)return this.warn(`Attempting to remove from the ${n} SourceBuffer, but it does not exist`),void this.shiftAndExecuteNext(n);const l=e(i.duration)?i.duration:1/0,c=e(a.duration)?a.duration:1/0,d=Math.max(0,t),u=Math.min(s,l,c);u>d&&(!r.ending||r.ended)?(r.ended=!1,this.log(`Removing [${d},${u}] from the ${n} SourceBuffer`),o.remove(d,u)):this.shiftAndExecuteNext(n)}appendExecutor(e,n){const t=this.tracks[n],s=null==t?void 0:t.buffer;if(!s)throw new Ai(`Attempting to append to the ${n} SourceBuffer, but it does not exist`);t.ending=!1,t.ended=!1,s.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch((e=>{this.warn(`SourceBuffer blocked callback ${e}
2`),this.stepOperationQueue(this.sourceBufferTypes)}));else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} ${e}`)}}isUpdating(){return this.sourceBuffers.some((([e,n])=>e&&n.updating))}isQueued(){return this.sourceBuffers.some((([e])=>e&&!!this.currentOp(e)))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,n=this.sourceBufferTypes){if(!n.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);const{operationQueue:t}=this,s=n.map((e=>this.appendBlocker(e)));return n.length>1&&!!this.blockedAudioAppend&&this.unblockAudio(),Promise.all(s).then((n=>{t===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))}))}stepOperationQueue(e){e.forEach((e=>{var n;const t=null==(n=this.tracks[e])?void 0:n.buffer;t&&!t.updating&&this.shiftAndExecuteNext(e)}))}append(e,n,t){this.operationQueue&&this.operationQueue.append(e,n,t)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce(((e,n)=>e+(this.isPending(this.tracks[n])?1:0)),0)}get sourceBufferCount(){return this.sourceBuffers.reduce(((e,[n])=>e+(n?1:0)),0)}get sourceBufferTypes(){return this.sourceBuffers.map((([e])=>e)).filter((e=>!!e))}addBufferListener(e,n,t){const s=this.tracks[e];if(!s)return;const i=s.buffer;if(!i)return;const a=t.bind(this,e);s.listeners.push({event:n,listener:a}),i.addEventListener(n,a)}removeBufferListeners(e){const n=this.tracks[e];if(!n)return;const t=n.buffer;t&&(n.listeners.forEach((e=>{t.removeEventListener(e.event,e.listener)})),n.listeners.length=0)}},capLevelController:Ri,errorController:class extends b{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.hls=e,this.registerListeners()}registerListeners(){const e=this.hls;e.on(a.ERROR,this.onError,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const e=this.hls;e&&(e.off(a.ERROR,this.onError,this),e.off(a.ERROR,this.onErrorOut,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===d?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,n){var t;if(n.fatal)return;const a=this.hls,r=n.context;switch(n.details){case i.FRAG_LOAD_ERROR:case i.FRAG_LOAD_TIMEOUT:case i.KEY_LOAD_ERROR:case i.KEY_LOAD_TIMEOUT:return void(n.errorAction=this.getFragRetryOrSwitchAction(n));case i.FRAG_PARSING_ERROR:if(null!=(t=n.frag)&&t.gap)return void(n.errorAction=pn());case i.FRAG_GAP:case i.FRAG_DECRYPT_ERROR:return n.errorAction=this.getFragRetryOrSwitchAction(n),void(n.errorAction.action=2);case i.LEVEL_EMPTY_ERROR:case i.LEVEL_PARSING_ERROR:{var o,u;const e=n.parent===d?n.level:a.loadLevel;n.details===i.LEVEL_EMPTY_ERROR&&null!=(o=n.context)&&null!=(u=o.levelDetails)&&u.live?n.errorAction=this.getPlaylistRetryOrSwitchAction(n,e):(n.levelRetry=!1,n.errorAction=this.getLevelSwitchAction(n,e))}return;case i.LEVEL_LOAD_ERROR:case i.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==r?void 0:r.level)&&(n.errorAction=this.getPlaylistRetryOrSwitchAction(n,r.level)));case i.AUDIO_TRACK_LOAD_ERROR:case i.AUDIO_TRACK_LOAD_TIMEOUT:case i.SUBTITLE_LOAD_ERROR:case i.SUBTITLE_TRACK_LOAD_TIMEOUT:if(r){const e=a.loadLevelObj;if(e&&(r.type===l&&e.hasAudioGroup(r.groupId)||r.type===c&&e.hasSubtitleGroup(r.groupId)))return n.errorAction=this.getPlaylistRetryOrSwitchAction(n,a.loadLevel),n.errorAction.action=2,void(n.errorAction.flags=1)}return;case i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const e=a.loadLevelObj,t=null==e?void 0:e.attrs["HDCP-LEVEL"];t?n.errorAction={action:2,flags:2,hdcpLevel:t}:this.keySystemError(n)}return;
2case i.BUFFER_ADD_CODEC_ERROR:case i.REMUX_ALLOC_ERROR:case i.BUFFER_APPEND_ERROR:var p;return void(n.errorAction||(n.errorAction=this.getLevelSwitchAction(n,null!=(p=n.level)?p:a.loadLevel)));case i.INTERNAL_EXCEPTION:case i.BUFFER_APPENDING_ERROR:case i.BUFFER_FULL_ERROR:case i.LEVEL_SWITCH_ERROR:case i.BUFFER_STALLED_ERROR:case i.BUFFER_SEEK_OVER_HOLE:case i.BUFFER_NUDGE_ON_STALL:return void(n.errorAction=pn())}n.type===s.KEY_SYSTEM_ERROR&&this.keySystemError(n)}keySystemError(e){const n=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,n)}getPlaylistRetryOrSwitchAction(e,n){const t=ln(this.hls.config.playlistLoadPolicy,e),s=this.playlistError++;if(un(t,s,on(e),e.response))return{action:5,flags:0,retryConfig:t,retryCount:s};const i=this.getLevelSwitchAction(e,n);return t&&(i.retryConfig=t,i.retryCount=s),i}getFragRetryOrSwitchAction(e){const n=this.hls,t=this.getVariantLevelIndex(e.frag),s=n.levels[t],{fragLoadPolicy:a,keyLoadPolicy:r}=n.config,o=ln(e.details.startsWith("key")?r:a,e),l=n.levels.reduce(((e,n)=>e+n.fragmentError),0);if(s&&(e.details!==i.FRAG_GAP&&s.fragmentError++,un(o,l,on(e),e.response)))return{action:5,flags:0,retryConfig:o,retryCount:l};const c=this.getLevelSwitchAction(e,t);return o&&(c.retryConfig=o,c.retryCount=l),c}getLevelSwitchAction(e,n){const t=this.hls;null==n&&(n=t.loadLevel);const s=this.hls.levels[n];if(s){var a,r;const n=e.details;s.loadError++,n===i.BUFFER_APPEND_ERROR&&s.fragmentError++;let m=-1;const{levels:v,loadLevel:g,minAutoLevel:f,maxAutoLevel:_}=t;t.autoLevelEnabled||t.config.preserveManualLevelOnError||(t.loadLevel=-1);const b=null==(a=e.frag)?void 0:a.type,y=(b===u&&n===i.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(n===i.BUFFER_ADD_CODEC_ERROR||n===i.BUFFER_APPEND_ERROR))&&v.some((({audioCodec:e})=>s.audioCodec!==e)),w="video"===e.sourceBufferName&&(n===i.BUFFER_ADD_CODEC_ERROR||n===i.BUFFER_APPEND_ERROR)&&v.some((({codecSet:e,audioCodec:n}
2)=>s.codecSet!==e&&s.audioCodec===n)),{type:k,groupId:T}=null!=(r=e.context)?r:{};for(let t=v.length;t--;){const a=(t+g)%v.length;if(a!==g&&a>=f&&a<=_&&0===v[a].loadError){var o,h;const t=v[a];if(n===i.FRAG_GAP&&b===d&&e.frag){const n=v[a].details;if(n){const t=tn(e.frag,n.fragments,e.frag.start);if(null!=t&&t.gap)continue}}else{if(k===l&&t.hasAudioGroup(T)||k===c&&t.hasSubtitleGroup(T))continue;if(b===u&&null!=(o=s.audioGroups)&&o.some((e=>t.hasAudioGroup(e)))||b===p&&null!=(h=s.subtitleGroups)&&h.some((e=>t.hasSubtitleGroup(e)))||y&&s.audioCodec===t.audioCodec||!y&&s.audioCodec!==t.audioCodec||w&&s.codecSet===t.codecSet)continue}m=a;break}}if(m>-1&&t.loadLevel!==m)return e.levelRetry=!0,this.playlistError=0,{action:2,flags:0,nextAutoLevel:m}}return{action:2,flags:1}}onErrorOut(e,n){var t;switch(null==(t=n.errorAction)?void 0:t.action){case 0:break;case 2:this.sendAlternateToPenaltyBox(n),n.errorAction.resolved||n.details===i.FRAG_GAP?/MediaSource readyState: ended/.test(n.error.message)&&(this.warn(`MediaSource ended after "${n.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):n.fatal=!0}n.fatal&&this.hls.stopLoad()}sendAlternateToPenaltyBox(e){const n=this.hls,t=e.errorAction;if(!t)return;const{flags:s,hdcpLevel:i,nextAutoLevel:a}=t;switch(s){case 0:this.switchLevel(e,a);break;case 2:i&&(n.maxHdcpLevel=Ue[Ue.indexOf(i)-1],t.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${n.maxHdcpLevel}" or lower`)}t.resolved||this.switchLevel(e,a)}switchLevel(e,n){if(void 0!==n&&e.errorAction&&(this.warn(`switching to level ${n} after ${e.details}`),this.hls.nextAutoLevel=n,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===i.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&"audiovideo"!==e.sourceBufferName)){const n=De(e.mimeType),t=this.hls.levels;for(let s=t.length;s--;)t[s][`${e.sourceBufferName}Codec`]===n&&this.hls.removeLevel(s)}}},fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(a.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(a.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(a.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(a.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,n){const t=this.hls.config;if(t.capLevelOnFPSDrop){const e=n.media instanceof self.HTMLVideoElement?n.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),t.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,n,t){const s=performance.now();if(n){if(this.lastTime){const e=s-this.lastTime,i=t-this.lastDroppedFrames,r=n-this.lastDecodedFrames,o=1e3*i/e,l=this.hls;if(l.trigger(a.FPS_DROP,{currentDropped:i,currentDecoded:r,totalDroppedFrames:t}),o>0&&i>l.config.fpsDroppedMonitoringThreshold*r){let e=l.currentLevel;l.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===l.autoLevelCapping||l.autoLevelCapping>=e)&&(e-=1,l.trigger(a.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:l.currentLevel}),l.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=t,this.lastDecodedFrames=n}}checkFPSInterval(){const e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){const n=e.getVideoPlaybackQuality();this.checkFPS(e,n.totalVideoFrames,n.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:at,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoa
2dPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:Or,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends zt{constructor(e,n,t){super(e,n,t,"subtitle-stream-controller",p),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(a.LEVEL_LOADED,this.onLevelLoaded,this),e.on(a.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(a.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(a.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(a.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(a.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(a.LEVEL_LOADED,this.onLevelLoaded,this),e.off(a.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(a.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(a.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(a.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(a.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,n){this.stopLoad(),this.state=Gt.IDLE,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,n){this.tracksBuffered=[],super.onMediaDetaching(e,n)}onLevelLoaded(e,n){this.mainDetails=n.details}onSubtitleFragProcessed(e,n){const{frag:t,success:s}=n;if(this.fragContextChanged(t)||(q(t)&&(this.fragPrevious=t),this.state=Gt.IDLE),!s)return;const i=this.tracksBuffered[this.currentTrackId];if(!i)return;let a;const r=t.start;for(let e=0;e<i.length;e++)if(r>=i[e].start&&r<=i[e].end){a=i[e];break}const o=t.start+t.duration;a?a.end=o:(a={start:r,end:o},i.push(a)),this.fragmentTracker.fragBuffered(t),this.fragBufferedComplete(t,null),this.media&&this.tick()}onBufferFlushing(e,n){const{startOffset:t,endOffset:s}=n;if(0===t&&s!==Number.POSITIVE_INFINITY){const e=s-1;if(e<=0)return;n.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach((n=>{for(let t=0;t<n.length;)if(n[t].end<=e)n.shift();else{if(!(n[t].start<e))break;n[t].start=e,t++}})),this.fragmentTracker.removeFragmentsInRange(t,e,p)}}onError(e,n){const t=n.frag;(null==t?void 0:t.type)===p&&(n.details===i.FRAG_GAP&&this.fragmentTracker.fragBuffered(t,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Gt.STOPPED&&(this.state=Gt.IDLE))}
2onSubtitleTracksUpdated(e,{subtitleTracks:n}){this.levels&&wi(this.levels,n)?this.levels=n.map((e=>new qe(e))):(this.tracksBuffered=[],this.levels=n.map((e=>{const n=new qe(e);return this.tracksBuffered[n.id]=[],n})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,p),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(e,n){var t;if(this.currentTrackId=n.id,null==(t=this.levels)||!t.length||-1===this.currentTrackId)return void this.clearInterval();const s=this.levels[this.currentTrackId];null!=s&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.state!==Gt.STOPPED&&this.setInterval(500)}onSubtitleTrackLoaded(e,n){var t;const{currentTrackId:s,levels:i}=this,{details:r,id:o}=n;if(!i)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);const l=i[o];if(o>=i.length||!l)return;this.log(`Subtitle track ${o} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let c=0;if(r.live||null!=(t=l.details)&&t.live){if(r.deltaUpdateFailed)return;const e=this.mainDetails;if(!e)return void(this.startFragRequested=!1);const n=e.fragments[0];var d;l.details?(c=this.alignPlaylists(r,l.details,null==(d=this.levelLastLoaded)?void 0:d.details),0===c&&n&&(c=n.start,It(r,c))):r.hasProgramDateTime&&e.hasProgramDateTime?(jt(r,e),c=r.fragmentStart):n&&(c=n.start,It(r,c)),e&&!this.startFragRequested&&this.setStartPosition(e,c)}l.details=r,this.levelLastLoaded=l,o===s&&(this.hls.trigger(a.SUBTITLE_TRACK_UPDATED,{details:r,id:o,groupId:n.groupId}),this.tick(),r.live&&!this.fragCurrent&&this.media&&this.state===Gt.IDLE)&&(tn(null,r.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0))}_handleFragmentLoadComplete(e){const{frag:n,payload:t}=e,r=n.decryptdata,o=this.hls;if(!this.fragContextChanged(n)&&t&&t.byteLength>0&&null!=r&&r.key&&r.iv&&Kn(r.method)){const e=performance.now();this.decrypter.decrypt(new Uint8Array(t),r.key.buffer,r.iv.buffer,Vn(r.method)).catch((e=>{throw o.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:n}),e})).then((t=>{const s=performance.now();o.trigger(a.FRAG_DECRYPTED,{frag:n,payload:t,stats:{tstart:e,tdecrypt:s}})})).catch((e=>{this.warn(`${e.name}: ${e.message}`),this.state=Gt.IDLE}))}}doTick(){if(this.media){if(this.state===Gt.IDLE){const{currentTrackId:e,levels:n}=this,t=null==n?void 0:n[e];if(!t||!n.length||!t.details)return;if(this.waitForLive(t))return;const{config:s}=this,i=this.getLoadPosition(),a=Dn.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],i,s.maxBufferHole),{end:r,len:o}=a,l=t.details;if(o>this.hls.maxBufferLength+l.levelTargetDuration)return;const c=l.fragments,d=c.length,u=l.edge;let p=null;const h=this.fragPrevious;if(r<u){const e=s.maxFragLookUpTolerance,n=r>u-e?0:e;p=tn(h,c,Math.max(c[0].start,r),n),!p&&h&&h.start<c[0].start&&(p=c[0])}else p=c[d-1];if(p=this.filterReplacedPrimary(p,t.details),!p)return;const m=c[p.sn-l.startSN-1];if(m&&m.cc===p.cc&&this.fragmentTracker.getState(m)===hn&&(p=m),this.fragmentTracker.getState(p)===hn){const e=this.mapToInitFragWhenRequired(p);e&&this.loadFragment(e,t,r)}}}else this.state=Gt.IDLE}loadFragment(e,n,t){q(e)?super.loadFragment(e,n,t):this._loadInitSegment(e,n)}get mediaBufferTimeRanges(){return new Ua(this.tracksBuffered[this.currentTrackId]||[])}},subtitleTrackController:class extends yi{constructor(e){super(e,"subtitle-track-controller"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null;const n=xa(this.media.textTracks);for(let t=0;t<n.length;t++)if("hidden"===n[t].mode)e=n[t];else if("showing"===n[t].mode){e=n[t];break}const t=this.findTrackForTextTrack(e);this.subtitleTrack!==t&&this.setSubtitleTrack(t)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){const{hls:e}=this;
2e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_PARSED,this.onManifestParsed,this),e.on(a.LEVEL_LOADING,this.onLevelLoading,this),e.on(a.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(a.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(a.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_PARSED,this.onManifestParsed,this),e.off(a.LEVEL_LOADING,this.onLevelLoading,this),e.off(a.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(a.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(a.ERROR,this.onError,this)}onMediaAttached(e,n){this.media=n.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,n){const t=this.media;if(!t)return;const s=!!n.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||t.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,s||xa(t.textTracks).forEac
2h((e=>{Ta(e)}))}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.subtitleTracks}onSubtitleTrackLoaded(e,n){const{id:t,groupId:s,details:i}=n,a=this.tracksInGroup[t];if(!a||a.groupId!==s)return void this.warn(`Subtitle track with id:${t} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);const r=a.details;a.details=n.details,this.log(`Subtitle track ${t} "${a.name}" lang:${a.lang} group:${s} loaded [${i.startSN}-${i.endSN}]`),t===this.trackId&&this.playlistLoaded(t,n,r)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){const n=this.hls.levels[e];if(!n)return;const t=n.subtitleGroups||null,s=this.groupIds;let i=this.currentTrack;if(!t||(null==s?void 0:s.length)!==(null==t?void 0:t.length)||null!=t&&t.some((e=>-1===(null==s?void 0:s.indexOf(e))))){this.groupIds=t,this.trackId=-1,this.currentTrack=null;const e=this.tracks.filter((e=>!t||-1!==t.indexOf(e.groupId)));if(e.length)this.selectDefaultTrack&&!e.some((e=>e.default))&&(this.selectDefaultTrack=!1),e.forEach(((e,n)=>{e.id=n}));else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=e;const n=this.hls.config.subtitlePreference;if(!i&&n){this.selectDefaultTrack=!1;const t=Xe(n,e);if(t>-1)i=e[t];else{const e=Xe(n,this.tracks);i=this.tracks[e]}}let s=this.findTrackId(i);-1===s&&i&&(s=this.findTrackId(null));const r={subtitleTracks:e};this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==t?void 0:t.join(",")}" group-id`),this.hls.trigger(a.SUBTITLE_TRACKS_UPDATED,r),-1!==s&&-1===this.trackId&&this.setSubtitleTrack(s)}}findTrackId(e){const n=this.tracksInGroup,t=this.selectDefaultTrack;for(let s=0;s<n.length;s++){const i=n[s];if((!t||i.default)&&(t||e)&&(!e||Qe(i,e)))return s}if(e){for(let t=0;t<n.length;t++){const s=n[t];if(ki(e.attrs,s.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return t}for(let t=0;t<n.length;t++){const s=n[t];if(ki(e.attrs,s.attrs,["LANGUAGE"]))return t}}return-1}findTrackForTextTrack(e){if(e){const n=this.tracksInGroup;for(let t=0;t<n.length;t++)if(Ti(n[t],e))return t}return-1}onError(e,n){!n.fatal&&n.context&&(n.context.type!==c||n.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(n.context.groupId)||this.checkRetry(n))}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(-1===e.id)return this.setSubtitleTrack(-1),null;const n=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,n.length){const t=this.currentTrack;if(t&&Qe(e,t))return t;const s=Xe(e,this.tracksInGroup);if(s>-1){const e=this.tracksInGroup[s];return this.setSubtitleTrack(s),e}if(t)return null;{const t=Xe(e,n);if(t>-1)return n[t]}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);const t=e.id,s=e.groupId,i=this.getUrlWithDirectives(e.url,n),r=e.details,o=null==r?void 0:r.age;this.log(`Loading subtitle ${t} "${e.name}" lang:${e.lang} group:${s}${void 0!==(null==n?void 0:n.msn)?" at sn "+n.msn+" part "+n.part:""}${o&&r.live?" age "+o.toFixed(1)+(r.type?" "+r.type||0:""):""} ${i}`),this.hls.trigger(a.SUBTITLE_TRACK_LOADING,{url:i,id:t,groupId:s,deliveryDirectives:n||null,track:e})}toggleTrackModes(){const{media:e}=this;if(!e)return;const n=xa(e.textTracks),t=this.currentTrack;let s;if(t&&(s=n.filter((e=>Ti(t,e)))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${t.name}" and language "${t.lang}"`)),[].slice.call(n).forEach((e=>{"disabled"!==e.mode&&e!==s&&(e.mode="disabled")})),s){const e=this.subtitleDisplay?"showing":"hidden";s.mode!==e&&(s.mode=e)}}setSubtitleTrack(n){const t=this.tracksInGroup;if(!this.media)return void(this.queuedDefaultTrack=n);if(n<-1||n>=t.length||!e(n))return void this.warn(`Invalid subtitle track id: ${n}`);this.selectDefaultTrack=!1;const s=this.currentTrack,i=t[n]||null;if(this.trackId=n,this.currentTrack=i,this.toggleTrackModes(),!i)return void this.hls.trigger(a.SUBTITLE_TRACK_SWITCH,{id:n});const r=!!i.details&&!i.details.live;if(n===this.trackId&&i===s&&r)return;this.log(`Switching to subtitle-track ${n}`+(i?` "${i.name}" lang:${i.lang} group:${i.groupId}`:""));const{id:o,groupId:l="",name:c,type:d,url:u}=i;this.hls.trigger(a.SUBTITLE_TRACK_SWITCH,{id:o,groupId:l,name:c,type:d,url:u});const p=this.switchParams(i.url,null==s?void 0:s.details,i.details);this.loadPlaylist(p)}},timelineController:class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}}
2,e.on(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(a.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(a.FRAG_LOADING,this.onFragLoading,this),e.on(a.FRAG_LOADED,this.onFragLoaded,this),e.on(a.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(a.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(a.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(a.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(a.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:e}=this;e.off(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(a.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(a.FRAG_LOADING,this.onFragLoading,this),e.off(a.FRAG_LOADED,this.onFragLoaded,this),e.off(a.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(a.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(a.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(a.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(a.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){const e=new Rr(this,"textTrack1"),n=new Rr(this,"textTrack2"),t=new Rr(this,"textTrack3"),s=new Rr(this,"textTrack4");this.cea608Parser1=new sr(1,e,n),this.cea608Parser2=new sr(3,t,s)}addCues(e,n,t,s,i){let r=!1;for(let e=i.length;e--;){const s=i[e],a=(o=s[0],l=s[1],c=n,d=t,Math.min(l,d)-Math.max(o,c));if(a>=0&&(s[0]=Math.min(s[0],n),s[1]=Math.max(s[1],t),r=!0,a/(t-n)>.5))return}var o,l,c,d;if(r||i.push([n,t]),this.config.renderTextTracksNatively){const i=this.captionsTracks[e];this.Cues.newCue(i,n,t,s)}else{const i=this.Cues.newCue(null,n,t,s);this.hls.trigger(a.CUES_PARSED,{type:"captions",cues:i,track:e})}}onInitPtsFound(e,{frag:n,id:t,initPTS:s,timescale:i}){const{unparsedVttFrags:r}=this;t===d&&(this.initPTS[n.cc]={baseTime:s,timescale:i}),r.length&&(this.unparsedVttFrags=[],r.forEach((e=>{this.initPTS[e.frag.cc]?this.onFragLoaded(a.FRAG_LOADED,e):this.hls.trigger(a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:new Error("Subtitle discontinuity domain does not match main")})})))}getExistingTrack(e,n){const{media:t}=this;if(t)for(let s=0;s<t.textTracks.length;s++){const i=t.textTracks[s];if(Pr(i,{name:e,lang:n,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return i}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;const{captionsProperties:n,captionsTracks:t,media:s}=this,{label:i,languageCode:a}=n[e],r=this.getExistingTrack(i,a);if(r)t[e]=r,Ta(t[e]),wa(t[e],s);else{const n=this.createTextTrack("captions",i,a);n&&(n[e]=!0,t[e]=n)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;const n=this.captionsProperties[e];if(!n)return;const t={_id:e,label:n.label,kind:"captions",default:!!n.media&&!!n.media.default,closedCaptions:n.media};this.nonNativeCaptionsTracks[e]=t,this.hls.trigger(a.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[t]})}createTextTrack(e,n,t){const s=this.media;if(s)return s.addTextTrack(e,n,t)}onMediaAttaching(e,n){this.media=n.media,n.mediaSource||this._cleanTracks()}onMediaDetaching(e,n){const t=!!n.transferMedia;if(this.media=null,t)return;const{captionsTracks:s}=this;Object.keys(s).forEach((e=>{Ta(s[e]),delete s[e]})),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:e}=this;if(!e)return;const n=e.textTracks;
vendor: 5,952 bytes, line 2
2if(n)for(let e=0;e<n.length;e++)Ta(n[e])}onSubtitleTracksUpdated(e,n){const t=n.subtitleTracks||[],s=t.some((e=>e.textCodec===br));if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(wi(this.tracks,t))return void(this.tracks=t);if(this.textTracks=[],this.tracks=t,this.config.renderTextTracksNatively){const e=this.media,n=e?xa(e.textTracks):null;if(this.tracks.forEach(((e,t)=>{let s;if(n){let t=null;for(let s=0;s<n.length;s++)if(n[s]&&Pr(n[s],e)){t=n[s],n[s]=null;break}t&&(s=t)}if(s)Ta(s);else{const n=Ir(e);s=this.createTextTrack(n,e.name,e.lang),s&&(s.mode="disabled")}s&&this.textTracks.push(s)})),null!=n&&n.length){const e=n.filter((e=>null!==e)).map((e=>e.label));e.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const e=this.tracks.map((e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e})));this.hls.trigger(a.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,n){this.config.enableCEA708Captions&&n.captions&&n.captions.forEach((e=>{const n=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!n)return;const t=`textTrack${n[1]}`,s=this.captionsProperties[t];s&&(s.label=e.name,e.lang&&(s.languageCode=e.lang),s.media=e)}))}closedCaptionsForLevel(e){const n=this.hls.levels[e.level];return null==n?void 0:n.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,n){if(this.enabled&&n.frag.type===d){var t,s;const{cea608Parser1:e,cea608Parser2:i,lastSn:a}=this,{cc:r,sn:o}=n.frag,l=null!=(t=null==(s=n.part)?void 0:s.index)?t:-1;e&&i&&(o!==a+1||o===a&&l!==this.lastPartIndex+1||r!==this.lastCc)&&(e.reset(),i.reset()),this.lastCc=r,this.lastSn=o,this.lastPartIndex=l}}onFragLoaded(e,n){const{frag:t,payload:s}=n;if(t.type===p)if(s.byteLength){const e=t.decryptdata,i="stats"in n;if(null==e||!e.encrypted||i){const e=this.tracks[t.level],i=this.vttCCs;i[t.cc]||(i[t.cc]={start:t.start,prevCC:this.prevCC,new:!0},this.prevCC=t.cc),e&&e.textCodec===br?this._parseIMSC1(t,s):this._parseVTTs(n)}}else this.hls.trigger(a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,n){const t=this.hls;Tr(n,this.initPTS[e.cc],(n=>{this._appendCues(n,e.level),t.trigger(a.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})}),(n=>{t.logger.log(`Failed to parse IMSC1: ${n}`),t.trigger(a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:n})}))}_parseVTTs(n){var t;const{frag:s,payload:i}=n,{initPTS:r,unparsedVttFrags:o}=this,l=r.length-1;if(!r[s.cc]&&-1===l)return void o.push(n);const c=this.hls;!function(n,t,s,i,a,r,o){const l=new vr,c=L(new Uint8Array(n)).trim().replace(gr,"\n").split("\n"),d=[],u=t?function(e,n=1){return ei(e,9e4,1/n)}(t.baseTime,t.timescale):0;let p,h="00:00.000",m=0,v=0,g=!0;l.oncue=function(e){const n=s[i];let r=s.ccOffset;const o=(m-u)/9e4;if(null!=n&&n.new&&(void 0!==v?r=s.ccOffset=n.start:function(e,n,t){let s=e[n],i=e[s.prevCC];if(!i||!i.new&&s.new)return e.ccOffset=e.presentationOffset=s.start,void(s.new=!1);for(;null!=(a=i)&&a.new;){var a;e.ccOffset+=s.start-i.start,s.new=!1,s=i,i=e[s.prevCC]}e.presentationOffset=t}(s,i,o)),o){if(!t)return void(p=new Error("Missing initPTS for VTT MPEGTS"));r=o-s.presentationOffset}const l=e.endTime-e.startTime,c=oi(9e4*(e.startTime+r-v),9e4*a)/9e4;e.startTime=Math.max(c,0),e.endTime=Math.max(c+l,0);const h=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(h)),e.id||(e.id=_r(e.startTime,e.endTime,h)),e.endTime>0&&d.push(e)},l.onparsingerror=function(e){p=e},l.onflush=function(){p?o(p):r(d)},c.forEach((n=>{if(g){if(fr(n,"X-TIMESTAMP-MAP=")){g=!1,n.slice(16).split(",").forEach((e=>{fr(e,"LOCAL:")?h=e.slice(6):fr(e,"MPEGTS:")&&(m=parseInt(e.slice(7)))}));try{v=function(n){let t=parseInt(n.slice(-3));const s=parseInt(n.slice(-6,-4)),i=parseInt(n.slice(-9,-7)),a=n.length>9?parseInt(n.substring(0,n.indexOf(":"))):0;if(!(e(t)&&e(s)&&e(i)&&e(a)))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${n}`);return t+=1e3*s,t+=6e4*i,t+=36e5*a,t}(h)/1e3}catch(e){p=e}return}""===n&&(g=!1)}l.parse(n+"\n")})),l.flush()}(null!=(t=s.initSegment)&&t.data?ue(s.initSegment.data,new Uint8Array(i)).buffer:i,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,(e=>{this._appendCues(e,s.level),c.trigger(a.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})}),(e=>{const t="Missing initPTS for VTT MPEGTS"===e.message;t?o.push(n):this._fallbackToIMSC1(s,i),c.logger.log(`Failed to parse VTT cue: ${e}`),t&&l>s.cc||c.trigger(a.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:e})}))}_fallbackToIMSC1(e,n){const t=this.tracks[e.level];t.textCodec||Tr(n,this.initPTS[e.cc],(()=>{t.textCodec=br,this._parseIMSC1(e,n)}),(()=>{t.textCodec="wvtt"}))}_appendCues(e,n){const t=this.hls;if(this.config.renderTextTracksNatively){const t=this.textTracks[n];if(!t||"disabled"===t.mode)return;e.forEach((e=>ka(t,e)))}else{const s=this.tracks[n];if(!s)return;const i=s.default?"default":"subtitles"+n;t.trigger(a.CUES_PARSED,{type:"subtitles",cues:e,track:i})}}onFragDecrypted(e,n){const{frag:t}=n;t.type===p&&this.onFragLoaded(a.FRAG_LOADED,n)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,n){if(!this.enabled||!this.config.enableCEA708Captions)return;const{frag:t,samples:s}=n;if(t.type!==d||"NONE"!==this.closedCaptionsForLevel(t))for(let e=0;e<s.length;e++){const n=s[e].bytes;if(n){this.cea608Parser1||this.initCea608Parsers();const t=this.extractCea608Data(n);this.cea608Parser1.addData(s[e].pts,t[0]),this.cea608Parser2.addData(s[e].pts,t[1])}}}onBufferFlushing(e,{startOffset:n,endOffset:t,endOffsetSubtitles:s,type:i}){const{media:a}=this;if(a&&!(a.currentTime<t)){if(!i||"video"===i){const{captionsTracks:e}=this;Object.keys(e).forEach((s=>Ea(e[s],n,t)))}if(this.config.renderTextTracksNatively&&0===n&&void 0!==s){const{textTracks:e}=this;Object.keys(e).forEach((t=>Ea(e[t],n,s)))}}}extractCea608Data(e){const n=[[],[]],t=31&e[0];let s=2;
2for(let i=0;i<t;i++){const t=e[s++],i=127&e[s++],a=127&e[s++];if((0!==i||0!==a)&&4&t){const e=3&t;0!==e&&1!==e||(n[e].push(i),n[e].push(a))}}return n}},audioStreamController:class extends zt{constructor(e,n,t){super(e,n,t,"audio-stream-controller",u),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(a.LEVEL_LOADED,this.onLevelLoaded,this),e.on(a.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(a.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(a.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(a.BUFFER_RESET,this.onBufferReset,this),e.on(a.BUFFER_CREATED,this.onBufferCreated,this),e.on(a.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(a.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(a.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(a.FRAG_LOADING,this.onFragLoading,this),e.on(a.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){const{hls:e}=this;e&&(super.unregisterListeners(),e.off(a.LEVEL_LOADED,this.onLevelLoaded,this),e.off(a.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(a.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(a.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(a.BUFFER_RESET,this.onBufferReset,this),e.off(a.BUFFER_CREATED,this.onBufferCreated,this),e.off(a.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(a.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(a.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(a.FRAG_LOADING,this.onFragLoading,this),e.off(a.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:n,id:t,initPTS:s,timescale:i}){if(t===d){const e=n.cc,t=this.fragCurrent;if(this.initPTS[e]={baseTime:s,timescale:i},this.log(`InitPTS for cc: ${e} found from main: ${s}/${i}`),this.mainAnchor=n,this.state===Gt.WAITING_INIT_PTS){const t=this.waitingData;(!t&&!this.loadingParts||t&&t.frag.cc!==e)&&this.syncWithAnchor(n,null==t?void 0:t.frag)}else!this.hls.hasEnoughToStart&&t&&t.cc!==e?(t.abortRequests(),this.syncWithAnchor(n,t)):this.state===Gt.IDLE&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,n){var t;const s=(null==(t=this.mainFragLoading)?void 0:t.frag)||null;if(n&&(null==s?void 0:s.cc)===n.cc)return;const i=(s||e).cc,a=rn(this.getLevelDetails(),i,this.getLoadPosition());a&&(this.log(`Waiting fragment cc (${null==n?void 0:n.cc}) cancelled because video is at cc ${e.cc}`),this.startFragRequested=!1,this.nextLoadPosition=a.start,this.resetLoadingState(),this.state===Gt.IDLE&&this.doTickIdle())}startLoad(e,n){if(!this.levels)return this.startPosition=e,void(this.state=Gt.STOPPED);const t=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),t>0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=Gt.IDLE):this.state=Gt.WAITING_TRACK,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,this.tick()}doTick(){switch(this.state){case Gt.IDLE:this.doTickIdle();break;case Gt.WAITING_TRACK:{const{levels:e,trackId:n}=this,t=null==e?void 0:e[n],s=null==t?void 0:t.details;if(s&&!this.waitForLive(t)){if(this.waitForCdnTuneIn(s))break;this.state=Gt.WAITING_INIT_PTS}break}case Gt.FRAG_LOADING_WAITING_RETRY:{var e;const n=performance.now(),t=this.retryDate;if(!t||n>=t||null!=(e=this.media)&&e.seeking){const{levels:e,trackId:n}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==e?void 0:e[n])||null),this.state=Gt.IDLE}break}case Gt.WAITING_INIT_PTS:{const e=this.waitingData;if(e){const{frag:n,part:t,cache:s,complete:i}=e,a=this.mainAnchor;if(void 0!==this.initPTS[n.cc]){this.waitingData=null,this.state=Gt.FRAG_LOADING;const e={frag:n,part:t,payload:s.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(e),i&&super._handleFragmentLoadComplete(e)}
vendor: 12,957 bytes, line 2
2else a&&a.cc!==e.frag.cc&&this.syncWithAnchor(a,e.frag)}else this.state=Gt.IDLE}}this.onTickEnd()}resetLoadingState(){const e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){const{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;const{hls:n,levels:t,media:s,trackId:i}=this,r=n.config;if(!this.buffering||!s&&!this.primaryPrefetch&&(this.startFragRequested||!r.startFragPrefetch)||null==t||!t[i])return;const o=t[i],l=o.details;if(!l||this.waitForLive(o)||this.waitForCdnTuneIn(l))return this.state=Gt.WAITING_TRACK,void(this.startFragRequested=!1);const c=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&c&&(this.bufferFlushed=!1,this.afterBufferFlushed(c,U,u));const p=this.getFwdBufferInfo(c,u);if(null===p)return;if(!this.switchingTrack&&this._streamEnded(p,l))return n.trigger(a.BUFFER_EOS,{type:"audio"}),void(this.state=Gt.ENDED);const h=p.len,m=n.maxBufferLength,v=l.fragments,g=v[0].start,f=this.getLoadPosition(),_=this.flushing?f:p.end;if(this.switchingTrack&&s){const e=f;l.PTSKnown&&e<g&&(p.end>g||p.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),s.currentTime=g+.05)}if(h>=m&&!this.switchingTrack&&_<v[v.length-1].start)return;let b=this.getNextFragment(_,l);if(b&&this.isLoopLoading(b,_)&&(b=this.getNextFragmentLoopLoading(b,l,p,d,m)),!b)return void(this.bufferFlushed=!0);let y=(null==(e=this.mainFragLoading)?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&y&&q(b)&&!b.endList&&(!l.live||!this.loadingParts&&_<this.hls.liveSyncPosition)&&(this.fragmentTracker.getState(y)===gn&&(this.mainFragLoading=y=null),y&&q(y))){if(b.start>y.end){const e=this.fragmentTracker.getFragAtPos(_,d);e&&e.end>y.end&&(y=e,this.mainFragLoading={frag:e,targetBufferTime:null})}if(b.start>y.end)return}this.loadFragment(b,o,_)}onMediaDetaching(e,n){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,n)}onAudioTracksUpdated(e,{audioTracks:n}){this.resetTransmuxer(),this.levels=n.map((e=>new qe(e)))}onAudioTrackSwitching(e,n){const t=!!n.url;this.trackId=n.id;const{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),t?(this.switchingTrack=n,this.flushAudioIfNeeded(n),this.state!==Gt.STOPPED&&(this.setInterval(100),this.state=Gt.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=n,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,n){this.mainDetails=n.details;const t=this.cachedTrackLoadedData;t&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(a.AUDIO_TRACK_LOADED,t))}onAudioTrackLoaded(e,n){var t;const{levels:s}=this,{details:i,id:r,groupId:o,track:l}=n;if(!s)return void this.warn(`Audio tracks reset while loading track ${r} "${l.name}" of "${o}"`);const c=this.mainDetails;if(!c||i.endCC>c.endCC||c.expired)return this.cachedTrackLoadedData=n,void(this.state!==Gt.STOPPED&&(this.state=Gt.WAITING_TRACK));this.cachedTrackLoadedData=null,this.log(`Audio track ${r} "${l.name}" of "${o}" loaded [${i.startSN},${i.endSN}]${i.lastPartSn?`[part-${i.lastPartSn}-${i.lastPartIndex}]`:""},duration:${i.totalduration}`);const d=s[r];let u=0;if(i.live||null!=(t=d.details)&&t.live){if(this.checkLiveUpdate(i),i.deltaUpdateFailed)return;var p;d.details&&(u=this.alignPlaylists(i,d.details,null==(p=this.levelLastLoaded)?void 0:p.details)),i.alignedSliding||(Ut(i,c),i.alignedSliding||jt(i,c),u=i.fragmentStart)}d.details=i,this.levelLastLoaded=d,this.startFragRequested||this.setStartPosition(c,u),this.hls.trigger(a.AUDIO_TRACK_UPDATED,{details:i,id:r,groupId:n.groupId}),this.state!==Gt.WAITING_TRACK||this.waitForCdnTuneIn(i)||(this.state=Gt.IDLE),this.tick()}_handleFragmentLoadProgress(e){var n;const t=e.frag,{part:s,payload:i}=e,{config:a,trackId:r,levels:o}=this;if(!o)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${t.sn} of level ${t.level} will not be buffered`);const l=o[r];if(!l)return void this.warn("Audio track is undefined on fragment load progress");const c=l.details;if(!c)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(t.start);const d=a.defaultAudioCodec||l.audioCodec||"mp4a.40.2";let p=this.transmuxer;p||(p=this.transmuxer=new bi(this.hls,u,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const h=this.initPTS[t.cc],m=null==(n=t.initSegment)?void 0:n.data;if(void 0!==h){const e=!1,n=s?s.index:-1,a=-1!==n,r=new In(t.level,t.sn,t.stats.chunkCount,i.byteLength,n,a);p.push(i,m,d,"",t,s,c.totalduration,e,r,h)}else{this.log(`Unknown video PTS for cc ${t.cc}, waiting for video PTS before demuxing audio frag ${t.sn} of [${c.startSN} ,${c.endSN}],track ${r}`);const{cache:e}=this.waitingData=this.waitingData||{frag:t,part:s,cache:new Kt,complete:!1};e.push(new Uint8Array(i)),this.state!==Gt.STOPPED&&(this.state=Gt.WAITING_INIT_PTS)}}_handleFragmentLoadComplete(e){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,n){this.bufferFlushed=this.flushing=!1;const t=n.tracks.audio;t&&(this.mediaBuffer=t.buffer||null)}onFragLoading(e,n){!this.audioOnly&&n.frag.type===d&&q(n.frag)&&(this.mainFragLoading=n,this.state===Gt.IDLE&&this.tick())}onFragBuffered(e,n){const{frag:t,part:s}=n;if(t.type===u)if(this.fragContextChanged(t))this.warn(`Fragment ${t.sn}${s?" p: "+s.index:""} of level ${t.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);else{if(q(t)){this.fragPrevious=t;const e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(a.AUDIO_TRACK_SWITCHED,_({},e)))}this.fragBufferedComplete(t,s),this.media&&this.tick()}else this.audioOnly||t.type!==d||t.elementaryStreams.video||t.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null)}onError(e,n){var t;if(n.fatal)this.state=Gt.ERROR;else switch(n.details){case i.FRAG_GAP:case i.FRAG_PARSING_ERROR:case i.FRAG_DECRYPT_ERROR:case i.FRAG_LOAD_ERROR:case i.FRAG_LOAD_TIMEOUT:case i.KEY_LOAD_ERROR:case i.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(u,n);break;case i.AUDIO_TRACK_LOAD_ERROR:case i.AUDIO_TRACK_LOAD_TIMEOUT:case i.LEVEL_PARSING_ERROR:n.levelRetry||this.state!==Gt.WAITING_TRACK||(null==(t=n.context)?void 0:t.type)!==l||(this.state=Gt.IDLE);break;case i.BUFFER_ADD_CODEC_ERROR:case i.BUFFER_APPEND_ERROR:if("audio"!==n.parent)return;this.reduceLengthAndFlushBuffer(n)||this.resetLoadingState();break;case i.BUFFER_FULL_ERROR:if("audio"!==n.parent)return;this.reduceLengthAndFlushBuffer(n)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case i.INTERNAL_EXCEPTION:this.recoverWorkerError(n)}}onBufferFlushing(e,{type:n}){n!==j&&(this.flushing=!0)}onBufferFlushed(e,{type:n}){if(n!==j){this.flushing=!1,this.bufferFlushed=!0,this.state===Gt.ENDED&&(this.state=Gt.IDLE);const e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,n,u),this.tick())}}_handleTransmuxComplete(e){var n;const t="audio",{hls:s}=this,{remuxResult:i,chunkMeta:r}=e,o=this.getCurrentContext(r);if(!o)return void this.resetWhenMissingContext(r);const{frag:l,part:c,level:d}=o,{details:u}=d,{audio:p,text:h,id3:m,initSegment:v}=i;if(!this.fragContextChanged(l)&&u){if(this.state=Gt.PARSING,this.switchingTrack&&p&&this.completeAudioSwitch(this.switchingTrack),null!=v&&v.tracks){const e=l.initSegment||l;this._bufferInitSegment(d,v.tracks,e,r),s.trigger(a.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:t,tracks:v.tracks})}if(p){const{startPTS:e,endPTS:n,startDTS:t,endDTS:s}=p;c&&(c.elementaryStreams[U]={startPTS:e,endPTS:n,startDTS:t,endDTS:s}),l.setElementaryStreamInfo(U,e,n,t,s),this.bufferFragmentData(p,l,c,r)}if(null!=m&&null!=(n=m.samples)&&n.length){const e=g({id:t,frag:l,details:u},m);s.trigger(a.FRAG_PARSING_METADATA,e)}if(h){const e=g({id:t,frag:l,details:u},h);s.trigger(a.FRAG_PARSING_USERDATA,e)}}else this.fragmentTracker.removeFragment(l)}_bufferInitSegment(e,n,t,s){if(this.state!==Gt.PARSING)return;if(n.video&&delete n.video,n.audiovideo&&delete n.audiovideo,!n.audio)return;const i=n.audio;i.id=u;const r=e.audioCodec;this.log(`Init audio buffer, container:${i.container}, codecs[level/parsed]=[${r}/${i.codec}]`),r&&1===r.split(",").length&&(i.levelCodec=r),this.hls.trigger(a.BUFFER_CODECS,n);const o=i.initSegment;if(null!=o&&o.byteLength){const e={type:"audio",frag:t,part:null,chunkMeta:s,parent:t.type,data:o};this.hls.trigger(a.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,n,t){const s=this.fragmentTracker.getState(e);var i;if(this.switchingTrack||s===hn||s===vn)if(q(e))if(null!=(i=n.details)&&i.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=Gt.WAITING_INIT_PTS;const t=this.mainDetails;t&&t.fragmentStart!==n.details.fragmentStart&&jt(n.details,t)}else super.loadFragment(e,n,t);else this._loadInitSegment(e,n);else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){const{name:n,lang:t,assocLang:s,characteristics:i,audioCodec:a,channels:r}=this.bufferedTrack;Qe({name:n,lang:t,assocLang:s,characteristics:i,audioCodec:a,channels:r},e,Je)||(en(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){const{hls:n}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,n.trigger(a.AUDIO_TRACK_SWITCHED,_({},e))}},audioTrackController:class extends yi{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:e}=this;e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_PARSED,this.onManifestParsed,this),e.on(a.LEVEL_LOADING,this.onLevelLoading,this),e.on(a.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(a.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(a.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_PARSED,this.onManifestParsed,this),e.off(a.LEVEL_LOADING,this.onLevelLoading,this),e.off(a.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(a.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(a.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.audioTracks||[]}onAudioTrackLoaded(e,n){const{id:t,groupId:s,details:i}=n,a=this.tracksInGroup[t];if(!a||a.groupId!==s)return void this.warn(`Audio track with id:${t} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);const r=a.details;a.details=n.details,this.log(`Audio track ${t} "${a.name}" lang:${a.lang} group:${s} loaded [${i.startSN}-${i.endSN}]`),t===this.trackId&&this.playlistLoaded(t,n,r)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){const n=this.hls.levels[e];if(!n)return;const t=n.audioGroups||null,r=this.groupIds;let o=this.currentTrack;if(!t||(null==r?void 0:r.length)!==(null==t?void 0:t.length)||null!=t&&t.some((e=>-1===(null==r?void 0:r.indexOf(e))))){this.groupIds=t,this.trackId=-1,this.currentTrack=null;const e=this.tracks.filter((e=>!t||-1!==t.indexOf(e.groupId)));if(e.length)this.selectDefaultTrack&&!e.some((e=>e.default))&&(this.selectDefaultTrack=!1),e.forEach(((e,n)=>{e.id=n}));else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=e;const n=this.hls.config.audioPreference;if(!o&&n){const t=Xe(n,e,Je);if(t>-1)o=e[t];else{const e=Xe(n,this.tracks);o=this.tracks[e]}}let r=this.findTrackId(o);-1===r&&o&&(r=this.findTrackId(null));const c={audioTracks:e};this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==t?void 0:t.join(",")}`),this.hls.trigger(a.AUDIO_TRACKS_UPDATED,c);const d=this.trackId;if(-1!==r&&-1===d)this.setAudioTrack(r);else if(e.length&&-1===d){var l;const n=new Error(`No audio track selected for current audio group-ID(s): ${null==(l=this.groupIds)?void 0:l.join(",")} track count: ${e.length}`);this.warn(n.message),this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:n})}}}onError(e,n){!n.fatal&&n.context&&(n.context.type!==l||n.context.
2id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(n.context.groupId)||this.checkRetry(n))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){const n=this.hls;if(n.config.audioPreference=e,e){const t=this.allAudioTracks;if(this.selectDefaultTrack=!1,t.length){const s=this.currentTrack;if(s&&Qe(e,s,Je))return s;const i=Xe(e,this.tracksInGroup,Je);if(i>-1){const e=this.tracksInGroup[i];return this.setAudioTrack(i),e}if(s){let s=n.loadLevel;-1===s&&(s=n.firstAutoLevel);const i=function(e,n,t,s,i){const a=n[s],r=n.reduce(((e,n,t)=>{const s=n.uri;return(e[s]||(e[s]=[])).push(t),e}),{})[a.uri];r.length>1&&(s=Math.max.apply(Math,r));const o=a.videoRange,l=a.frameRate,c=a.codecSet.substring(0,4),d=Ze(n,s,(n=>{if(n.videoRange!==o||n.frameRate!==l||n.codecSet.substring(0,4)!==c)return!1;const s=n.audioGroups,a=t.filter((e=>!s||-1!==s.indexOf(e.groupId)));return Xe(e,a,i)>-1}));return d>-1?d:Ze(n,s,(n=>{const s=n.audioGroups,a=t.filter((e=>!s||-1!==s.indexOf(e.groupId)));return Xe(e,a,i)>-1}))}(e,n.levels,t,s,Je);if(-1===i)return null;n.nextLoadLevel=i}if(e.channels||e.audioCodec){const n=Xe(e,t);if(n>-1)return t[n]}}}return null}setAudioTrack(e){const n=this.tracksInGroup;if(e<0||e>=n.length)return void this.warn(`Invalid audio track id: ${e}`);this.selectDefaultTrack=!1;const t=this.currentTrack,s=n[e],i=s.details&&!s.details.live;if(e===this.trackId&&s===t&&i)return;if(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(a.AUDIO_TRACK_SWITCHING,_({},s)),i)return;const r=this.switchParams(s.url,null==t?void 0:t.details,s.details);this.loadPlaylist(r)}findTrackId(e){const n=this.tracksInGroup;for(let t=0;t<n.length;t++){const s=n[t];if((!this.selectDefaultTrack||s.default)&&(!e||Qe(e,s,Je)))return t}if(e){const{name:t,lang:s,assocLang:i,characteristics:a,audioCodec:r,channels:o}=e;for(let e=0;e<n.length;e++)if(Qe({name:t,lang:s,assocLang:i,characteristics:a,audioCodec:r,channels:o},n[e],Je))return e;for(let t=0;t<n.length;t++){const s=n[t];if(ki(e.attrs,s.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return t}for(let t=0;t<n.length;t++){const s=n[t];if(ki(e.attrs,s.attrs,["LANGUAGE"]))return t}}return-1}loadPlaylist(e){super.loadPlaylist();const n=this.currentTrack;this.shouldLoadPlaylist(n)&&en(n.url,this.hls)&&this.scheduleLoading(n,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);const t=e.id,s=e.groupId,i=this.getUrlWithDirectives(e.url,n),r=e.details,o=null==r?void 0:r.age;this.log(`Loading audio-track ${t} "${e.name}" lang:${e.lang} group:${s}${void 0!==(null==n?void 0:n.msn)?" at sn "+n.msn+" part "+n.part:""}${o&&r.live?" age "+o.toFixed(1)+(r.type?" "+r.type||0:""):""} ${i}`),this.hls.trigger(a.AUDIO_TRACK_LOADING,{url:i,id:t,groupId:s,deliveryDirectives:n||null,track:e})}},emeController:ba,cmcdController:class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:Ii,su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{const{frag:n,part:t}=e,s=this.hls.levels[n.level],i=this.getObjectType(n),a={d:1e3*(t||n).duration,ot:i};i!==Di&&i!==Pi&&i!=Oi||(a.br=s.bitrate/1e3,a.tb=this.getTopBandwidth(i)/1e3,a.bl=this.getBufferLength(i));const r=t?this.getNextPart(t):this.getNextFrag(n);null!=r&&r.url&&r.url!==n.url&&(a.nor=r.url),this.apply(e,a)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const n=this.config=e.config,{cmcd:t}=n;null!=t&&(n.pLoader=this.createPlaylistLoader(),n.fLoader=this.createFragmentLoader(),this.sid=t.sessionId||e.sessionId,this.cid=t.contentId,this.useHeaders=!0===t.useHeaders,this.includeKeys=t.includeKeys,this.registerListeners())}registerListeners(){const e=this.hls;
2e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHED,this.onMediaDetached,this),e.on(a.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const e=this.hls;e.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHED,this.onMediaDetached,this),e.off(a.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,n){this.media=n.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,n){var t,s;this.audioBuffer=null==(t=n.tracks.audio)?void 0:t.buffer,this.videoBuffer=null==(s=n.tracks.video)?void 0:s.buffer}createData(){var e;return{v:1,sf:Ni,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,n={}){g(n,this.createData());const t=n.ot===Mi||n.ot===Di||n.ot===Oi;this.starved&&t&&(n.bs=!0,n.su=!0,this.starved=!1),null==n.su&&(n.su=this.buffering);const{includeKeys:s}=this;s&&(n=Object.keys(n).reduce(((e,t)=>(s.includes(t)&&(e[t]=n[t]),e)),{}));const i={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),function(e,n,t){g(e,function(e,n={}){const t={};if(!e)return t;const s=Object.entries(e),i=Object.entries(Gi).concat(Object.entries((null==n?void 0:n.customHeaderMap)||{})),a=s.reduce(((e,n)=>{var t,s;const[a,r]=n,o=(null===(t=i.find((e=>e[1].includes(a))))||void 0===t?void 0:t[0])||Bi;return null!==(s=e[o])&&void 0!==s||(e[o]={}),e[o][a]=r,e}),{});return Object.entries(a).reduce(((e,[t,s])=>(e[t]=ha(s,n),e)),t)}(n,t))}(e.headers,n,i)):e.url=function(e,n,t){const s=function(e,n={}){if(!e)return"";const t=ha(e,n);return`CMCD=${encodeURIComponent(t)}`}(n,t);if(!s)return e;if(ma.test(e))return e.replace(ma,s);const i=e.includes("?")?"&":"?";return`${e}${i}${s}`}(e.url,n,i)}getNextFrag(e){var n;const t=null==(n=this.hls.levels[e.level])?void 0:n.details;if(t){const n=e.sn-t.startSN;return t.fragments[n+1]}}getNextPart(e){var n,t;const{index:s,fragment:i}=e,a=null==(n=this.hls.levels[i.level])||null==(t=n.details)?void 0:t.partList;if(a){const{sn:e}=i;for(let n=a.length-1;n>=0;n--){const t=a[n];if(t.index===s&&t.fragment.sn===e)return a[n+1]}}}getObjectType(e){const{type:n}=e;return"subtitle"===n?Fi:"initSegment"===e.sn?Mi:"audio"===n?Pi:"main"===n?this.hls.audioTracks.length?Di:Oi:void 0}getTopBandwidth(e){let n,t=0;const s=this.hls;if(e===Pi)n=s.audioTracks;else{const e=s.maxAutoLevel,t=e>-1?e+1:s.levels.length;n=s.levels.slice(0,t)}return n.forEach((e=>{e.bitrate>t&&(t=e.bitrate)})),t>0?t:NaN}getBufferLength(e){const n=this.media,t=e===Pi?this.audioBuffer:this.videoBuffer;return t&&n?1e3*Dn.bufferInfo(t,n.currentTime,this.config.maxBufferHole).len:NaN}createPlaylistLoader(){const{pLoader:e}=this.config,n=this.applyPlaylistData,t=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new t(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,t,s){n(e),this.loader.load(e,t,s)}}}createFragmentLoader(){const{fLoader:e}=this.config,n=this.applyFragmentData,t=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new t(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,t,s){n(e),this.loader.load(e,t,s)}}}},contentSteeringController:class extends b{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){const e=this.hls;e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(a.MANIFEST_PARSED,this.onManifestParsed,this),e.on(a.ERROR,this.onError,this)}unregisterListeners(){const e=this.hls;e&&(e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(a.MANIFEST_PARSED,this.onManifestParsed,this),e.off(a.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce(((e,n)=>(-1===e.indexOf(n.pathwayId)&&e.push(n.pathwayId),e)),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}
vendor: 6,869 bytes, line 2
2startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){const n=this.levels;n&&(this.levels=n.filter((n=>n!==e)))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,n){const{contentSteering:t}=n;null!==t&&(this.pathwayId=t.pathwayId,this.uri=t.uri,this.started&&this.startLoad())}onManifestParsed(e,n){this.audioTracks=n.audioTracks,this.subtitleTracks=n.subtitleTracks}onError(e,n){const{errorAction:t}=n;if(2===(null==t?void 0:t.action)&&1===t.flags){const e=this.levels;let s=this._pathwayPriority,a=this.pathwayId;if(n.context){const{groupId:t,pathwayId:s,type:i}=n.context;t&&e?a=this.getPathwayForGroupId(t,i,a):s&&(a=s)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!s&&e&&(s=this.pathways()),s&&s.length>1&&(this.updatePathwayPriority(s),t.resolved=this.pathwayId!==a),n.details!==i.BUFFER_APPEND_ERROR||n.fatal?t.resolved||this.warn(`Could not resolve ${n.details} ("${n.error.message}") with content-steering for Pathway: ${a} levels: ${e?e.length:e} priorities: ${Ve(s)} penalized: ${Ve(this.penalizedPathways)}`):t.resolved=!0}}filterParsedLevels(e){this.levels=e;let n=this.getLevelsForPathway(this.pathwayId);if(0===n.length){const t=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${t}"`),n=this.getLevelsForPathway(t),this.pathwayId=t}return n.length!==e.length&&this.log(`Found ${n.length}/${e.length} levels in Pathway "${this.pathwayId}"`),n}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter((n=>e===n.pathwayId))}updatePathwayPriority(e){let n;this._pathwayPriority=e;const t=this.penalizedPathways,s=performance.now();Object.keys(t).forEach((e=>{s-t[e]>3e5&&delete t[e]}));for(let s=0;s<e.length;s++){const i=e[s];if(i in t)continue;if(i===this.pathwayId)return;const r=this.hls.nextLoadLevel,o=this.hls.levels[r];if(n=this.getLevelsForPathway(i),n.length>0){this.log(`Setting Pathway to "${i}"`),this.pathwayId=i,Ft(n),this.hls.trigger(a.LEVELS_UPDATED,{levels:n});const e=this.hls.levels[r];o&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==o.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=r);break}}}getPathwayForGroupId(e,n,t){const s=this.getLevelsForPathway(t).concat(this.levels||[]);for(let t=0;t<s.length;t++)if(n===l&&s[t].hasAudioGroup(e)||n===c&&s[t].hasSubtitleGroup(e))return s[t].pathwayId;return t}clonePathways(e){const n=this.levels;if(!n)return;const t={},s={};e.forEach((e=>{const{ID:i,"BASE-ID":a,"URI-REPLACEMENT":r}=e;if(n.some((e=>e.pathwayId===i)))return;const o=this.getLevelsForPathway(a).map((e=>{const n=new jn(e.attrs);n["PATHWAY-ID"]=i;const a=n.AUDIO&&`${n.AUDIO}_clone_${i}`,o=n.SUBTITLES&&`${n.SUBTITLES}_clone_${i}`;a&&(t[n.AUDIO]=a,n.AUDIO=a),o&&(s[n.SUBTITLES]=o,n.SUBTITLES=o);const l=ga(e.uri,n["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",r),c=new qe({attrs:n,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:l,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let n=1;n<e.audioGroups.length;n++)c.addGroupId("audio",`${e.audioGroups[n]}_clone_${i}`);if(e.subtitleGroups)for(let n=1;n<e.subtitleGroups.length;n++)c.addGroupId("text",`${e.subtitleGroups[n]}_clone_${i}`);return c}));n.push(...o),va(this.audioTracks,t,r,i),va(this.subtitleTracks,s,r,i)}))}loadSteeringManifest(e){const n=this.hls.config,t=n.loader;let s;this.loader&&this.loader.destroy(),this.loader=new t(n);try{s=new self.URL(e)}catch(n){return this.enabled=!1,void this.log(`Failed to parse Steering Manifest URI: ${e}`)}if("data:"!==s.protocol){const e=0|(this.hls.bandwidthEstimate||n.abrEwmaDefaultEstimate);s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+e)}const i={responseType:"json",url:s.href},r=n.steeringManifestLoadPolicy.default,o=r.errorRetry||r.timeoutRetry||{},l={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},c={onSuccess:(e,n,t,i)=>{this.log(`Loaded steering manifest: "${s}"`);const r=e.data;if(1!==(null==r?void 0:r.VERSION))return void this.log(`Steering VERSION ${r.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=r.TTL;const{"RELOAD-URI":o,"PATHWAY-CLONES":l,"PATHWAY-PRIORITY":c}=r;if(o)try{this.uri=new self.URL(o,s).href}catch(e){return this.enabled=!1,void this.log(`Failed to parse Steering Manifest RELOAD-URI: ${o}`)}this.scheduleRefresh(this.uri||t.url),l&&this.clonePathways(l);const d={steeringManifest:r,url:s.toString()};this.hls.trigger(a.STEERING_MANIFEST_LOADED,d),c&&this.updatePathwayPriority(c)},onError:(e,n,t,s)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${n.url})`),this.stopLoad(),410===e.code)return this.enabled=!1,void this.log(`Steering manifest ${n.url} no longer available`);let i=1e3*this.timeToLoad;if(429!==e.code)this.scheduleRefresh(this.uri||n.url,i);else{const e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){const n=e.getResponseHeader("Retry-After");n&&(i=1e3*parseFloat(n))}this.log(`Steering manifest ${n.url} rate limited`)}},onTimeout:(e,n,t)=>{this.log(`Timeout loading steering manifest (${n.url})`),this.scheduleRefresh(this.uri||n.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(i,l,c)}scheduleRefresh(e,n=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout((()=>{var n;const t=null==(n=this.hls)?void 0:n.media;!t||t.ended?this.scheduleRefresh(e,1e3*this.timeToLoad):this.loadSteeringManifest(e)}),n)}},interstitialsController:class extends b{constructor(e,n){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1}
2,this.onSeeking=()=>{const e=this.currentTime;if(void 0===e||this.playbackDisabled)return;const n=e-this.timelinePos;if(Math.abs(n)<1/7056e5)return;const t=n<=-.01;this.timelinePos=e,this.bufferedPos=e;const s=this.playingItem;if(!s)return void this.checkBuffer();if(t&&this.schedule.resetErrorsInRange(e,e-n)&&this.updateSchedule(),this.checkBuffer(),t&&e<s.start||e>=s.end){var i;const e=this.schedule.findItemIndexAtTime(this.timelinePos);if(!this.isInterstitial(s)&&null!=(i=this.media)&&i.paused&&(this.shouldPlay=!1),!t){const n=this.findItemIndex(s);if(e>n){const t=this.schedule.findJumpRestrictedIndex(n+1,e);if(t>n)return void this.setSchedulePosition(t)}}return void this.setSchedulePosition(e)}const a=this.playingAsset;if(!a){if(this.playingLastItem&&this.isInterstitial(s)){const n=s.event.assetList[0];n&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(e,n))}return}const r=a.timelineStart,o=a.duration||0;(t&&e<r||e>=r+o)&&this.setScheduleToAssetAtTime(e,a)},this.onTimeupdate=()=>{const e=this.currentTime;if(void 0===e||this.playbackDisabled)return;if(!(e>this.timelinePos))return;this.timelinePos=e,e>this.bufferedPos&&this.checkBuffer();const n=this.playingItem;if(!n||this.playingLastItem)return;if(e>=n.end){this.timelinePos=n.end;const e=this.findItemIndex(n);this.setSchedulePosition(e+1)}const t=this.playingAsset;t&&e>=t.timelineStart+(t.duration||0)&&this.setScheduleToAssetAtTime(e,t)},this.onScheduleUpdate=(e,n)=>{const t=this.schedule,s=this.playingItem,i=t.events||[],r=t.items||[],o=t.durations,l=e.map((e=>e.identifier)),c=!(!i.length&&!l.length);(c||n)&&this.log(`INTERSTITIALS_UPDATED (${i.length}): ${i}\nSchedule: ${r.map((e=>Na(e)))} pos: ${this.timelinePos}`),l.length&&this.log(`Removed events ${l}`),this.playerQueue.forEach((e=>{if(e.interstitial.appendInPlace){const n=e.assetItem.timelineStart,t=e.timelineOffset-n;if(t)try{e.timelineOffset=n}catch(s){Math.abs(t)>Aa&&this.warn(`${s} ("${e.assetId}" ${e.timelineOffset}->${n})`)}}}));let d=null;if(s){const e=this.updateItem(s,this.timelinePos);this.itemsMatch(s,e)&&(this.playingItem=e,this.waitingItem=this.endedItem=null,d=()=>this.trimInPlace(e,s))}else this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);const u=this.bufferingItem;if(u){const e=this.updateItem(u,this.bufferedPos);this.itemsMatch(u,e)?(this.bufferingItem=e,d||(d=()=>this.trimInPlace(e,u))):u.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(u.event,null))}if(e.forEach((e=>{e.assetList.forEach((e=>{this.clearAssetPlayer(e.identifier,null)}))})),c||n){if(this.hls.trigger(a.INTERSTITIALS_UPDATED,{events:i.slice(0),schedule:r.slice(0),durations:o,removedIds:l}),this.isInterstitial(s)&&l.includes(s.event.identifier))return this.warn(`Interstitial "${s.event.identifier}" removed while playing`),void this.primaryFallback(s.event);d&&d(),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=n,this.assetListLoader=new $a(e),this.schedule=new Fa(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){const e=this.hls;e.on(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(a.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(a.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(a.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(a.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(a.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(a.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(a.BUFFER_APPENDED,this.onBufferAppended,this),e.on(a.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(a.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(a.MEDIA_ENDED,this.onMediaEnded,this),e.on(a.ERROR,this.onError,this),e.on(a.DESTROYING,this.onDestroying,this)}unregisterListeners(){const e=this.hls;e&&(e.off(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(a.MEDIA_ATTA
2CHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(a.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(a.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(a.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(a.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(a.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(a.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(a.BUFFER_CODECS,this.onBufferCodecs,this),e.off(a.BUFFER_APPENDED,this.onBufferAppended,this),e.off(a.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(a.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(a.MEDIA_ENDED,this.onMediaEnded,this),e.off(a.ERROR,this.onError,this),e.off(a.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null==(e=this.getBufferingPlayer())||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.getBufferingPlayer())||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.manager=null,this.hls=this.HlsPlayerClass=this.schedule=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){const e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){_a(e,"play",this.onPlay),_a(e,"pause",this.onPause),_a(e,"seeking",this.onSeeking),_a(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,n){const t=this.media=n.media;fa(t,"seeking",this.onSeeking),fa(t,"timeupdate",this.onTimeupdate),fa(t,"play",this.onPlay),fa(t,"pause",this.onPause)}onMediaAttached(e,n){const t=this.effectivePlayingItem,s=this.detachedData;if(this.detachedData=null,null===t)this.checkStart();else if(!s){this.clearScheduleState();const e=this.findItemIndex(t);this.setSchedulePosition(e)}}clearScheduleState(){this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,n){const t=!!n.transferMedia,s=this.media;if(this.media=null,!t&&(s&&this.removeMediaListeners(s),this.detachedData)){const e=this.getBufferingPlayer();e&&(this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,e.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.manager){if(!this.hls)return null;const e=this,n=()=>e.bufferingItem||e.waitingItem,t=n=>n?e.getAssetPlayer(n.identifier):n,s=(n,s,i,r,o)=>{if(n){let l=n[s].start;const c=n.event;if(c){if("playout"===s||c.timelineOccupancy!==La.Point){const e=t(i);(null==e?void 0:e.interstitial)===c&&(l+=e.assetItem.startOffset+e[o])}}else l+=("bufferedPos"===r?a():e[r])-n.start;return l}return 0},i=(n,t)=>{if(0!==n&&"primary"!==t&&e.schedule.length){var s;const i=e.schedule.findItemIndexAtTime(n),a=null==(s=e.schedule.items)?void 0:s[i];if(a)return n+(a[t].start-a.start)}return n},a=()=>{const n=e.bufferedPos;return n===Number.MAX_VALUE?r("primary"):Math.max(n,0)},r=n=>{var t;return null!=(t=e.primaryDetails)&&t.live?e.primaryDetails.edge:e.schedule.durations[n]},o=(n,i)=>{var a,r;const o=e.effectivePlayingItem;if(null!=o&&null!=(a=o.event)&&a.restrictions.skip)return;e.log(`seek to ${n} "${i}"`);const l=e.effectivePlayingItem,c=e.schedule.findItemIndexAtTime(n,i),d=null==(r=e.schedule.items)?void 0:r[c],u=e.getBufferingPlayer(),p=null==u?void 0:u.interstitial,h=null==p?void 0:p.appendInPlace,m=l&&e.itemsMatch(l,d);if(l&&(h||m)){const a=t(e.playingAsset),r=(null==a?void 0:a.media)||e.primaryMedia;if(r){const t="primary"===i?r.currentTime:s(l,i,e.playingAsset,"timelinePos","currentTime"),o=n-t,c=(h?t:r.currentTime)+o;if(c>=0&&(!a||h||c<=a.duration))return void(r.currentTime=c)}}if(d){let t=n;if("primary"!==i){const e=n-d[i].start;t=d.start+e}const s=!e.isInterstitial(d);if(e.isInterstitial(l)&&!l.event.appendInPlace||!s&&!d.event.appendInPlace){if(l){const a=e.findItemIndex(l);if(c>a){const n=e.schedule.findJumpRestrictedIndex(a+1,c);if(n>a)return void e.setSchedulePosition(n)}let r=0;if(s)e.timelinePos=t,e.checkBuffer();else{var v;const e=null==d||null==(v=d.event)?void 0:v.assetList;if(e){const t=n-(d[i]||d).start;for(let n=e.length;n--;){const s=e[n];if(s.duration&&t>=s.startOffset&&t<s.startOffset+s.duration){r=n;break}}}}e.setSchedulePosition(c,r)}}else{const n=e.media||(h?null==u?void 0:u.media:null);n&&(n.currentTime=t)}}},l=()=>{const t=e.effectivePlayingItem;if(e.isInterstitial(t))return t;const s=n();return e.isInterstitial(s)?s:null},c={get currentTime(){const n=l(),t=e.effectivePlayingItem;return t&&t===n?s(t,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-t.playout.start:0},set currentTime(n){const t=l(),s=e.effectivePlayingItem;s&&s===t&&o(n+s.playout.start,"playout")},get duration(){const e=l();return e?e.playout.end-e.playout.start:0},get assetPlayers(){var n;const t=null==(n=l())?void 0:n.event.assetList;return t?t.map((n=>e.getAssetPlayer(n.identifier))):[]},get playingIndex(){var n;const t=null==(n=l())?void 0:n.event;return t&&e.effectivePlayingAsset?t.findAssetIndex(e.effectivePlayingAsset):-1},get scheduleItem(){return l()}};this.manager={get events(){var n,t;return(null==(n=e.schedule)||null==(t=n.events)?void 0:t.slice(0))||[]},get schedule(){var n,t;return(null==(n=e.schedule)||null==(t=n.items)?void 0:t.slice(0))||[]},get interstitialPlayer(){return l()?c:null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return n()},get bufferingIndex(){const t=n();return e.findItemIndex(t)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){const n=e.effectivePlayingItem;return e.findItemIndex(n)},primary:{get bufferedEnd(){return a()},get currentTime(){const n=e.timelinePos;return n>0?n:0},set currentTime(e){o(e,"primary")},get duration(){return r("primary")},get seekableStart(){var n;return(null==(n=e.primaryDetails)?void 0:n.fragmentStart)||0}},integrated:{get bufferedEnd(){return s(n(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return s(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(e){o(e,"integrated")},get duration(){return r("integrated")},get seekableStart(){var n;return i((null==(n=e.primaryDetails)?void 0:n.fragmentStart)||0,"integrated")}},skip:()=>{const n=e.effectivePlayingItem,t=null==n?void 0:n.event;if(t&&!t.restrictions.skip){const s=e.findItemIndex(n);if(t.appendInPlace){const e=n.playout.start+n.event.duration;o(e+.001,"playout")}else e.advanceAfterAssetEnded(t,s,1/0)}}}}return this.manager}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;const n=this.playingItem,t=null==(e=this.schedule)?void 0:e.items;return!!(this.playbackStarted&&n&&t)&&this.findItemIndex(n)===t.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){var n,t,s;if(null===this.mediaSelection)return;const i=this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&!i.event.appendInPlace)return;let a=this.media;!a&&null!=(n=this.bufferingItem)&&null!=(t=n.event)&&t.appendInPlace&&(a=this.primaryMedia);const r=null==(s=a)?void 0:s.currentTime;return void 0!==r&&e(r)?r:void 0}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!(null==e||!e.event)}retreiveMediaSource(e,n){const t=this.getAssetPlayer(e);t&&this.transferMediaFromPlayer(t,n)}transferMediaFromPlayer(e,n){const t=e.interstitial.appendInPlace,s=e.media;if(t&&s===this.primaryMedia){if(this.bufferingAsset=null,(!n||this.isInterstitial(n)&&!n.event.appendInPlace)&&n&&s)return void(this.detachedData={media:s});const t=e.transferMedia();this.log(`transfer MediaSource from ${e} ${Ve(t)}`),this.detachedData=t}else n&&s&&(this.shouldPlay||(this.shouldPlay=!s.paused))}transferMediaTo(e,n){var t,s;if(e.media===n)return;let i=null;const a=this.hls,r=e!==a,o=r&&e.interstitial.appendInPlace,l=null==(t=this.detachedData)?void 0:t.mediaSource;let c;if(a.media)o&&(i=a.transferMedia(),this.detachedData=i),c="Primary";
2else if(l){const e=this.getBufferingPlayer();e?(i=e.transferMedia(),c=`${e}`):c="detached MediaSource"}else c="detached media";if(!i)if(l)i=this.detachedData,this.log(`using detachedData: MediaSource ${Ve(i)}`);else if(!this.detachedData||a.media===n){const e=this.playerQueue;e.length>1&&e.forEach((e=>{if(r&&e.interstitial.appendInPlace!==o){const n=e.interstitial;this.clearInterstitial(e.interstitial,null),n.appendInPlace=!1,n.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${n}`)}})),this.hls.detachMedia(),this.detachedData={media:n}}const d=i&&"mediaSource"in i&&"closed"!==(null==(s=i.mediaSource)?void 0:s.readyState),u=d&&i?i:n;if(this.log(`${d?"transfering MediaSource":"attaching media"} to ${r?e:"Primary"} from ${c}`),u===i){const n=r&&e.assetId===this.schedule.assetIdAtEnd;u.overrides={duration:this.schedule.duration,endOfStream:!r||n,cueRemoval:!r}}e.attachMedia(u)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){const e=this.schedule,n=e.events;if(!n||this.playbackDisabled||!this.media)return;-1===this.bufferedPos&&(this.bufferedPos=0);const t=this.timelinePos,s=this.effectivePlayingItem;if(-1===t){const t=this.hls.startPosition;if(this.timelinePos=t,n.length&&n[0].cue.pre){const t=e.findEventIndex(n[0].identifier);this.setSchedulePosition(t)}else if(t>=0||!this.primaryLive){const n=this.timelinePos=t>0?t:0,s=e.findItemIndexAtTime(n);this.setSchedulePosition(s)}}else if(s&&!this.playingItem){const n=e.findItemIndex(s);this.setSchedulePosition(n)}}advanceAfterAssetEnded(e,n,t){const s=Da(e,t);if(e.isAssetPastPlayoutLimit(s)){const t=this.schedule.items;if(t){const s=n+1;if(s>=t.length)return void this.setSchedulePosition(-1);const i=e.resumeTime;this.timelinePos<i&&(this.timelinePos=i,this.checkBuffer()),this.setSchedulePosition(s)}}else this.setSchedulePosition(n,s)}setScheduleToAssetAtTime(e,n){const t=this.schedule,s=n.parentIdentifier,i=t.getEvent(s);if(i){const n=t.findEventIndex(s),a=t.findAssetIndex(i,e);this.advanceAfterAssetEnded(i,n,a-1)}}setSchedulePosition(e,n){const t=this.schedule.items;if(!t||this.playbackDisabled)return;this.log(`setSchedulePosition ${e}, ${n}`);const s=e>=0?t[e]:null,i=this.playingItem,r=this.playingLastItem;if(this.isInterstitial(i)){var o;const c=i.event,d=this.playingAsset,u=null==d?void 0:d.identifier,p=u?this.getAssetPlayer(u):null;if(p&&u&&(!this.eventItemsMatch(i,s)||void 0!==n&&u!==(null==(o=c.assetList)?void 0:o[n].identifier))){var l;const n=c.findAssetIndex(d);if(this.log(`INTERSTITIAL_ASSET_ENDED ${n+1}/${c.assetList.length} ${Oa(d)}`),this.endedAsset=d,this.playingAsset=null,this.hls.trigger(a.INTERSTITIAL_ASSET_ENDED,{asset:d,assetListIndex:n,event:c,schedule:t.slice(0),scheduleIndex:e,player:p}),i!==this.playingItem)return void(this.itemsMatch(i,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(c,this.findItemIndex(this.playingItem),n));this.retreiveMediaSource(u,s),!p.media||null!=(l=this.detachedData)&&l.mediaSource||p.detachMedia()}if(!this.eventItemsMatch(i,s)&&(this.endedItem=i,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${c} ${Na(i)}`),c.hasPlayed=!0,this.hls.trigger(a.INTERSTITIAL_ENDED,{event:c,schedule:t.slice(0),scheduleIndex:e}),c.cue.once)){this.updateSchedule();const e=this.schedule.items;if(s&&e){const t=this.findItemIndex(s);this.advanceSchedule(t,e,n,i,r)}return}}this.advanceSchedule(e,t,n,i,r)}advanceSchedule(e,n,t,s,i){const r=e>=0?n[e]:null,o=this.primaryMedia,l=this.playerQueue;if(l.length&&l.forEach((n=>{const t=n.interstitial,s=this.schedule.findEventIndex(t.identifier);(s<e||s>e+1)&&this.clearInterstitial(t,r)})),this.isInterstitial(r)){this.timelinePos=Math.min(Math.max(this.timelinePos,r.start),r.end);const i=r.event;if(void 0===t){const n=Da(i,(t=this.schedule.findAssetIndex(i,this.timelinePos))-1);if(i.isAssetPastPlayoutLimit(n))return void this.advanceAfterAssetEnded(i,e,t);t=n}const l=this.waitingItem;this.assetsBuffered(r,o)||this.setBufferingItem(r);let c=this.preloadAssets(i,t);if(this.eventItemsMatch(r,l||s)||(this.waitingItem=r,this.log(`INTERSTITIAL_STARTED ${Na(r)} ${i.appendInPlace?"append in place":""}`),this.hls.trigger(a.INTERSTITIAL_STARTED,{event:i,schedule:n.slice(0),scheduleIndex:e})),!i.assetListLoaded)return void this.log(`Waiting for ASSET-LIST to complete loading ${i}`);if(i.assetListLoader&&(i.assetListLoader.destroy(),i.assetListLoader=void 0),!o)return void this.log(`Waiting for attachMedia to start Interstitial ${i}`);this.waitingItem=this.endedItem=null,this.playingItem=r;const d=i.assetList[t];if(!d){const s=n[e+1],a=this.media;return s&&a&&!this.isInterstitial(s)&&a.currentTime<s.start&&(a.currentTime=this.timelinePos=s.start),void this.advanceAfterAssetEnded(i,e,t||0)}if(c||(c=this.getAssetPlayer(d.identifier)),null===c||c.destroyed){const e=i.assetList.length;this.warn(`asset ${t+1}/${e} player destroyed ${i}`),c=this.createAssetPlayer(i,d,t)}if(!this.eventItemsMatch(r,this.bufferingItem)&&i.appendInPlace&&this.isAssetBuffered(d))return;this.startAssetPlayer(c,t,n,e,o),this.shouldPlay&&Ba(c.media)}else null!==r?(this.resumePrimary(r,e,s),this.shouldPlay&&Ba(this.hls.media)):i&&this.isInterstitial(s)&&(this.endedItem=null,this.playingItem=s,s.event.appendInPlace||this.attachPrimary(this.schedule.durations.primary,null))}get playbackDisabled(){return!1===this.hls.config.enableInterstitialPlayback}get primaryDetails(){var e,n;return null==(e=this.mediaSelection)||null==(n=e.main)?void 0:n.details}get primaryLive(){var e;return!(null==(e=this.primaryDetails)||!e.live)}resumePrimary(e,n,t){var s;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${Na(e)}`),null==(s=this.detachedData)||!s.mediaSource){let t=this.timelinePos;(t<e.start||t>=e.end)&&(t=this.getPrimaryResumption(e,n),this.timelinePos=t),this.attachPrimary(t,e)}if(!t)return;const i=this.schedule.items;i&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${Na(e)}`),this.hls.trigger(a.INTERSTITIALS_PRIMARY_RESUMED,{schedule:i.slice(0),scheduleIndex:n}),this.checkBuffer())}getPrimaryResumption(e,n){const t=e.start;if(this.primaryLive){const e=this.primaryDetails;if(0===n)return this.hls.startPosition;if(e&&(t<e.fragmentStart||t>e.edge))return this.hls.liveSyncPosition||-1}return t}isAssetBuffered(e){const n=this.getAssetPlayer(e.identifier);return null!=n&&n.hls?n.hls.bufferedToEnd:Dn.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,n,t){n?this.setBufferingItem(n):this.bufferingItem=this.playingItem,this.bufferingAsset=null;const s=this.primaryMedia;if(!s)return;const i=this.hls;i.media?this.checkBuffer():(this.transferMediaTo(i,s),t&&this.startLoadingPrimaryAt(e,t)),t||(this.timelinePos=e,this.startLoadingPrimaryAt(e,t))}
2startLoadingPrimaryAt(e,n){var t;const s=this.hls;!s.loadingEnabled||!s.media||Math.abs(((null==(t=s.mainForwardBufferInfo)?void 0:t.start)||s.media.currentTime)-e)>.5?s.startLoad(e,n):s.bufferingEnabled||s.resumeBuffering()}onManifestLoading(){this.stopLoad(),this.schedule.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(a.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(a.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,n){if(-1===n.level)return;const t=this.hls.levels[n.level],s=_(_({},this.mediaSelection||this.altSelection),{},{main:t});this.mediaSelection=s,this.schedule.parseInterstitialDateRanges(s,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,n){const t=this.hls.audioTracks[n.id],s=this.mediaSelection;if(!s)return void(this.altSelection=_(_({},this.altSelection),{},{audio:t}));const i=_(_({},s),{},{audio:t});this.mediaSelection=i}onSubtitleTrackUpdated(e,n){const t=this.hls.subtitleTracks[n.id],s=this.mediaSelection;if(!s)return void(this.altSelection=_(_({},this.altSelection),{},{subtitles:t}));const i=_(_({},s),{},{subtitles:t});this.mediaSelection=i}onAudioTrackSwitching(e,n){const t=We(n);this.playerQueue.forEach((e=>e.hls.setAudioOption(n)||e.hls.setAudioOption(t)))}onSubtitleTrackSwitch(e,n){const t=We(n);this.playerQueue.forEach((e=>e.hls.setSubtitleOption(n)||-1!==n.id&&e.hls.setSubtitleOption(t)))}onBufferCodecs(e,n){const t=n.tracks;t&&(this.requiredTracks=t)}onBufferAppended(e,n){this.checkBuffer()}onBufferFlushed(e,n){const t=this.playingItem;if(t&&!this.itemsMatch(t,this.bufferingItem)&&!this.isInterstitial(t)){const e=this.timelinePos;this.bufferedPos=e,this.checkBuffer()}}onBufferedToEnd(e){const n=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&n){for(let e=0;e<n.length;e++){const s=n[e];if(s.cue.post){var t;const e=this.schedule.findEventIndex(s.identifier),n=null==(t=this.schedule.items)?void 0:t[e];this.isInterstitial(n)&&this.eventItemsMatch(n,this.bufferingItem)&&this.bufferedToItem(n,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){const n=this.playingItem;if(!this.playingLastItem&&n){const e=this.findItemIndex(n);this.setSchedulePosition(e+1)}else this.shouldPlay=!1}updateItem(e,n){const t=this.schedule.items;return e&&t&&t[this.findItemIndex(e,n)]||null}trimInPlace(e,n){if(this.isInterstitial(e)&&e.event.appendInPlace&&n.end-e.end>.25){e.event.assetList.forEach(((n,t)=>{e.event.isAssetPastPlayoutLimit(t)&&this.clearAssetPlayer(n.identifier,null)}));const n=e.end+.25,t=Dn.bufferInfo(this.primaryMedia,n,0);(t.end>n||(t.nextStart||0)>n)&&(this.attachPrimary(n,null),this.flushFrontBuffer(n))}}itemsMatch(e,n){return!!n&&(e===n||e.event&&n.event&&this.eventItemsMatch(e,n)||!e.event&&!n.event&&this.findItemIndex(e)===this.findItemIndex(n))}eventItemsMatch(e,n){var t;return!!n&&(e===n||e.event.identifier===(null==(t=n.event)?void 0:t.identifier))}findItemIndex(e,n){return e?this.schedule.findItemIndex(e,n):-1}updateSchedule(){const e=this.mediaSelection;e&&this.schedule.updateSchedule(e,[])}checkBuffer(e){const n=this.schedule.items;if(!n)return;const t=Dn.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=t.len<1),this.updateBufferedPos(t.end,n,e)}updateBufferedPos(e,n,t){const s=this.schedule,i=this.bufferingItem;if(this.bufferedPos>e)return;if(1===n.length&&this.itemsMatch(n[0],i))return void(this.bufferedPos=e);const a=this.playingItem,r=this.findItemIndex(a);let o=s.findItemIndexAtTime(e);if(this.bufferedPos<e){var l,c;const t=this.findItemIndex(i),s=Math.min(t+1,n.length-1),a=n[s];if((-1===o&&i&&e>=i.end||null!=(l=a.event)&&l.appendInPlace&&e+.01>=a.start)&&(o=s),s-r>1&&!1===(null==i||null==(c=i.event)?void 0:c.appendInPlace))return;if(this.bufferedPos=e,o>t&&o>r)this.bufferedToItem(a);else{const n=this.primaryDetails;this.primaryLive&&n&&e>n.edge-n.targetduration&&a.start<n.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(a)&&this.preloadAssets(a.event,0)}}else t&&a&&!this.itemsMatch(a,i)&&(o===r?this.bufferedToItem(a):o===r+1&&this.bufferedToItem(n[o]))}assetsBuffered(e,n){return 0!==e.event.assetList.length&&!e.event.assetList.some((e=>{const t=this.getAssetPlayer(e.identifier);return!(null!=t&&t.bufferedInPlaceToEnd(n))}))}setBufferingItem(e){const n=this.bufferingItem,t=this.schedule;if(this.itemsMatch(e,n))this.bufferingItem!==e&&(this.bufferingItem=e);else{const{items:s,events:i}=t;if(!s||!i)return n;
2const r=this.isInterstitial(e),o=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));const l=o?o.remaining:n?n.end-this.timelinePos:0;this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${Na(e)}`+(n?` (${l.toFixed(2)} remaining)`:"")),this.playbackDisabled||(r?e.event.assetList.forEach((e=>{const n=this.getAssetPlayer(e.identifier);n&&n.resumeBuffering()})):(this.hls.resumeBuffering(),this.playerQueue.forEach((e=>e.pauseBuffering())))),this.hls.trigger(a.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:i.slice(0),schedule:s.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}return n}bufferedToItem(e,n=0){const t=this.setBufferingItem(e);if(!this.playbackDisabled)if(this.isInterstitial(e))this.bufferedToEvent(e,n);else if(null!==t){this.bufferingAsset=null;const n=this.detachedData;if(n)if(n.mediaSource){const n=!0;this.attachPrimary(e.start,e,n)}else this.preloadPrimary(e);else this.preloadPrimary(e)}}preloadPrimary(e){const n=this.findItemIndex(e),t=this.getPrimaryResumption(e,n);this.startLoadingPrimaryAt(t)}bufferedToEvent(e,n){const t=e.event,s=0===t.assetList.length&&!t.assetListLoader,i=t.cue.once;if(s||!i){const e=this.preloadAssets(t,n);if(null!=e&&e.interstitial.appendInPlace){const s=t.assetList[n],i=this.primaryMedia;s&&i&&this.bufferAssetPlayer(e,i)}}}preloadAssets(e,n){const t=e.assetUrl,s=e.assetList.length,i=0===s&&!e.assetListLoader,a=e.cue.once;if(i){const i=e.timelineStart;if(e.appendInPlace){var r;const n=this.playingItem;this.isInterstitial(n)||(null==n||null==(r=n.nextEvent)?void 0:r.identifier)!==e.identifier||this.flushFrontBuffer(i+.25)}let a,o=0;if(!this.playingItem&&this.primaryLive&&(o=this.hls.startPosition,-1===o&&(o=this.hls.liveSyncPosition||0)),o&&!e.cue.pre&&!e.cue.post){const e=o-i;e>0&&(a=Math.round(1e3*e)/1e3)}if(this.log(`Load interstitial asset ${n+1}/${t?1:s} ${e}${a?` live-start: ${o} start-offset: ${a}`:""}`),t)return this.createAsset(e,0,0,i,e.duration,t);const l=this.assetListLoader.loadAssetList(e,a);l&&(e.assetListLoader=l)}else if(!a&&s){for(let t=n;t<s;t++){const n=e.assetList[t],s=this.getAssetPlayerQueueIndex(n.identifier);-1!==s&&!this.playerQueue[s].destroyed||n.error||this.createAssetPlayer(e,n,t)}return this.getAssetPlayer(e.assetList[n].identifier)}return null}flushFrontBuffer(e){const n=this.requiredTracks;n&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(n).forEach((n=>{this.hls.trigger(a.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:n})})))}getAssetPlayerQueueIndex(e){const n=this.playerQueue;for(let t=0;t<n.length;t++)if(e===n[t].assetId)return t;return-1}getAssetPlayer(e){const n=this.getAssetPlayerQueueIndex(e);return this.playerQueue[n]||null}getBufferingPlayer(){const{playerQueue:e,primaryMedia:n}=this;if(n)for(let t=0;t<e.length;t++)if(e[t].media===n)return e[t];return null}createAsset(e,n,t,s,i,a){const r={parentIdentifier:e.identifier,identifier:Ca(e,a,n),duration:i,startOffset:t,timelineStart:s,uri:a};return this.createAssetPlayer(e,r,n)}createAssetPlayer(e,n,t){const r=this.hls,o=r.userConfig;let l=o.videoPreference;const c=r.loadLevelObj||r.levels[r.currentLevel];(l||c)&&(l=g({},l),c.videoCodec&&(l.videoCodec=c.videoCodec),c.videoRange&&(l.allowedVideoRanges=[c.videoRange]));const d=r.audioTracks[r.audioTrack],u=r.subtitleTracks[r.subtitleTrack];let p=0;if(this.primaryLive||e.appendInPlace){const e=this.timelinePos-n.timelineStart;if(e>1){const t=n.duration;t&&e<t&&(p=e)}}const h=n.identifier,m=_(_({},o),{},{autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:r.sessionId,assetPlayerId:h,abrEwmaDefaultEstimate:r.bandwidthEstimate,interstitialsController:void 0,startPosition:p,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:l,audioPreference:d||o.audioPreference,subtitlePreference:u||o.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,n.timelineStart&&(m.timelineOffset=n.timelineStart));const v=m.cmcd;null!=v&&v.sessionId&&v.contentId&&(m.cmcd=g({},v,{contentId:Sa(n.uri)})),this.getAssetPlayer(h)&&this.warn(`Duplicate date range identifier ${e} and asset ${h}`);const f=new Ma(this.HlsPlayerClass,m,e,n);this.playerQueue.push(f),e.assetList[t]=n;const b=a=>{if(a.live){const n=new Error(`Interstitials MUST be VOD assets ${e}`),a={fatal:!0,type:s.OTHER_ERROR,details:i.INTERSTITIAL_ASSET_ITEM_ER
2ROR,error:n};return void this.handleAssetItemError(a,e,this.schedule.findEventIndex(e.identifier),t,n.message)}const r=a.edge-a.fragmentStart,o=n.duration;(null===o||r>o)&&(this.log(`Interstitial asset "${h}" duration change ${o} > ${r}`),n.duration=r,this.updateSchedule())};f.on(a.LEVEL_UPDATED,((e,{details:n})=>b(n))),f.on(a.LEVEL_PTS_UPDATED,((e,{details:n})=>b(n)));const y=(e,n)=>{const t=this.getAssetPlayer(h);if(t&&n.tracks){t.off(a.BUFFER_CODECS,y),t.tracks=n.tracks;const e=this.primaryMedia;this.bufferingAsset===t.assetItem&&e&&!t.media&&this.bufferAssetPlayer(t,e)}};f.on(a.BUFFER_CODECS,y);const w=()=>{var t;const s=this.getAssetPlayer(h);if(this.log(`buffered to end of asset ${s}`),!s)return;const i=this.schedule.findEventIndex(e.identifier),a=null==(t=this.schedule.items)?void 0:t[i];if(this.isInterstitial(a)){const t=e.findAssetIndex(n),s=Da(e,t);if(e.isAssetPastPlayoutLimit(s)){var r;const e=null==(r=this.schedule.items)?void 0:r[i+1];e&&this.bufferedToItem(e)}else this.bufferedToItem(a,s)}};f.on(a.BUFFERED_TO_END,w);const k=n=>()=>{if(!this.getAssetPlayer(h))return;this.shouldPlay=!0;const t=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,t,n)};
2return f.once(a.MEDIA_ENDED,k(t)),f.once(a.PLAYOUT_LIMIT_REACHED,k(1/0)),f.on(a.ERROR,((n,s)=>{const a=this.getAssetPlayer(h);if(s.details!==i.BUFFER_STALLED_ERROR)this.handleAssetItemError(s,e,this.schedule.findEventIndex(e.identifier),t,`Asset player error ${s.error} ${e}`);else if(null!=a&&a.media){const n=a.currentTime,t=a.duration-n;n&&e.appendInPlace&&t/a.media.playbackRate<.5?(this.log(`Advancing buffer past end of asset ${h} ${e} at ${a.media.currentTime}`),w()):(this.warn(`Stalled at ${n} of ${n+t} in asset ${h} ${e}`),this.onTimeupdate(),this.checkBuffer(!0))}})),f.on(a.DESTROYING,(()=>{if(!this.getAssetPlayer(h))return;const n=new Error(`Asset player destroyed unexpectedly ${h}`),a={fatal:!0,type:s.OTHER_ERROR,details:i.INTERSTITIAL_ASSET_ITEM_ERROR,error:n};this.handleAssetItemError(a,e,this.schedule.findEventIndex(e.identifier),t,n.message)})),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${Oa(n)}`),this.hls.trigger(a.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:n,assetListIndex:t,event:e,player:f}),f}clearInterstitial(e,n){e.assetList.forEach((e=>{this.clearAssetPlayer(e.identifier,n)})),e.reset()}resetAssetPlayer(e){const n=this.getAssetPlayerQueueIndex(e);if(-1!==n){this.log(`reset asset player "${e}" after error`);const t=this.playerQueue[n];this.transferMediaFromPlayer(t,null),t.resetDetails()}}clearAssetPlayer(e,n){const t=this.getAssetPlayerQueueIndex(e);if(-1!==t){this.log(`clear asset player "${e}" toSegment: ${n?Na(n):n}`);const s=this.playerQueue[t];this.transferMediaFromPlayer(s,n),this.playerQueue.splice(t,1),s.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,n,t,s,i){const{interstitial:r,assetItem:o,assetId:l}=e,c=r.assetList.length,d=this.playingAsset;this.endedAsset=null,this.playingAsset=o,d&&d.identifier===l||(d&&(this.clearAssetPlayer(d.identifier,t[s]),delete d.error),this.log(`INTERSTITIAL_ASSET_STARTED ${n+1}/${c} ${Oa(o)}`),this.hls.trigger(a.INTERSTITIAL_ASSET_STARTED,{asset:o,assetListIndex:n,event:r,schedule:t.slice(0),scheduleIndex:s,player:e})),this.bufferAssetPlayer(e,i)}bufferAssetPlayer(e,n){var t,a;const{interstitial:r,assetItem:o}=e,l=this.schedule.findEventIndex(r.identifier),c=null==(t=this.schedule.items)?void 0:t[l];if(!c)return;this.setBufferingItem(c),this.bufferingAsset=o;const d=this.getBufferingPlayer();if(d===e)return;const u=r.appendInPlace;if(u&&!1===(null==d?void 0:d.interstitial.appendInPlace))return;const p=(null==d?void 0:d.tracks)||(null==(a=this.detachedData)?void 0:a.tracks)||this.requiredTracks;if(u&&o!==this.playingAsset){if(!e.tracks)return;if(p&&!A(p,e.tracks)){const n=new Error(`Asset ${Oa(o)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(p)}')`),t={fatal:!0,type:s.OTHER_ERROR,details:i.INTERSTITIAL_ASSET_ITEM_ERROR,error:n},a=r.findAssetIndex(o);return void this.handleAssetItemError(t,r,l,a,n.message)}}this.transferMediaTo(e,n)}handleAssetItemError(e,n,t,s,r){if(e.details===i.BUFFER_STALLED_ERROR)return;const o=n.assetList[s];this.warn(`INTERSTITIAL_ASSET_ERROR ${o?Oa(o):o} ${e.error}`);const l=null==o?void 0:o.identifier,c=this.getAssetPlayerQueueIndex(l),d=this.playerQueue[c]||null,u=this.schedule.items,p=g({},e,{fatal:!1,errorAction:pn(!0),asset:o,assetListIndex:s,event:n,schedule:u,scheduleIndex:t,player:d});if(this.hls.trigger(a.INTERSTITIAL_ASSET_ERROR,p),!e.fatal)return;const h=this.playingAsset,m=new Error(r);if(o&&(this.clearAssetPlayer(l,null),o.error=m),n.assetList.some((e=>!e.error))){for(let e=s;e<n.assetList.length;e++)this.resetAssetPlayer(n.assetList[e].identifier);this.updateSchedule()}else n.error=m;n.error?this.primaryFallback(n):h&&h.identifier===l&&this.advanceAfterAssetEnded(n,t,s)}primaryFallback(e){const n=e.timelineStart,t=this.effectivePlayingItem;if(this.updateSchedule(),t){this.log(`Fallback to primary from event "${e.identifier}" start: ${n} pos: ${this.timelinePos} playing: ${t?Na(t):"<none>"} error: ${e.error}`);let s=this.timelinePos;-1===s&&(s=this.hls.startPosition);const i=this.updateItem(t,s);this.itemsMatch(t,i)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(n,null),this.flushFrontBuffer(n));const a=this.schedule.findItemIndexAtTime(s);this.setSchedulePosition(a)}else this.checkStart()}onAssetListLoaded(e,n){var t;const s=n.event,i=s.identifier,a=n.assetListResponse.ASSETS;if(!this.schedule.hasEvent(i))return;const r=s.timelineStart,o=s.duration;let l=0;a.forEach(((e,n)=>{const t=parseFloat(e.DURATION);this.createAsset(s,n,l,r+l,t,e.URI),l+=t})),s.duration=l,this.log(`Loaded asset-list with duration: ${l} (was: ${o}) ${s}`);const c=this.waitingItem,d=(null==c?void 0:c.event.identifier)===i;this.updateSchedule();const u=null==(t=this.bufferingItem)?void 0:t.event;if(d){var p;const e=this.schedule.findEventIndex(i),n=null==(p=this.schedule.items)?void 0:p[e];if(n){if(!this.playingItem&&this.timelinePos>n.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==e)return s.error=new Error(`Interstitial no longer within playback range ${this.timelinePos} ${s}`),void this.primaryFallback(s);this.setBufferingItem(n)}this.setSchedulePosition(e)}else if((null==u?void 0:u.identifier)===i&&u.appendInPlace){const e=s.assetList[0],n=this.getAssetPlayer(e.identifier),t=this.primaryMedia;e&&n&&t&&this.bufferAssetPlayer(n,t)}}onError(e,n){switch(n.details){case i.ASSET_LIST_PARSING_ERROR:case i.ASSET_LIST_LOAD_ERROR:case i.ASSET_LIST_LOAD_TIMEOUT:{const e=n.interstitial;e&&this.primaryFallback(e);break}case i.BUFFER_STALLED_ERROR:this.onTimeupdate(),this.checkBuffer(!0)}}}});function Gr(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(Gr):Object.keys(e).reduce(((n,t)=>(n[t]=Gr(e[t]),n)),{}):e}class zr extends Rn{constructor(e,n){super("gap-controller",e.logger),this.hls=null,this.fragmentTracker=null,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{var e;this.hls&&(this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(a.MEDIA_ENDED,{stalled:!1}))},this.hls=e,this.fragmentTracker=n,this.registerListeners()}registerListeners(){const{hls:e}=this;
vendor: 7,467 bytes, line 2
2e&&(e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,n){this.setInterval(100),this.mediaSource=n.mediaSource;const t=this.media=n.media;fa(t,"playing",this.onMediaPlaying),fa(t,"waiting",this.onMediaWaiting),fa(t,"ended",this.onMediaEnded)}onMediaDetaching(e,n){this.clearInterval();const{media:t}=this;t&&(_a(t,"playing",this.onMediaPlaying),_a(t,"waiting",this.onMediaWaiting),_a(t,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,n){this.buffered=n.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(null==(e=this.media)||!e.readyState||!this.hasBuffered)return;const n=this.media.currentTime;this.poll(n,this.lastCurrentTime),this.lastCurrentTime=n}poll(e,n){var t,s;const i=null==(t=this.hls)?void 0:t.config;if(!i)return;const r=this.media;if(!r)return;const{seeking:o}=r,l=this.seeking&&!o,c=!this.seeking&&o,d=r.paused&&!o||r.ended||0===r.playbackRate;if(this.seeking=o,e!==n)return n&&(this.ended=0),this.moved=!0,o||(this.nudgeRetry=0,i.nudgeOnVideoHole&&!d&&e>n&&this.nudgeOnVideoHole(e,n)),void(0===this.waiting&&this.stallResolved(e));if(c||l)return void(l&&this.stallResolved(e));if(d)return this.nudgeRetry=0,this.stallResolved(e),void(!this.ended&&r.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(a.MEDIA_ENDED,{stalled:!1})));if(!Dn.getBuffered(r).length)return void(this.nudgeRetry=0);const u=Dn.bufferInfo(r,e,0),p=u.nextStart||0,h=this.fragmentTracker;if(o&&h&&this.hls){const n=qr(this.hls.inFlightFragments,e),t=u.len>2,s=!p||n||p-e>2&&!h.getPartialFragment(e);if(t||s)return;this.moved=!1}const m=null==(s=this.hls)?void 0:s.latestLevelDetails;if(!this.moved&&null!==this.stalled&&h){if(!(u.len>0||p))return;const n=Math.max(p,u.start||0)-e,t=null!=m&&m.live?2*m.targetduration:2,s=h.getPartialFragment(e);if(n>0&&(n<=t||s))return void(r.paused||this._trySkipBufferHole(s))}const v=i.detectStallWithCurrentTimeMs,g=self.performance.now(),f=this.waiting;let _=this.stalled;if(null===_){if(!(f>0&&g-f<v))return void(this.stalled=g);_=this.stalled=f}const b=g-_;if(!o&&(b>=v||f)&&this.hls){var y;if("ended"===(null==(y=this.mediaSource)?void 0:y.readyState)&&(null==m||!m.live)&&Math.abs(e-((null==m?void 0:m.edge)||0))<1){if(this.ended)return;return this.ended=e||1,void this.hls.trigger(a.MEDIA_ENDED,{stalled:!0})}if(this._reportStall(u),!this.media||!this.hls)return}const w=Dn.bufferInfo(r,e,i.maxBufferHole);this._tryFixBufferStall(w,b,e)}stallResolved(e){const n=this.stalled;if(n&&this.hls&&(this.stalled=null,this.stallReported)){const t=self.performance.now()-n;this.log(`playback not stuck anymore @${e}, after ${Math.round(t)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(a.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,n){var t;const r=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&null!=(t=this.buffered.audio)&&t.length&&r&&r.length>1&&e>r.end(0)){const t=Dn.bufferedInfo(Dn.timeRangesToArray(this.buffered.audio),e,0);if(t.len>1&&n>=t.start){const t=Dn.timeRangesToArray(r),o=Dn.bufferedInfo(t,n,0).bufferedIndex;if(o>-1&&o<t.length-1){const n=Dn.bufferedInfo(t,e,0).bufferedIndex,r=t[o].end,l=t[o+1].start;if((-1===n||n>o)&&l-r<1&&e-r<2){const t=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${r} -> ${l} buffered index: ${n}`);this.warn(t.message),this.media.currentTime+=1e-6;const o=this.fragmentTracker.getPartialFragment(e)||void 0,c=Dn.bufferInfo(this.media,e,0);this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:t,reason:t.message,frag:o,buffer:c.len,bufferInfo:c})}}}}}_tryFixBufferStall(e,n,t){var s,i;const{fragmentTracker:a,media:r}=this,o=null==(s=this.hls)?void 0:s.config;if(!r||!a||!o)return;const l=null==(i=this.hls)?void 0:i.latestLevelDetails,c=a.getPartialFragment(t);if((c||null!=l&&l.live&&t<l.fragmentStart)&&(this._trySkipBufferHole(c)||!this.media))return;const d=e.buffered,u=this.adjacentTraversal(e,t);(d&&d.length>1&&e.len>o.maxBufferHole||e.nextStart&&(e.nextStart-t<o.maxBufferHole||u))&&(n>1e3*o.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,n){const t=this.fragmentTracker,s=e.nextStart;if(t&&s){const e=t.getFragAtPos(n,d),i=t.getFragAtPos(s,d);if(e&&i)return i.sn-e.sn<2}return!1}_reportStall(e){const{hls:n,media:t,stallReported:r,stalled:o}=this;if(!r&&null!==o&&t&&n){this.stallReported=!0;const r=new Error(`Playback stalling at @${t.currentTime} due to low buffer (${Ve(e)})`);this.warn(r.message),n.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:o}})}}_trySkipBufferHole(e){var n;const{fragmentTracker:t,media:r}=this,o=null==(n=this.hls)?void 0:n.config;if(!r||!t||!o)return 0;const l=r.currentTime,c=Dn.bufferInfo(r,l,0),u=l<c.start?c.start:c.nextStart;if(u&&this.hls){const n=c.len<=o.maxBufferHole,h=c.len>0&&c.len<1&&r.readyState<3,m=u-l;if(m>0&&(n||h)){if(m>o.maxBufferHole){let n=!1;if(0===l){const e=t.getAppendedFrag(0,d);e&&u<e.end&&(n=!0)}if(!n){const n=e||t.getAppendedFrag(l,d);if(n){var p;if(null==(p=this.hls.loadLevelObj)||!p.details)return 0;if(qr(this.hls.inFlightFragments,u))return 0;let e=!1,s=n.end;for(;s<u;){const n=t.getAppendedFrag(s,d)||t.getPartialFragment(s);if(!n){e=!0;break}s+=n.duration}if(e)return 0}}}const n=Math.max(u+.05,l+.1);if(this.warn(`skipping hole, adjusting currentTime from ${l} to ${n}`),this.moved=!0,r.currentTime=n,null==e||!e.gap){const t=new Error(`fragment loaded with buffer holes, seeking from ${l} to ${n}`);this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:t,reason:t.message,frag:e||void 0,buffer:c.len,bufferInfo:c})}return n}}return 0}_tryNudgeBuffer(e){const{hls:n,media:t,nudgeRetry:r}=this,o=null==n?void 0:n.config;if(!t||!o)return 0;const l=t.currentTime;if(this.nudgeRetry++,r<o.nudgeMaxRetry){const c=l+(r+1)*o.nudgeOffset,d=new Error(`Nudging 'currentTime' from ${l} to ${c}`);this.warn(d.message),t.currentTime=c,n.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_NUDGE_ON_STALL,error:d,fatal:!1,buffer:e.len,bufferInfo:e})}else{const t=new Error(`Playhead still not moving while enough data buffered @${l} after ${o.nudgeMaxRetry} nudges`);this.error(t.message),n.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.BUFFER_STALLED_ERROR,error:t,fatal:!0,buffer:e.len,bufferInfo:e})}}}function qr(e,n){const t=Kr(e.main);if(t&&t.start<=n)return t;const s=Kr(e.audio);return s&&s.start<=n?s:null}function Kr(e){if(!e)return null;switch(e.state){case Gt.IDLE:case Gt.STOPPED:case Gt.ENDED:case Gt.ERROR:return null}return e.frag}function Vr(){if("undefined"!=typeof self)return self.VTTCue||self.TextTrackCue}function Hr(e,n,t,s,i){let a=new e(n,t,"");try{a.value=s,i&&(a.type=i)}catch(r){a=new e(n,t,Ve(i?_({type:i},s):s))}return a}const Yr=(()=>{const e=Vr();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();
2class Wr{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(a.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){const{hls:e}=this;e.on(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(a.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(a.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}_unregisterListeners(){const{hls:e}=this;e.off(a.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(a.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(a.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}onMediaAttaching(e,n){var t;this.media=n.media,!1===(null==(t=n.overrides)?void 0:t.cueRemoval)&&(this.removeCues=!1)}onMediaAttached(){const e=this.hls.latestLevelDetails;e&&this.updateDateRangeCues(e)}onMediaDetaching(e,n){this.media=null,n.transferMedia||(this.id3Track&&(this.removeCues&&Ta(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){const n=this.getID3Track(e.textTracks);return n.mode="hidden",n}getID3Track(e){if(this.media){for(let n=0;n<e.length;n++){const t=e[n];if("metadata"===t.kind&&"id3"===t.label)return wa(t,this.media),t}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,n){if(!this.media)return;const{hls:{config:{enableEmsgMetadataCues:t,enableID3MetadataCues:s}}}=this;if(!t&&!s)return;const{samples:i}=n;this.id3Track||(this.id3Track=this.createTrack(this.media));const a=Vr();if(a)for(let e=0;e<i.length;e++){const n=i[e].type;if(n===ys.emsg&&!t||!s)continue;const r=gs(i[e].data);if(r){const t=i[e].pts;let s=t+i[e].duration;s>Yr&&(s=Yr),s-t<=0&&(s=t+.25);for(let e=0;e<r.length;e++){const i=r[e];if(!fs(i)){this.updateId3CueEnds(t,n);const e=Hr(a,t,s,i,n);e&&this.id3Track.addCue(e)}}}}}updateId3CueEnds(e,n){var t;const s=null==(t=this.id3Track)?void 0:t.cues;if(s)for(let t=s.length;t--;){const i=s[t];i.type===n&&i.startTime<e&&i.endTime===Yr&&(i.endTime=e)}}onBufferFlushing(e,{startOffset:n,endOffset:t,type:s}){const{id3Track:i,hls:a}=this;if(!a)return;const{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:o}}=a;if(i&&(r||o)){let e;e="audio"===s?e=>e.type===ys.audioId3&&o:"video"===s?e=>e.type===ys.emsg&&r:e=>e.type===ys.audioId3&&o||e.type===ys.emsg&&r,Ea(i,n,t,e)}}onLevelUpdated(e,{details:n}){this.updateDateRangeCues(n,!0)}onLevelPtsUpdated(e,n){Math.abs(n.drift)>.01&&this.updateDateRangeCues(n.details)}updateDateRangeCues(n,t){if(!this.media||!n.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{id3Track:s}=this,{dateRanges:i}=n,a=Object.keys(i);let r=this.dateRangeCuesAppended;var o;if(s&&t)if(null!=(o=s.cues)&&o.length){const e=Object.keys(r).filter((e=>!a.includes(e)));for(let n=e.length;n--;){const t=e[n],i=r[t].cues;
2delete r[t],Object.keys(i).forEach((e=>{try{const n=i[e];n.removeEventListener("enter",this.onEventCueEnter),s.removeCue(n)}catch(e){}}))}}else r=this.dateRangeCuesAppended={};const l=n.fragments[n.fragments.length-1];if(0===a.length||!e(null==l?void 0:l.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const c=Vr();for(let e=0;e<a.length;e++){const n=a[e],t=i[n],s=t.startTime,o=r[n],l=(null==o?void 0:o.cues)||{};let p=(null==o?void 0:o.durationKnown)||!1,h=Yr;const{duration:m,endDate:v}=t;if(v&&null!==m)h=s+m,p=!0;else if(t.endOnNext&&!p){const e=a.reduce(((e,n)=>{if(n!==t.id){const s=i[n];if(s.class===t.class&&s.startDate>t.startDate&&(!e||t.startDate<e.startDate))return s}return e}),null);e&&(h=e.startTime,p=!0)}const g=Object.keys(t.attr);for(let e=0;e<g.length;e++){const i=g[e];if("ID"===(u=i)||"CLASS"===u||"CUE"===u||"START-DATE"===u||"DURATION"===u||"END-DATE"===u||"END-ON-NEXT"===u)continue;const a=l[i];if(a)p&&!o.durationKnown?a.endTime=h:Math.abs(a.startTime-s)>.01&&(a.startTime=s,a.endTime=h);else if(c){let e=t.attr[i];Gn(i)&&(d=e,e=Uint8Array.from(d.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer);const a=Hr(c,s,h,{key:i,data:e},ys.dateRange);a&&(a.id=n,this.id3Track.addCue(a),l[i]=a,this.hls.config.interstitialsController&&("X-ASSET-LIST"!==i&&"X-ASSET-URL"!==i||a.addEventListener("enter",this.onEventCueEnter)))}}r[n]={cues:l,dateRange:t,durationKnown:p}}var d,u}}class Xr{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{const{media:e}=this,n=this.levelDetails;if(!e||!n)return;this.currentTime=e.currentTime;const t=this.computeLatency();if(null===t)return;this._latency=t;const{lowLatencyMode:s,maxLiveSyncPlaybackRate:i}=this.config;if(!s||1===i||!n.live)return;const a=this.targetLatency;if(null===a)return;const r=t-a;if(r<Math.min(this.maxLatency,a+n.targetduration)&&r>.05&&this.forwardBufferLength>1){const n=Math.min(2,Math.max(1,i)),t=Math.round(2/(1+Math.exp(-.75*r-this.edgeStalled))*20)/20,s=Math.min(n,Math.max(1,t));this.changeMediaPlaybackRate(e,s)}else 1!==e.playbackRate&&0!==e.playbackRate&&this.changeMediaPlaybackRate(e,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return(null==(e=this.hls)?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){const{config:e}=this;if(void 0!==e.liveMaxLatencyDuration)return e.liveMaxLatencyDuration;const n=this.levelDetails;return n?e.liveMaxLatencyDurationCount*n.targetduration:0}get targetLatency(){const e=this.levelDetails;if(null===e||null===this.hls)return null;const{holdBack:n,partHoldBack:t,targetduration:s}=e,{liveSyncDuration:i,liveSyncDurationCount:a,lowLatencyMode:r}=this.config,o=this.hls.userConfig;let l=r&&t||n;(this._targetLatencyUpdated||o.liveSyncDuration||o.liveSyncDurationCount||0===l)&&(l=void 0!==i?i:a*s);const c=s;return l+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,c)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){const e=this.estimateLiveEdge(),n=this.targetLatency;if(null===e||null===n)return null;const t=this.levelDetails;if(null===t)return null;const s=t.edge,i=e-n-this.edgeStalled,a=s-t.totalduration,r=s-(this.config.lowLatencyMode&&t.partTarget||t.targetduration);return Math.min(Math.max(a,i),r)}get drift(){const e=this.levelDetails;return null===e?1:e.drift}get edgeStalled(){const e=this.levelDetails;if(null===e)return 0;const n=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-n,0)}get forwardBufferLength(){const{media:e}=this,n=this.levelDetails;if(!e||!n)return 0;const t=e.buffered.length;return(t?e.buffered.end(t-1):n.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){const{hls:e}=this;e&&(e.on(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(a.ERROR,this.onError,this))}unregisterListeners(){const{hls:e}=this;
2e&&(e.off(a.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(a.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(a.ERROR,this.onError,this))}onMediaAttached(e,n){this.media=n.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:n}){n.advanced&&this.onTimeupdate(),!n.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,n){var t;n.details===i.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&null!=(t=this.levelDetails)&&t.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,n){var t,s;e.playbackRate!==n&&(null==(t=this.hls)||t.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${null==(s=this.targetLatency)?void 0:s.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${n}`),e.playbackRate=n)}estimateLiveEdge(){const e=this.levelDetails;return null===e?null:e.edge+e.age}computeLatency(){const e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}class Qr extends yi{constructor(e,n){super(e,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=n,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(a.LEVEL_LOADED,this.onLevelLoaded,this),e.on(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(a.FRAG_BUFFERED,this.onFragBuffered,this),e.on(a.ERROR,this.onError,this)}_unregisterListeners(){const{hls:e}=this;e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(a.LEVEL_LOADED,this.onLevelLoaded,this),e.off(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(a.FRAG_BUFFERED,this.onFragBuffered,this),e.off(a.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((e=>{e.loadError=0,e.fragmentError=0})),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,n){this.resetLevels()}onManifestLoaded(e,n){const t=this.hls.config.preferManagedMediaSource,s=[],i={},a={};let r=!1,o=!1,l=!1;n.levels.forEach((e=>{const n=e.attrs;let{audioCodec:c,videoCodec:d}=e;c&&(e.audioCodec=c=Le(c,t)||void 0),d&&(d=e.videoCodec=function(e){const n=e.split(",");for(let e=0;e<n.length;e++){const t=n[e].split(".");t.length>2&&"avc1"===t[0]&&(n[e]=`avc1.${parseInt(t[1]).toString(16)}${("000"+parseInt(t[2]).toString(16)).slice(-4)}`)}return n.join(",")}(d));const{width:u,height:p,unknownCodecs:h}=e;let m=h?h.length:0;if(h)for(let n=m;n--;){const t=h[n];this.isAudioSupported(t)?(e.audioCodec=c=c?`${c},${t}`:t,m--,be.audio[c.substring(0,4)]=2):this.isVideoSupported(t)&&(e.videoCodec=d=d?`${d},${t}`:t,m--,be.video[d.substring(0,4)]=2)}if(r||(r=!(!u||!p)),o||(o=!!d),l||(l=!!c),m||c&&!this.isAudioSupported(c)||d&&!this.isVideoSupported(d))return void this.log(`Some or all CODECS not supported "${n.CODECS}"`);const{CODECS:v,"FRAME-RATE":g,"HDCP-LEVEL":f,"PATHWAY-ID":_,RESOLUTION:b,"VIDEO-RANGE":y}=n,w=`${_||"."}-${e.bitrate}-${b}-${g}-${v}-${y}-${f}`;if(i[w])if(i[w].uri===e.url||e.attrs["PATHWAY-ID"])i[w].addGroupId("audio",n.AUDIO),i[w].addGroupId("text",n.SUBTITLES);else{const n=a[w]+=1;e.attrs["PATHWAY-ID"]=new Array(n+1).join(".");const t=this.createLevel(e);i[w]=t,s.push(t)}else{const n=this.createLevel(e);i[w]=n,a[w]=1,s.push(n)}})),this.filterAndSortMediaOptions(s,n,r,o,l)}createLevel(e){const n=new qe(e),t=e.supplemental;if(null!=t&&t.videoCodec&&!this.isVideoSupported(t.videoCodec)){const e=new Error(`SUPPLEMENTAL-CODECS not supported "${t.videoCodec}"`);this.log(e.message),n.supportedResult=Me(e,[])}return n}isAudioSupported(e){return we(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return we(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,n,t,r,o){let l=[],c=[],d=e;if((t||r)&&o&&(d=d.filter((({videoCodec:e,videoRange:n,width:t,height:s})=>{return(!!e||!(!t||!s))&&!!(i=n)&&je.indexOf(i)>-1;var i}))),0===d.length)return void Promise.resolve().then((()=>
vendor: 29,257 bytes, line 2
2{if(this.hls){let e="no level with compatible codecs found in manifest",t=e;n.levels.length&&(t=`one or more CODECS in variant not supported: ${Ve(n.levels.map((e=>e.attrs.CODECS)).filter(((e,n,t)=>t.indexOf(e)===n)))}`,this.warn(t),e+=` (${t})`);const r=new Error(e);this.hls.trigger(a.ERROR,{type:s.MEDIA_ERROR,details:i.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:n.url,error:r,reason:t})}}));n.audioTracks&&(l=n.audioTracks.filter((e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),Jr(l)),n.subtitles&&(c=n.subtitles,Jr(c));const u=d.slice(0);d.sort(((e,n)=>{if(e.attrs["HDCP-LEVEL"]!==n.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(n.attrs["HDCP-LEVEL"]||"")?1:-1;if(t&&e.height!==n.height)return e.height-n.height;if(e.frameRate!==n.frameRate)return e.frameRate-n.frameRate;if(e.videoRange!==n.videoRange)return je.indexOf(e.videoRange)-je.indexOf(n.videoRange);if(e.videoCodec!==n.videoCodec){const t=Ee(e.videoCodec),s=Ee(n.videoCodec);if(t!==s)return s-t}if(e.uri===n.uri&&e.codecSet!==n.codecSet){const t=xe(e.codecSet),s=xe(n.codecSet);if(t!==s)return s-t}return e.averageBitrate!==n.averageBitrate?e.averageBitrate-n.averageBitrate:0}));let p=u[0];if(this.steering&&(d=this.steering.filterParsedLevels(d),d.length!==u.length))for(let e=0;e<u.length;e++)if(u[e].pathwayId===d[0].pathwayId){p=u[e];break}this._levels=d;for(let e=0;e<d.length;e++)if(d[e]===p){var h;this._firstLevel=e;const n=p.bitrate,t=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${n}`),void 0===(null==(h=this.hls.userConfig)?void 0:h.abrEwmaDefaultEstimate)){const e=Math.min(n,this.hls.config.abrEwmaDefaultEstimateMax);e>t&&t===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}const m=o&&!r,v=this.hls.config,g=!(!v.audioStreamController||!v.audioTrackController),f={levels:d,audioTracks:l,subtitleTracks:c,sessionData:n.sessionData,sessionKeys:n.sessionKeys,firstLevel:this._firstLevel,stats:n.stats,audio:o,video:r,altAudio:g&&!m&&l.some((e=>!!e.url))};this.hls.trigger(a.MANIFEST_PARSED,f)}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){const n=this._levels;if(0===n.length)return;if(e<0||e>=n.length){const t=new Error("invalid level idx"),r=e<0;if(this.hls.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.LEVEL_SWITCH_ERROR,level:e,fatal:r,error:t,reason:t.message}),r)return;e=Math.min(e,n.length-1)}const t=this.currentLevelIndex,r=this.currentLevel,o=r?r.attrs["PATHWAY-ID"]:void 0,l=n[e],c=l.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=l,t===e&&r&&o===c)return;this.log(`Switching to level ${e} (${l.height?l.height+"p ":""}${l.videoRange?l.videoRange+" ":""}${l.codecSet?l.codecSet+" ":""}@${l.bitrate})${c?" with Pathway "+c:""} from level ${t}${o?" with Pathway "+o:""}`);const d={level:e,attrs:l.attrs,details:l.details,bitrate:l.bitrate,averageBitrate:l.averageBitrate,maxBitrate:l.maxBitrate,realBitrate:l.realBitrate,width:l.width,height:l.height,codecSet:l.codecSet,audioCodec:l.audioCodec,videoCodec:l.videoCodec,audioGroups:l.audioGroups,subtitleGroups:l.subtitleGroups,loaded:l.loaded,loadError:l.loadError,fragmentError:l.fragmentError,name:l.name,id:l.id,uri:l.uri,url:l.url,urlId:0,audioGroupIds:l.audioGroupIds,textGroupIds:l.textGroupIds};this.hls.trigger(a.LEVEL_SWITCHING,d);const u=l.details;if(!u||u.live){const e=this.switchParams(l.uri,null==r?void 0:r.details,u);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){const e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){const n=this.steering.pathways(),t=e.filter((e=>-1!==n.indexOf(e)));if(e.length<1)return void this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${n}`);this.steering.pathwayPriority=t}}onError(e,n){!n.fatal&&n.context&&n.context.type===o&&n.context.level===this.level&&this.checkRetry(n)}onFragBuffered(e,{frag:n}){if(void 0!==n&&n.type===d){const e=n.elementaryStreams;if(!Object.keys(e).some((n=>!!e[n])))return;const t=this._levels[n.level];null!=t&&t.loadError&&(this.log(`Resetting level error count of ${t.loadError} on frag buffered`),t.loadError=0)}}onLevelLoaded(e,n){var t;const{level:s,details:i}=n,a=n.levelInfo;var r;if(!a)return this.warn(`Invalid level index ${s}`),void(null!=(r=n.deliveryDirectives)&&r.skip&&(i.deltaUpdateFailed=!0));if(a===this.currentLevel||n.withoutMultiVariant){0===a.fragmentError&&(a.loadError=0);let e=a.details;e===n.details&&e.advanced&&(e=void 0),this.playlistLoaded(s,n,e)}else null!=(t=n.deliveryDirectives)&&t.skip&&(i.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);const t=this.getUrlWithDirectives(e.uri,n),s=this.currentLevelIndex,i=e.attrs["PATHWAY-ID"],r=e.details,o=null==r?void 0:r.age;this.log(`Loading level index ${s}${void 0!==(null==n?void 0:n.msn)?" at sn "+n.msn+" part "+n.part:""}${i?" Pathway "+i:""}${o&&r.live?" age "+o.toFixed(1)+(r.type?" "+r.type||0:""):""} ${t}`),this.hls.trigger(a.LEVEL_LOADING,{url:t,level:s,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:n||null})}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var n;if(1===this._levels.length)return;const t=this._levels.filter(((n,t)=>t!==e||(this.steering&&this.steering.removeLevel(n),n===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,n.details&&n.details.fragments.forEach((e=>e.level=-1))),!1)));Ft(t),this._levels=t,this.currentLevelIndex>-1&&null!=(n=this.currentLevel)&&n.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);const s=t.length-1;this._firstLevel=Math.min(this._firstLevel,s),this._startLevel&&(this._startLevel=Math.min(this._startLevel,s)),this.hls.trigger(a.LEVELS_UPDATED,{levels:t})}onLevelsUpdated(e,{levels:n}){this._levels=n}checkMaxAutoUpdated(){const{autoLevelCapping:e,maxAutoLevel:n,maxHdcpLevel:t}=this.hls;this._maxAutoLevel!==n&&(this._maxAutoLevel=n,this.hls.trigger(a.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:n,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:t}))}}function Jr(e){const n={};e.forEach((e=>{const t=e.groupId||"";e.id=n[t]=n[t]||0,n[t]++}))}function Zr(){return self.SourceBuffer||self.WebKitSourceBuffer}function eo(){if(!S())return!1;const e=Zr();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class no extends zt{constructor(n,t,s){super(n,t,s,"stream-controller",d),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{const n=this.media,t=n?n.currentTime:null;if(null===t||!e(t))return;if(this.log(`Media seeked to ${t.toFixed(3)}`),!this.getBufferedFrag(t))return;const s=this.getFwdBufferInfoAtPos(n,t,d,0);null!==s&&0!==s.len?this.tick():this.warn(`Main forward buffer length at ${t} on "seeked" event ${s?s.len:"empty"})`)},this.registerListeners()}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(a.MANIFEST_PARSED,this.onManifestParsed,this),e.on(a.LEVEL_LOADING,this.onLevelLoading,this),e.on(a.LEVEL_LOADED,this.onLevelLoaded,this),e.on(a.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(a.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(a.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(a.BUFFER_CREATED,this.onBufferCreated,this),e.on(a.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(a.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(a.MANIFEST_PARSED,this.onManifestParsed,this),e.off(a.LEVEL_LOADED,this.onLevelLoaded,this),e.off(a.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(a.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(a.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(a.BUFFER_CREATED,this.onBufferCreated,this),e.off(a.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(a.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(a.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,n){if(this.levels){const{lastCurrentTime:t,hls:s}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=s.startLevel;-1===e&&(s.config.testBandwidth&&this.levels.length>1?(e=0,this.bitrateTest=!0):e=s.firstAutoLevel),s.nextLoadLevel=e,this.level=s.loadLevel,this._hasEnoughToStart=!!n}t>0&&-1===e&&!n&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=Gt.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=Gt.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Gt.WAITING_LEVEL:{const{levels:e,level:n}=this,t=null==e?void 0:e[n],s=null==t?void 0:t.details;if(s&&(!s.live||this.levelLastLoaded===t&&!this.waitForLive(t))){if(this.waitForCdnTuneIn(s))break;this.state=Gt.IDLE;break}if(this.hls.nextLoadLevel!==this.level){this.state=Gt.IDLE;break}break}case Gt.FRAG_LOADING_WAITING_RETRY:{var e;const n=self.performance.now(),t=this.retryDate;if(!t||n>=t||null!=(e=this.media)&&e.seeking){const{levels:e,level:n}=this,t=null==e?void 0:e[n];this.resetStartWhenNotLoaded(t||null),this.state=Gt.IDLE}}}this.state===Gt.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),null!=(e=this.media)&&e.readyState&&!1===this.media.seeking&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){const{hls:e,levelLastLoaded:n,levels:t,media:s}=this;if(null===n||!s&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;const i=this.buffering?e.nextLoadLevel:e.loadLevel;if(null==t||!t[i])return;const r=t[i],o=this.getMainFwdBufferInfo();if(null===o)return;const l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){const e={};return 2===this.altAudio&&(e.type="video"),this.hls.trigger(a.BUFFER_EOS,e),void(this.state=Gt.ENDED)}if(!this.buffering)return;e.loadLevel!==i&&-1===e.manualLevel&&this.log(`Adapting to level ${i} from level ${this.level}`),this.level=e.nextLoadLevel=i;const c=r.details;if(!c||this.state===Gt.WAITING_LEVEL||this.waitForLive(r))return this.level=i,this.state=Gt.WAITING_LEVEL,void(this.startFragRequested=!1);const u=o.len,p=this.getMaxBufferLength(r.maxBitrate);if(u>=p)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);const h=this.backtrackFragment?this.backtrackFragment.start:o.end;let m=this.getNextFragment(h,c);if(this.couldBacktrack&&!this.fragPrevious&&m&&q(m)&&this.fragmentTracker.getState(m)!==gn){var v;const e=(null!=(v=this.backtrackFragment)?v:m).sn-c.startSN,n=c.fragments[e-1];n&&m.cc===n.cc&&(m=n,this.fragmentTracker.removeFragment(n))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(m&&this.isLoopLoading(m,h)){if(!m.gap){const e=this.audioOnly&&!this.altAudio?U:j,n=(e===j?this.videoBuffer:this.mediaBuffer)||this.media;n&&this.afterBufferFlushed(n,e,d)}m=this.getNextFragmentLoopLoading(m,c,o,d,p)}m&&(!m.initSegment||m.initSegment.data||this.bitrateTest||(m=m.initSegment),this.loadFragment(m,r,h))}loadFragment(e,n,t){const s=this.fragmentTracker.getState(e);s===hn||s===vn?q(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,n)):super.loadFragment(e,n,t):this._loadInitSegment(e,n):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,d)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:e,media:n}=this;if(null!=n&&n.readyState){let t;const s=this.getAppendedFrag(n.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);const i=this.getLevelDetails();if(null!=i&&i.live){const e=this.getMainFwdBufferInfo();if(!e||e.len<2*i.targetduration)return}if(!n.paused&&e){const n=e[this.hls.nextLoadLevel],s=this.fragLastKbps;t=s&&this.fragCurrent?this.fragCurrent.duration*n.maxBitrate/(1e3*s)+1:0}else t=0;const a=this.getBufferedFrag(n.currentTime+t);if(a){const e=this.followingBufferedFrag(a);if(e){this.abortCurrentFrag();const n=e.maxStartPTS?e.maxStartPTS:e.start,t=e.duration,s=Math.max(a.end,n+Math.min(Math.max(t-this.config.maxFragLookUpTolerance,t*(this.couldBacktrack?.5:.125)),t*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(s,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Gt.KEY_LOADING:case Gt.FRAG_LOADING:case Gt.FRAG_LOADING_WAITING_RETRY:case Gt.PARSING:case Gt.PARSED:this.state=Gt.IDLE}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,n){super.flushMainBuffer(e,n,2===this.altAudio?"video":null)}onMediaAttached(e,n){super.onMediaAttached(e,n);const t=n.media;fa(t,"playing",this.onMediaPlaying),fa(t,"seeked",this.onMediaSeeked)}onMediaDetaching(e,n){const{media:t}=this;t&&(_a(t,"playing",this.onMediaPlaying),_a(t,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,n),n.transferMedia||(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(a.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,n){let t=!1,s=!1;n.levels.forEach((e=>{const n=e.audioCodec;n&&(t=t||-1!==n.indexOf("mp4a.40.2"),s=s||-1!==n.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=t&&s&&!function(){var e;const n=Zr();return"function"==typeof(null==n||null==(e=n.prototype)?void 0:e.changeType)}(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=n.levels,this.startFragRequested=!1}onLevelLoading(e,n){const{levels:t}=this;if(!t||this.state!==Gt.IDLE)return;const s=n.levelInfo;(!s.details||s.details.live&&(this.levelLastLoaded!==s||s.details.expired)||this.waitForCdnTuneIn(s.details))&&(this.state=Gt.WAITING_LEVEL)}onLevelLoaded(e,n){var t;const{levels:s,startFragRequested:i}=this,r=n.level,o=n.details,l=o.totalduration;if(!s)return void this.warn(`Levels were reset while loading level ${r}`);this.log(`Level ${r} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""}, cc [${o.startCC}, ${o.endCC}] duration:${l}`);const c=n.levelInfo,d=this.fragCurrent;!d||this.state!==Gt.FRAG_LOADING&&this.state!==Gt.FRAG_LOADING_WAITING_RETRY||d.level!==n.level&&d.loader&&this.abortCurrentFrag();let u=0;if(o.live||null!=(t=c.details)&&t.live){var p;if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;u=this.alignPlaylists(o,c.details,null==(p=this.levelLastLoaded)?void 0:p.details)}if(c.details=o,this.levelLastLoaded=c,i||this.setStartPosition(o,u),this.hls.trigger(a.LEVEL_UPDATED,{details:o,level:r}),this.state===Gt.WAITING_LEVEL){if(this.waitForCdnTuneIn(o))return;this.state=Gt.IDLE}i&&o.live&&this.synchronizeToLiveEdge(o),this.tick()}synchronizeToLiveEdge(e){const{config:n,media:t}=this;if(!t)return;const s=this.hls.liveSyncPosition,i=this.getLoadPosition(),a=e.fragmentStart,r=e.edge,o=i>=a-n.maxFragLookUpTolerance&&i<=r;if(null!==s&&t.duration>s&&(i<s||!o)){const a=void 0!==n.liveMaxLatencyDuration?n.liveMaxLatencyDuration:n.liveMaxLatencyDurationCount*e.targetduration;if((!o&&t.readyState<4||i<r-a)&&(this._hasEnoughToStart||(this.nextLoadPosition=s),t.readyState))if(this.warn(`Playback: ${i.toFixed(3)} is located too far from the end of live sliding playlist: ${r}, reset currentTime to : ${s.toFixed(3)}`),"buffered"===this.config.liveSyncMode){var l;const e=Dn.bufferInfo(t,s,0);if(null==e||null==(l=e.buffered)||!l.length)return void(t.currentTime=s);if(e.start<=i)return void(t.currentTime=s);const{nextStart:n}=Dn.bufferedInfo(e.buffered,i,0);n&&(t.currentTime=n)}else t.currentTime=s}}_handleFragmentLoadProgress(e){var n;const t=e.frag,{part:s,payload:i}=e,{levels:a}=this;if(!a)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${t.sn} of level ${t.level} will not be buffered`);const r=a[t.level];if(!r)return void this.warn(`Level ${t.level} not found on progress`);const o=r.details;if(!o)return this.warn(`Dropping fragment ${t.sn} of level ${t.level} after level details were reset`),void this.fragmentTracker.removeFragment(t);const l=r.videoCodec,c=o.PTSKnown||!o.live,u=null==(n=t.initSegment)?void 0:n.data,p=this._getAudioCodec(r),h=this.transmuxer=this.transmuxer||new bi(this.hls,d,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,v=-1!==m,g=new In(t.level,t.sn,t.stats.chunkCount,i.byteLength,m,v),f=this.initPTS[t.cc];h.push(i,u,p,l,t,s,o.totalduration,c,g,f)}onAudioTrackSwitching(e,n){const t=this.hls,s=2===this.altAudio;if(en(n.url,t))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(s)return this.fragmentTracker.removeAllFragments(),t.once(a.BUFFER_FLUSHED,(()=>{var e;null==(e=this.hls)||e.trigger(a.AUDIO_TRACK_SWITCHED,n)})),void t.trigger(a.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});t.trigger(a.AUDIO_TRACK_SWITCHED,n)}}onAudioTrackSwitched(e,n){const t=en(n.url,this.hls);if(t){const e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=t?2:0,this.tick()}onBufferCreated(e,n){const t=n.tracks;let s,i,a=!1;for(const e in t){const n=t[e];if("main"===n.id){if(i=e,s=n,"video"===e){const n=t[e];n&&(this.videoBuffer=n.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${i}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,n){const{frag:t,part:s}=n,i=t.type===d;if(i){if(this.fragContextChanged(t))return this.warn(`Fragment ${t.sn}${s?" p: "+s.index:""} of level ${t.level} finished buffering, but was aborted. state: ${this.state}`),void(this.state===Gt.PARSED&&(this.state=Gt.IDLE));const e=s?s.stats:t.stats;this.fragLastKbps=Math.round(8*e.total/(e.buffering.end-e.loading.first)),q(t)&&(this.fragPrevious=t),this.fragBufferedComplete(t,s)}const a=this.media;a&&(!this._hasEnoughToStart&&Dn.getBuffered(a).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),i&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,n){var t;if(n.fatal)this.state=Gt.ERROR;else switch(n.details){case i.FRAG_GAP:case i.FRAG_PARSING_ERROR:case i.FRAG_DECRYPT_ERROR:case i.FRAG_LOAD_ERROR:case i.FRAG_LOAD_TIMEOUT:case i.KEY_LOAD_ERROR:case i.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(d,n);break;case i.LEVEL_LOAD_ERROR:case i.LEVEL_LOAD_TIMEOUT:case i.LEVEL_PARSING_ERROR:n.levelRetry||this.state!==Gt.WAITING_LEVEL||(null==(t=n.context)?void 0:t.type)!==o||(this.state=Gt.IDLE);break;case i.BUFFER_ADD_CODEC_ERROR:case i.BUFFER_APPEND_ERROR:if("main"!==n.parent)return;this.reduceLengthAndFlushBuffer(n)&&this.resetLoadingState();break;case i.BUFFER_FULL_ERROR:if("main"!==n.parent)return;this.reduceLengthAndFlushBuffer(n)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case i.INTERNAL_EXCEPTION:this.recoverWorkerError(n)}}onFragLoadEmergencyAborted(){this.state=Gt.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:n}){if(n!==U||!this.altAudio){const e=(n===j?this.videoBuffer:this.mediaBuffer)||this.media;e&&(this.afterBufferFlushed(e,n,d),this.tick())}}onLevelsUpdated(e,n){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,-1===this.level&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=n.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:e}=this;if(!e)return;const n=e.currentTime;let t=this.startPosition;if(t>=0&&n<t){if(e.seeking)return void this.log(`could not seek to ${t}, already seeking at ${n}`);const s=this.timelineOffset;s&&t&&(t+=s);const i=this.getLevelDetails(),a=Dn.getBuffered(e),r=a.length?a.start(0):0,o=r-t,l=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||o>0&&(o<l||this.loadingParts&&o<2*((null==i?void 0:i.partTarget)||0)))&&(this.log(`adjusting start position by ${o} to match buffer start`),t+=o,this.startPosition=t),n<t&&(this.log(`seek to target start position ${t} from current time ${n} buffer start ${r}`),e.currentTime=t)}}_getAudioCodec(e){let n=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&n&&(this.log("Swapping audio codec"),n=-1!==n.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),n}_loadBitrateTestFrag(e,n){e.bitrateTest=!0,this._doFragLoad(e,n).then((e=>{const{hls:t}=this,s=null==e?void 0:e.frag;if(!s||this.fragContextChanged(s))return;n.fragmentError=0,this.state=Gt.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const i=s.stats;i.parsing.start=i.parsing.end=i.buffering.start=i.buffering.end=self.performance.now(),t.trigger(a.FRAG_LOADED,e),s.bitrateTest=!1}))}_handleTransmuxComplete(n){var t;const s=this.playlistType,{hls:i}=this,{remuxResult:r,chunkMeta:o}=n,l=this.getCurrentContext(o);if(!l)return void this.resetWhenMissingContext(o);const{frag:c,part:d,level:u}=l,{video:p,text:h,id3:m,initSegment:v}=r,{details:g}=u,f=this.altAudio?void 0:r.audio;if(this.fragContextChanged(c))this.fragmentTracker.removeFragment(c);else{if(this.state=Gt.PARSING,v){if(null!=v&&v.tracks){const e=c.initSegment||c;this._bufferInitSegment(u,v.tracks,e,o),i.trigger(a.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:s,tracks:v.tracks})}const n=v.initPTS,t=v.timescale,r=this.initPTS[c.cc];!e(n)||r&&r.baseTime===n&&r.timescale===t||(this.initPTS[c.cc]={baseTime:n,timescale:t},i.trigger(a.INIT_PTS_FOUND,{frag:c,id:s,initPTS:n,timescale:t}))}if(p&&g){f&&"audiovideo"===p.type&&this.logMuxedErr(c);const e=g.fragments[c.sn-1-g.startSN],n=c.sn===g.startSN,t=!e||c.cc>e.cc;if(!1!==r.independent){const{startPTS:e,endPTS:s,startDTS:i,endDTS:a}=p;if(d)d.elementaryStreams[p.type]={startPTS:e,endPTS:s,startDTS:i,endDTS:a};else if(p.firstKeyFrame&&p.independent&&1===o.id&&!t&&(this.couldBacktrack=!0),p.dropped&&p.independent){const i=this.getMainFwdBufferInfo(),r=(i?i.end:this.getLoadPosition())+this.config.maxBufferHole,o=p.firstKeyFramePTS?p.firstKeyFramePTS:e;if(!n&&r<o-this.config.maxBufferHole&&!t)return void this.backtrack(c);t&&(c.gap=!0),c.setElementaryStreamInfo(p.type,c.start,s,c.start,a,!0)}else n&&e-(g.appliedTimelineOffset||0)>2&&(c.gap=!0);c.setElementaryStreamInfo(p.type,e,s,i,a),this.backtrackFragment&&(this.backtrackFragment=c),this.bufferFragmentData(p,c,d,o,n||t)}else{if(!n&&!t)return void this.backtrack(c);c.gap=!0}}if(f){const{startPTS:e,endPTS:n,startDTS:t,endDTS:s}=f;d&&(d.elementaryStreams[U]={startPTS:e,endPTS:n,startDTS:t,endDTS:s}),c.setElementaryStreamInfo(U,e,n,t,s),this.bufferFragmentData(f,c,d,o)}if(g&&null!=m&&null!=(t=m.samples)&&t.length){const e={id:s,frag:c,details:g,samples:m.samples};i.trigger(a.FRAG_PARSING_METADATA,e)}if(g&&h){const e={id:s,frag:c,details:g,samples:h.samples};i.trigger(a.FRAG_PARSING_USERDATA,e)}}}logMuxedErr(e){this.warn(`${q(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,n,t,s){if(this.state!==Gt.PARSING)return;this.audioOnly=!!n.audio&&!n.video,this.altAudio&&!this.audioOnly&&(delete n.audio,n.audiovideo&&this.logMuxedErr(t));const{audio:i,video:r,audiovideo:o}=n;if(i){const t=e.audioCodec;let s=Ce(i.codec,t);"mp4a"===s&&(s="mp4a.40.5");const a=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){s&&(s=-1!==s.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");const e=i.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===a.indexOf("firefox")&&(s="mp4a.40.5")}s&&-1!==s.indexOf("mp4a.40.5")&&-1!==a.indexOf("android")&&"audio/mpeg"!==i.container&&(s="mp4a.40.2",this.log(`Android: force audio codec to ${s}`)),t&&t!==s&&this.log(`Swapping manifest audio codec "${t}" for "${s}"`),i.levelCodec=s,i.id=d,this.log(`Init audio buffer, container:${i.container}, codecs[selected/level/parsed]=[${s||""}/${t||""}/${i.codec}]`),delete n.audiovideo}if(r){r.levelCodec=e.videoCodec,r.id=d;const t=r.codec;if(4===(null==t?void 0:t.length))switch(t){case"hvc1":case"hev1":r.codec="hvc1.1.6.L120.90";break;case"av01":r.codec="av01.0.04M.08";break;case"avc1":r.codec="avc1.42e01e"}this.log(`Init video buffer, container:${r.container}, codecs[level/parsed]=[${e.videoCodec||""}/${t}]${r.codec!==t?" parsed-corrected="+r.codec:""}${r.supplemental?" supplemental="+r.supplemental:""}`),delete n.audiovideo}o&&(this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),delete n.video,delete n.audio);const l=Object.keys(n);if(l.length){if(this.hls.trigger(a.BUFFER_CODECS,n),!this.hls)return;l.forEach((e=>{const i=n[e].initSegment;null!=i&&i.byteLength&&this.hls.trigger(a.BUFFER_APPENDING,{type:e,data:i,frag:t,part:null,chunkMeta:s,parent:t.type})}))}this.tickImmediate()}getMainFwdBufferInfo(){const e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,d)}get maxBufferLength(){const{levels:e,level:n}=this,t=null==e?void 0:e[n];return t?this.getMaxBufferLength(t.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Gt.IDLE}checkFragmentChanged(){const e=this.media;let n=null;if(e&&e.readyState>1&&!1===e.seeking){const t=e.currentTime;if(Dn.isBuffered(e,t)?n=this.getAppendedFrag(t):Dn.isBuffered(e,t+.1)&&(n=this.getAppendedFrag(t+.1)),n){this.backtrackFragment=null;const e=this.fragPlaying,t=n.level;e&&n.sn===e.sn&&e.level===t||(this.fragPlaying=n,this.hls.trigger(a.FRAG_CHANGED,{frag:n}),e&&e.level===t||this.hls.trigger(a.LEVEL_SWITCHED,{level:t}))}}}get nextLevel(){const e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var n;if(this.fragPlaying)return this.fragPlaying;const t=(null==(n=this.media)?void 0:n.currentTime)||this.lastCurrentTime;return e(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var n;const t=(null==(n=this.media)?void 0:n.currentTime)||this.lastCurrentTime;if(e(t)){const e=this.getLevelDetails(),n=this.currentFrag||(e?tn(null,e.fragments,t):null);if(n){const e=n.programDateTime;if(null!==e){const s=e+1e3*(t-n.start);return new Date(s)}}}return null}get currentLevel(){const e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){const e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class to{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(const t in this.keyUriToKeyInfo){const s=this.keyUriToKeyInfo[t].loader;if(s){var n;if(e&&e!==(null==(n=s.context)?void 0:n.frag.type))return;s.abort()}}}detach(){for(const e in this.keyUriToKeyInfo){const n=this.keyUriToKeyInfo[e];(n.mediaKeySessionContext||n.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(const e in this.keyUriToKeyInfo){const n=this.keyUriToKeyInfo[e].loader;n&&n.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,n=i.KEY_LOAD_ERROR,t,a,r){return new Cn({type:s.NETWORK_E
2RROR,details:n,fatal:!1,frag:e,response:r,error:t,networkDetails:a})}loadClear(e,n){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length)if(n.length){const{sn:t,cc:s}=e;for(let e=0;e<n.length;e++){const i=n[e];if(s<=i.cc&&("initSegment"===t||"initSegment"===i.sn||t<i.sn))return this.emeController.selectKeySystemFormat(i).then((e=>{if(i.setKeyFormat(e),this.emeController&&this.config.requireKeySystemAccessOnStart){const n=nt(e);if(n)return this.emeController.getKeySystemAccess([n])}}))}}else if(this.config.requireKeySystemAccessOnStart){const e=it(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then((n=>this.loadInternal(e,n))):this.loadInternal(e)}loadInternal(e,n){var t,s;n&&e.setKeyFormat(n);const a=e.decryptdata;if(!a){const t=new Error(n?`Expected frag.decryptdata to be defined after setting format ${n}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,i.KEY_LOAD_ERROR,t))}const r=a.uri;if(!r)return Promise.reject(this.createKeyLoadError(e,i.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${r}"`)));let o=this.keyUriToKeyInfo[r];if(null!=(t=o)&&t.decryptdata.key)return a.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});var l;if(null!=(s=o)&&s.keyLoadPromise)switch(null==(l=o.mediaKeySessionContext)?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then((n=>(a.key=n.keyInfo.decryptdata.key,{frag:e,keyInfo:o})))}switch(o=this.keyUriToKeyInfo[r]={decryptdata:a,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},a.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===a.keyFormat?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,i.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${a.method}"`)))}}loadKeyEME(e,n){const t={frag:n,keyInfo:e};if(this.emeController&&this.config.emeEnabled){const n=this.emeController.loadKey(t);if(n)return(e.keyLoadPromise=n.then((n=>(e.mediaKeySessionContext=n,t)))).catch((n=>{throw e.keyLoadPromise=null,n}))}return Promise.resolve(t)}loadKeyHTTP(e,n){const t=this.config,s=new(0,t.loader)(t);return n.keyLoader=e.loader=s,e.keyLoadPromise=new Promise(((a,r)=>{const o={keyInfo:e,frag:n,responseType:"arraybuffer",url:e.decryptdata.uri},l=t.keyLoadPolicy.default,c={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(e,n,t,s)=>{const{frag:o,keyInfo:l,url:c}=t;if(!o.decryptdata||l!==this.keyUriToKeyInfo[c])return r(this.createKeyLoadError(o,i.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),s));l.decryptdata.key=o.decryptdata.key=new Uint8Array(e.data),o.keyLoader=null,l.loader=null,a({frag:o,keyInfo:l})},onError:(e,t,s,a)=>{this.resetLoader(t),r(this.createKeyLoadError(n,i.KEY_LOAD_ERROR,new Error(`HTTP Error ${e.code} loading key ${e.text}`),s,_({url:o.url,data:void 0},e)))},onTimeout:(e,t,s)=>{this.resetLoader(t),r(this.createKeyLoadError(n,i.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),s))},onAbort:(e,t,s)=>{this.resetLoader(t),r(this.createKeyLoadError(n,i.INTERNAL_ABORTED,new Error("key loading aborted"),s))}};s.load(o,c,d)}))}resetLoader(e){const{frag:n,keyInfo:t,url:s}=e,i=t.loader;n.keyLoader===i&&(n.keyLoader=null,t.loader=null),delete this.keyUriToKeyInfo[s],i&&i.destroy()}}function so(e){const{type:n}=e;switch(n){case l:return u;case c:return p;default:return d}}function io(e,n){let t=e.url;return void 0!==t&&0!==t.indexOf("data:")||(t=n.url),t}class ao{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:e}=this;e.on(a.MANIFEST_LOADING,this.onManifestLoading,this),e.on(a.LEVEL_LOADING,this.onLevelLoading,this),e.on(a.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(a.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(a.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){const{hls:e}=this;e.off(a.MANIFEST_LOADING,this.onManifestLoading,this),e.off(a.LEVEL_LOADING,this.onLevelLoading,this),e.off(a.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(a.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(a.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){const n=this.hls.config,t=n.pLoader,s=n.loader,i=new(t||s)(n);return this.loaders[e.type]=i,i}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(const e in this.loaders){const n=this.loaders[e];n&&n.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,n){const{url:t}=n;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:r,url:t,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,n){const{id:t,level:s,pathwayId:i,url:a,deliveryDirectives:r,levelInfo:l}=n;this.load({id:t,level:s,pathwayId:i,responseType:"text",type:o,url:a,deliveryDirectives:r,levelOrTrack:l})}onAudioTrackLoading(e,n){const{id:t,groupId:s,url:i,deliveryDirectives:a,track:r}=n;this.load({id:t,groupId:s,level:null,responseType:"text",type:l,url:i,deliveryDirectives:a,levelOrTrack:r})}onSubtitleTrackLoading(e,n){const{id:t,groupId:s,url:i,deliveryDirectives:a,track:r}=n;this.load({id:t,groupId:s,level:null,responseType:"text",type:c,url:i,deliveryDirectives:a,levelOrTrack:r})}onLevelsUpdated(e,n){const t=this.loaders[o];if(t){const e=t.context;e&&!n.levels.some((n=>n===e.levelOrTrack))&&(t.abort(),delete this.loaders[o])}}load(n){var t;const s=this.hls.config;let i,a=this.getInternalLoader(n);if(a){const e=this.hls.logger,t=a.context;if(t&&t.levelOrTrack===n.levelOrTrack&&(t.url===n.url||t.deliveryDirectives&&!n.deliveryDirectives))return void(t.url===n.url?e.log(`[playlist-loader]: ignore ${n.url} ongoing request`):e.log(`[playlist-loader]: ignore ${n.url} in favor of ${t.url}`));e.log(`[playlist-loader]: aborting previous loader for type: ${n.type}`),a.abort()}if(i=n.type===r?s.manifestLoadPolicy.default:g({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),a=this.createInternalLoader(n),e(null==(t=n.deliveryDirectives)?void 0:t.part)){let e;if(n.type===o&&null!==n.level?e=this.hls.levels[n.level].details:n.type===l&&null!==n.id?e=this.hls.audioTracks[n.id].details:n.type===c&&null!==n.id&&(e=this.hls.subtitleTracks[n.id].details),e){const n=e.partTarget,t=e.targetduration;if(n&&t){const e=1e3*Math.max(3*n,.8*t);i=g({},i,{maxTimeToFirstByteMs:Math.min(e,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(e,i.maxTimeToFirstByteMs)})}}}const d=i.errorRetry||i.timeoutRetry||{},u={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:d.maxNumRetry||0,retryDelay:d.retryDelayMs||0,maxRetryDelay:d.maxRetryDelayMs||0},p={onSuccess:(e,n,t,s)=>{const i=this.getInternalLoader(t);this.resetInternalLoader(t.type);const a=e.data;0===a.indexOf("#EXTM3U")?(n.parsing.start=performance.now(),vt.isMediaPlaylist(a)||t.type!==r?this.handleTrackOrLevelPlaylist(e,n,t,s||null,i):this.handleMasterPlaylist(e,n,t,s)):this.handleManifestParsingError(e,t,new Error("no EXTM3U delimiter"),s||null,n)},onError:(e,n,t,s)=>
2{this.handleNetworkError(n,t,!1,e,s)},onTimeout:(e,n,t)=>{this.handleNetworkError(n,t,!0,void 0,e)}};a.load(n,u,p)}checkAutostartLoad(){if(!this.hls)return;const{config:{autoStartLoad:e,startPosition:n},forceStartLoad:t}=this.hls;(e||t)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${n}`),this.hls.startLoad(n))}handleMasterPlaylist(e,n,t,s){const i=this.hls,r=e.data,o=io(e,t),l=vt.parseMasterPlaylist(r,o);if(l.playlistParsingError)return void this.handleManifestParsingError(e,t,l.playlistParsingError,s,n);const{contentSteering:c,levels:d,sessionData:u,sessionKeys:p,startTimeOffset:h,variableList:m}=l;this.variableList=m;const{AUDIO:v=[],SUBTITLES:g,"CLOSED-CAPTIONS":f}=vt.parseMasterPlaylistMedia(r,o,l);v.length&&(v.some((e=>!e.url))||!d[0].audioCodec||d[0].attrs.AUDIO||(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),v.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new jn({}),bitrate:0,url:""}))),i.trigger(a.MANIFEST_LOADED,{levels:d,audioTracks:v,subtitles:g,captions:f,contentSteering:c,url:o,stats:n,networkDetails:s,sessionData:u,sessionKeys:p,startTimeOffset:h,variableList:m})}handleTrackOrLevelPlaylist(n,t,s,i,o){const l=this.hls,{id:c,level:d,type:u}=s,p=io(n,s),h=e(d)?d:e(c)?c:0,m=so(s),v=vt.parseLevelPlaylist(n.data,p,h,m,0,this.variableList);if(u===r){const e={attrs:new jn({}),bitrate:0,details:v,name:"",url:p};v.requestScheduled=t.loading.start+Pt(v,0),l.trigger(a.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:p,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),s.levelDetails=v,this.handlePlaylistLoaded(v,n,t,s,i,o)}handleManifestParsingError(e,n,t,o,l){this.hls.trigger(a.ERROR,{type:s.NETWORK_ERROR,details:i.MANIFEST_PARSING_ERROR,fatal:n.type===r,url:e.url,err:t,error:t,reason:t.message,response:e,context:n,networkDetails:o,stats:l})}handleNetworkError(e,n,t=!1,d,u){let p=`A network ${t?"timeout":"error"+(d?" (status "+d.code+")":"")} occurred while loading ${e.type}`;e.type===o?p+=`: ${e.level} id: ${e.id}`:e.type!==l&&e.type!==c||(p+=` id: ${e.id} group-id: "${e.groupId}"`);const h=new Error(p);this.hls.logger.warn(`[playlist-loader]: ${p}`);let m=i.UNKNOWN,v=!1;const g=this.getInternalLoader(e);switch(e.type){case r:m=t?i.MANIFEST_LOAD_TIMEOUT:i.MANIFEST_LOAD_ERROR,v=!0;break;case o:m=t?i.LEVEL_LOAD_TIMEOUT:i.LEVEL_LOAD_ERROR,v=!1;break;case l:m=t?i.AUDIO_TRACK_LOAD_TIMEOUT:i.AUDIO_TRACK_LOAD_ERROR,v=!1;break;case c:m=t?i.SUBTITLE_TRACK_LOAD_TIMEOUT:i.SUBTITLE_LOAD_ERROR,v=!1}g&&this.resetInternalLoader(e.type);const f={type:s.NETWORK_ERROR,details:m,fatal:v,url:e.url,loader:g,context:e,error:h,networkDetails:n,stats:u};if(d){const t=(null==n?void 0:n.url)||e.url;f.response=_({url:t,data:void 0},d)}this.hls.trigger(a.ERROR,f)}handlePlaylistLoaded(e,n,t,u,p,h){const m=this.hls,{type:v,level:g,id:f,groupId:_,deliveryDirectives:b}=u,y=io(n,u),w=so(u),k="number"==typeof u.level&&w===d?g:void 0;if(!e.fragments.length){const r=e.playlistParsingError=new Error("No Segments found in Playlist");return void m.trigger(a.ERROR,{type:s.NETWORK_ERROR,details:i.LEVEL_EMPTY_ERROR,fatal:!1,url:y,error:r,reason:r.message,response:n,context:u,level:k,parent:w,networkDetails:p,stats:t})}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));const T=e.playlistParsingError;if(T){if(this.hls.logger.warn(T),!m.config.ignorePlaylistParsingErrors)return void m.trigger(a.ERROR,{type:s.NETWORK_ERROR,details:i.LEVEL_PARSING_ERROR,fatal:!1,url:y,error:T,reason:T.message,response:n,context:u,level:k,parent:w,networkDetails:p,stats:t});e.playlistParsingError=null}switch(e.live&&h&&(h.getCacheAge&&(e.ageHeader=h.getCacheAge()||0),h.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),v){case r:case o:m.trigger(a.LEVEL_LOADED,{details:e,levelInfo:u.levelOrTrack||m.levels[0],level:k||0,id:f||0,stats:t,networkDetails:p,deliveryDirectives:b,withoutMultiVariant:v===r});break;case l:m.trigger(a.AUDIO_TRACK_LOADED,{details:e,track:u.levelOrTrack,id:f||0,groupId:_||"",stats:t,networkDetails:p,deliveryDirectives:b});break;case c:m.trigger(a.SUBTITLE_TRACK_LOADED,{details:e,track:u.levelOrTrack,id:f||0,groupId:_||"",stats:t,networkDetails:p,deliveryDirectives:b})}}}class ro{static get version(){return Xt}static isMSESupported(){return eo()}static isSupported(){return function(){if(!eo())return!1;const e=S();
vendor: 12,677 bytes, line 2
2return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((n=>e.isTypeSupported(Te(n,"video"))))||["mp4a.40.2","fLaC"].some((n=>e.isTypeSupported(Te(n,"audio")))))}()}static getMediaSource(){return S()}static get Events(){return a}static get MetadataSchema(){return ys}static get ErrorTypes(){return s}static get ErrorDetails(){return i}static get DefaultConfig(){return ro.defaultConfig?ro.defaultConfig:jr}static set DefaultConfig(e){ro.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new Wt,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const n=this.logger=function(e,n,t){const s=k();if("object"==typeof console&&!0===e||"object"==typeof e){const n=["debug","log","info","warn","error"];n.forEach((n=>{s[n]=T(n,e,t)}));try{s.log('Debug logs enabled for "Hls instance" in hls.js version 1.6.6')}catch(e){return k()}n.forEach((n=>{E[n]=T(n,e)}))}else g(E,s);return s}(e.debug||!1,0,e.assetPlayerId),t=this.config=function(e,n,t){if((n.liveSyncDurationCount||n.liveMaxLatencyDurationCount)&&(n.liveSyncDuration||n.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==n.liveMaxLatencyDurationCount&&(void 0===n.liveSyncDurationCount||n.liveMaxLatencyDurationCount<=n.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==n.liveMaxLatencyDuration&&(void 0===n.liveSyncDuration||n.liveMaxLatencyDuration<=n.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const s=Gr(e),i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((e=>{const a=`${"level"===e?"playlist":e}LoadPolicy`,r=void 0===n[a],o=[];i.forEach((t=>{const i=`${e}Loading${t}`,l=n[i];if(void 0!==l&&r){o.push(i);const e=s[a].default;switch(n[a]={default:e},t){case"TimeOut":e.maxLoadTimeMs=l,e.maxTimeToFirstByteMs=l;break;case"MaxRetry":e.errorRetry.maxNumRetry=l,e.timeoutRetry.maxNumRetry=l;break;case"RetryDelay":e.errorRetry.retryDelayMs=l,e.timeoutRetry.retryDelayMs=l;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=l,e.timeoutRetry.maxRetryDelayMs=l}}})),o.length&&t.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${a}": ${Ve(n[a])}`)})),_(_({},s),n)}(ro.DefaultConfig,e,n);this.userConfig=e,t.progressive&&function(e,n){const t=e.loader;t!==Fr&&t!==Ur?(n.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}()&&(e.loader=Fr,e.progressive=!0,e.enableSoftwareAES=!0,n.log("[config]: Progressive streaming enabled, using FetchLoader"))}(t,n);const{abrController:s,bufferController:i,capLevelController:r,errorController:o,fpsController:l}=t,c=new o(this),d=this.abrController=new s(this),u=new fn(this),p=t.interstitialsController,h=p?this.interstitialsController=new p(this,ro):null,m=this.bufferController=new i(this,u),v=this.capLevelController=new r(this),f=new l(this),b=new ao(this),y=t.contentSteeringController,w=y?new y(this):null,x=this.levelController=new Qr(this,w),S=new Wr(this),A=new to(this.config),L=this.streamController=new no(this,u,A),C=this.gapController=new zr(this,u);v.setStreamController(L),f.setStreamController(L);const R=[b,x,L];h&&R.splice(1,0,h),w&&R.splice(1,0,w),this.networkControllers=R;const I=[d,m,C,v,f,S,u];this.audioTrackController=this.createController(t.audioTrackController,R);const P=t.audioStreamController;P&&R.push(this.audioStreamController=new P(this,u,A)),this.subtitleTrackController=this.createController(t.subtitleTrackController,R);const D=t.subtitleStreamController;D&&R.push(this.subtititleStreamController=new D(this,u,A)),this.createController(t.timelineController,I),A.emeController=this.emeController=this.createController(t.emeController,I),this.cmcdController=this.createController(t.cmcdController,I),this.latencyController=this.createController(Xr,I),this.coreComponents=I,R.push(c);const O=c.onErrorOut;"function"==typeof O&&this.on(a.ERROR,O,c),this.on(a.MANIFEST_LOADED,b.onManifestLoaded,b)}createController(e,n){if(e){const t=new e(this);return n&&n.push(t),t}return null}on(e,n,t=this){this._emitter.on(e,n,t)}once(e,n,t=this){this._emitter.once(e,n,t)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,n,t=this,s){this._emitter.off(e,n,t,s)}listeners(e){return this._emitter.listeners(e)}emit(e,n,t){return this._emitter.emit(e,n,t)}trigger(e,n){if(this.config.debug)return this.emit(e,e,n);try{return this.emit(e,e,n)}catch(n){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+n.message+'". Here is a stacktrace:',n),!this.triggeringException){this.triggeringException=!0;const t=e===a.ERROR;this.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.INTERNAL_EXCEPTION,fatal:t,event:e,error:n}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(a.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach((e=>e.destroy())),this.networkControllers.length=0,this.coreComponents.forEach((e=>e.destroy())),this.coreComponents.length=0;const e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){const n=new Error(`attachMedia failed: invalid argument (${e})`);return void this.trigger(a.ERROR,{type:s.OTHER_ERROR,details:i.ATTACH_MEDIA_ERROR,fatal:!0,error:n})}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());const n="media"in e,t=n?e.media:e,r=n?e:{media:t};this._media=t,this.trigger(a.MEDIA_ATTACHING,r)}detachMedia(){this.logger.log("detachMedia"),this.trigger(a.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;const e=this.bufferController.transferMedia();return this.trigger(a.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();const n=this.media,t=this._url,s=this._url=$.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${s}`),n&&t&&(t!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(n)),this.trigger(a.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,n){this.logger.log(`startLoad(${e+(n?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let t=0;t<this.networkControllers.length&&(this.networkControllers[t].startLoad(e,n),this.started&&this.networkControllers);t++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!this.started&&this.networkControllers);e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach((e=>{e.resumeBuffering&&e.resumeBuffering()})))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach((e=>{e.pauseBuffering&&e.pauseBuffering()})))}get inFlightFragments(){const e={[d]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[u]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[p]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");const e=this._media,n=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),n&&this.startLoad(n))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=function(){try{return crypto.randomUUID()}catch(e){try{const e=URL.createObjectURL(new Blob),n=e.toString();return URL.revokeObjectURL(e),n.slice(n.lastIndexOf("/")+1)}catch(e){let n=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=(n+16*Math.random())%16|0;return n=Math.floor(n/16),("x"==e?t:3&t|8).toString(16)}))}}}()),e}get levels(){return this.levelController.levels||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){const e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){const n=!!e;n!==this.config.capLevelToPlayerSize&&(n?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=n)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){const{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){(function(e){return Ue.indexOf(e)>-1})(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return-1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:e,config:{minAutoBitrate:n}}=this;if(!e)return 0;const t=e.length;for(let s=0;s<t;s++)if(e[s].maxBitrate>=n)return s;return 0}get maxAutoLevel(){const{levels:e,autoLevelCapping:n,maxHdcpLevel:t}=this;let s;if(s=-1===n&&null!=e&&e.length?e.length-1:n,t)for(let n=s;n--;){const s=e[n].attrs["HDCP-LEVEL"];if(s&&s<=t)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var n;return(null==(n=this.audioTrackController)?void 0:n.setAudioOption(e))||null}
2setSubtitleOption(e){var n;return(null==(n=this.subtitleTrackController)?void 0:n.setSubtitleOption(e))||null}get allAudioTracks(){const e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){const e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){const e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){const n=this.audioTrackController;n&&(n.audioTrack=e)}get allSubtitleTracks(){const e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){const e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){const e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){const n=this.subtitleTrackController;n&&(n.subtitleTrack=e)}get subtitleDisplay(){const e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){const n=this.subtitleTrackController;n&&(n.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!(null==(e=this.bufferController)||!e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,n=this.allAudioTracks){return Ne(e,Ye(n),navigator.mediaCapabilities)}}ro.defaultConfig=void 0,document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll("video.media-block__video").forEach((function(e){var n=e.getAttribute("data-hls-src");if(n)if(ro.isSupported()){var t=new ro;t.loadSource(n),t.attachMedia(e),t.on(ro.Events.MANIFEST_PARSED,(function(){e.autoplay&&e.play()}))}else e.canPlayType("application/vnd.apple.mpegurl")&&(e.src=n,e.autoplay&&e.play())}))}))},119:(e,n,t)=>{"use strict";t.d(n,{A:()=>i});var s=t(3703);function i(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n,t=e.querySelector(".js-post-card-carousel-slider"),i="grid"===(null===(n=t.dataset)||void 0===n?void 0:n.countSlides),a=i?3:"auto";new s.A(t,{slidesPerView:1,spaceBetween:4,watchOverflow:!0,speed:500,grabCursor:!0,breakpoints:{768:{slidesPerView:a,spaceBetween:24,enabled:i}}})}))}},6029:(e,n,t)=>{"use strict";t.d(n,{A:()=>p});var s=t(9965);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(){a=function(){return n};var e,n={},t=Object.prototype,s=t.hasOwnProperty,r=Object.defineProperty||function(e,n,t){e[n]=t.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function u(e,n,t){return Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[n]}try{u({},"")}catch(e){u=function(e,n,t){return e[n]=t}}function p(e,n,t,s){var i=n&&n.prototype instanceof b?n:b,a=Object.create(i.prototype),o=new P(s||[]);return r(a,"_invoke",{value:L(e,t,o)}),a}function h(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(e){return{type:"throw",arg:e}}}n.wrap=p;var m="suspendedStart",v="suspendedYield",g="executing",f="completed",_={};function b(){}function y(){}function w(){}var k={};u(k,l,(function(){return this}));var T=Object.getPrototypeOf,E=T&&T(T(D([])));E&&E!==t&&s.call(E,l)&&(k=E);var x=w.prototype=b.prototype=Object.create(k);function S(e){["next","throw","return"].forEach((function(n){u(e,n,(function(e){return this._invoke(n,e)}))}))}function A(e,n){function t(a,r,o,l){var c=h(e[a],e,r);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==i(u)&&s.call(u,"__await")?n.resolve(u.__await).then((function(e){t("next",e,o,l)}),(function(e){t("throw",e,o,l)})):n.resolve(u).then((function(e){d.value=e,o(d)}),(function(e){return t("throw",e,o,l)}))}l(c.arg)}var a;r(this,"_invoke",{value:function(e,s){function i(){return new n((function(n,i){t(e,s,n,i)}))}return a=a?a.then(i,i):i()}})}function L(n,t,s){var i=m;return function(a,r){if(i===g)throw Error("Generator is already running");if(i===f){if("throw"===a)throw r;return{value:e,done:!0}}for(s.method=a,s.arg=r;;){var o=s.delegate;if(o){var l=C(o,s);if(l){if(l===_)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===m)throw i=f,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=g;var c=h(n,t,s);if("normal"===c.type){if(i=s.done?f:v,c.arg===_)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=f,s.method="throw",s.arg=c.arg)}}}function C(n,t){var s=t.method,i=n.iterator[s];if(i===e)return t.delegate=null,"throw"===s&&n.iterator.return&&
vendor: 6,131 bytes, line 2
2(t.method="return",t.arg=e,C(n,t),"throw"===t.method)||"return"!==s&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+s+"' method")),_;var a=h(i,n.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,_;var r=a.arg;return r?r.done?(t[n.resultName]=r.value,t.next=n.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,_):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function R(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function I(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function D(n){if(n||""===n){var t=n[l];if(t)return t.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var a=-1,r=function t(){for(;++a<n.length;)if(s.call(n,a))return t.value=n[a],t.done=!1,t;return t.value=e,t.done=!0,t};return r.next=r}}throw new TypeError(i(n)+" is not iterable")}return y.prototype=w,r(x,"constructor",{value:w,configurable:!0}),r(w,"constructor",{value:y,configurable:!0}),y.displayName=u(w,d,"GeneratorFunction"),n.isGeneratorFunction=function(e){var n="function"==typeof e&&e.constructor;return!!n&&(n===y||"GeneratorFunction"===(n.displayName||n.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,u(e,d,"GeneratorFunction")),e.prototype=Object.create(x),e},n.awrap=function(e){return{__await:e}},S(A.prototype),u(A.prototype,c,(function(){return this})),n.AsyncIterator=A,n.async=function(e,t,s,i,a){void 0===a&&(a=Promise);var r=new A(p(e,t,s,i),a);return n.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},S(x),u(x,d,"Generator"),u(x,l,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),n.keys=function(e){var n=Object(e),t=[];for(var s in n)t.push(s);return t.reverse(),function e(){for(;t.length;){var s=t.pop();if(s in n)return e.value=s,e.done=!1,e}return e.done=!0,e}},n.values=D,P.prototype={constructor:P,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!n)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var t=this;function i(s,i){return o.type="throw",o.arg=n,t.next=s,i&&(t.method="next",t.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a],o=r.completion;if("root"===r.tryLoc)return i("end");if(r.tryLoc<=this.prev){var l=s.call(r,"catchLoc"),c=s.call(r,"finallyLoc");if(l&&c){if(this.prev<r.catchLoc)return i(r.catchLoc,!0);if(this.prev<r.finallyLoc)return i(r.finallyLoc)}else if(l){if(this.prev<r.catchLoc)return i(r.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return i(r.finallyLoc)}}}},abrupt:function(e,n){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=n&&n<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=e,r.arg=n,a?(this.method="next",this.next=a.finallyLoc,_):this.complete(r)},complete:function(e,n){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&n&&(this.next=n),_},finish:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),I(t),_}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var s=t.completion;if("throw"===s.type){var i=s.arg;I(t)}return i}}throw Error("illegal catch attempt")},delegateYield:function(n,t,s){return this.delegate={iterator:D(n),resultName:t,nextLoc:s},"next"===this.method&&(this.arg=e),_}},n}function r(e,n,t,s,i,a,r){try{var o=e[a](r),l=o.value}catch(e){return void t(e)}o.done?n(l):Promise.resolve(l).then(s,i)}function o(e){return function(){var n=this,t=arguments;return new Promise((function(s,i){var a=e.apply(n,t);function o(e){r(a,s,i,o,l,"next",e)}function l(e){r(a,s,i,o,l,"throw",e)}o(void 0)}))}}function l(){return c.apply(this,arguments)}function c(){return(c=o(a().mark((function e(){var n,t,s,i;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=(null===(n=window.PageData)||void 0===n?void 0:n.productOffersAjaxUrl)||""){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,e.next=6,fetch(t);case 6:if((s=e.sent).ok){e.next=9;break}throw new Error("ÐÑибка запÑоÑа: ".concat(s.status));case 9:return e.next=11,s.json();case 11:if(i=e.sent,Array.isArray(i)){e.next=14;break}throw new TypeError("ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ
: ожидаеÑÑÑ Ð¼Ð°ÑÑив пÑедложений");case 14:return e.abrupt("return",i);case 17:return e.prev=17,e.t0=e.catch(3),console.error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ ÑоÑговÑе пÑедложениÑ:",e.t0.message),e.abrupt("return",[]);case 21:case"end":return e.stop()}}),e,null,[[3,17]])})))).apply(this,arguments)}function d(e,n,t){if(!Number.isInteger(e)||e<0||e>=t.length)console.error("ÐекоÑÑекÑнÑй Ð¸Ð½Ð´ÐµÐºÑ Ð¿ÑедложениÑ:",e);else{var i=t[e];if(i){var a=n.querySelector(".js-product-image");a&&i.image&&(a.src=i.image);var r=n.querySelector(".js-product-props");r&&(r.innerHTML="",i.props.forEach((function(e){var n=(0,s.A)(e);n&&r.appendChild(n)})))}else console.error("ÐÑедложение не найдено по индекÑÑ:",e)}}function u(e,n,t){e.forEach((function(s){s.addEventListener("click",(function(i){i.preventDefault(),e.forEach((function(e){return e.classList.remove("isActive")}
2)),s.classList.add("isActive");var a=Number.parseInt(s.getAttribute("data-index"),10);Number.isNaN(a)?console.error("ÐекоÑÑекÑнÑй Ð¸Ð½Ð´ÐµÐºÑ Ð² аÑÑибÑÑе data-index:",s):d(a,n,t)}))}))}function p(){return h.apply(this,arguments)}function h(){return(h=o(a().mark((function e(){var n,t,s;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=document.querySelector(".js-product-detail")){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,l();case 5:if(null!=(t=e.sent)&&t.length){e.next=9;break}return console.warn("ТоÑговÑе пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ÑÑÑÑÑÑвÑÑÑ."),e.abrupt("return");case 9:if((s=n.querySelectorAll(".js-product-offer")).length){e.next=13;break}return console.error("Ðнопки ÑоÑговÑÑ
пÑедложений не найденÑ."),e.abrupt("return");case 13:u(s,n,t),s[0].classList.add("isActive"),d(0,n,t);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},7729:()=>{},1463:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n=e.querySelector(".js-products-slider"),t=e.querySelector(".js-products-slider-prev"),a=e.querySelector(".js-products-slider-next"),r=e.querySelector(".js-products-slider-pagination");n&&t&&a&&r&&new s.A(n,{modules:[i.Vx,i.dK],slidesPerView:1,spaceBetween:12,watchOverflow:!0,speed:500,grabCursor:!0,navigation:{nextEl:a,prevEl:t},pagination:{el:r},breakpoints:{768:{slidesPerView:3,spaceBetween:20},1024:{slidesPerView:3,spaceBetween:24}}})}))}},7519:(e,n,t)=>{"use strict";t.d(n,{A:()=>i});var s=t(3703);function i(e){var n=document.querySelector(".".concat(e));if(n){var t=n.querySelectorAll("[data-brand]"),i=n.querySelectorAll("[data-slider]"),a=n.querySelector(".js-promo-catalog-brands-slider");if(t.length&&i.length&&a){var r;t[0].classList.add("isActive"),i[0].classList.add("isActive"),t.forEach((function(e){e.addEventListener("click",(function(n){if(n.preventDefault(),!e.classList.contains("isActive")){t.forEach((function(e){e.classList.remove("isActive")})),i.forEach((function(e){e.classList.remove("isActive")}));var s=e.getAttribute("data-brand"),a=document.querySelector('[data-slider="'.concat(s,'"]'));e.classList.add("isActive"),a.classList.add("isActive")}}))}));var o=function(){r=new s.A(a,{slidesPerView:"auto",spaceBetween:12,freeMode:!0,grabCursor:!0})},l=function(){return window.innerWidth>768&&r?(r.destroy(!0,!0),void(r=null)):o()};o(),l(),window.addEventListener("resize",l)}}}},1973:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n=e.querySelector(".js-promo-catalog-slider"),t=e.querySelector(".js-promo-catalog-slider-prev"),a=e.querySelector(".js-promo-catalog-slider-next"),r=e.querySelector(".js-promo-catalog-slider-pagination");n&&t&&a&&r&&new s.A(n,{modules:[i.Vx,i.dK],spaceBetween:0,slidesPerView:2,speed:500,grabCursor:!0,loop:!0,centeredSlides:!0,navigation:{nextEl:a,prevEl:t},pagination:{el:r,clickable:!0},breakpoints:{768:{slidesPerView:2.5},1024:{slidesPerView:3.2},1280:{slidesPerView:4.2}}})}))}},3061:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n=e.querySelector(".js-prev-btn"),t=e.querySelector(".js-next-btn"),a=e.querySelector(".js-pagination");new s.A(e,{modules:[i.Vx,i.dK],slidesPerView:"auto",spaceBetween:12,watchOverflow:!0,speed:500,grabCursor:!0,navigation:{nextEl:t,prevEl:n},pagination:{el:a},breakpoints:{1024:{spaceBetween:24}}})}))}},4958:()=>{},3611:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n=e.querySelector(".js-recipes-slider"),t=e.querySelector(".js-recipes-slider-prev"),a=e.querySelector(".js-recipes-slider-next");n&&t&&a&&new s.A(n,{modules:[i.Vx],slidesPerView:"auto",spaceBetween:12,watchOverflow:!0,speed:500,preloadImages:!1,grabCursor:!0,navigation:{nextEl:a,prevEl:t},breakpoints:{768:{spaceBetween:24}}})}))}},953:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelectorAll(".".concat(e));
2n.length&&n.forEach((function(e){var n=e.querySelector(".js-reviews-slider"),t=e.querySelector(".js-reviews-slider-prev"),a=e.querySelector(".js-reviews-slider-next"),r=e.querySelector(".js-reviews-slider-pagination");if(n&&t&&a&&r){new s.A(n,{modules:[i.Vx,i.dK],observer:!0,observeParents:!0,observeSlideChildren:!0,slidesPerView:"auto",spaceBetween:0,watchOverflow:!0,speed:500,preloadImages:!1,loop:!0,grabCursor:!0,navigation:{nextEl:a,prevEl:t},pagination:{el:r,clickable:!0}});var o=document.querySelectorAll(".review-card__video-button"),l=document.querySelectorAll(".js-video-reviews-button"),c=document.querySelector(".js-video-modal");if(c){var d=function(){c.classList.add("isOpen")};o.length&&o.forEach((function(e){e.addEventListener("click",(function(n){n.preventDefault();var t=e.getAttribute("data-video-review");c.querySelector(".media-block__video").setAttribute("src",t),d()}))})),l.length&&l.forEach((function(e){e.addEventListener("click",(function(e){e.preventDefault();var n=e.target.closest(".review-card-video").getAttribute("data-href");c.querySelector(".media-block__video").setAttribute("src",n),d()}))}))}}}))}},4829:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelectorAll(".".concat(e));n.length&&n.forEach((function(e){var n=e.querySelector(".js-section-list-carousel-slider"),t=e.querySelector(".js-section-list-carousel-prev"),a=e.querySelector(".js-section-list-carousel-next");n&&t&&a&&new s.A(n,{modules:[i.Vx],slidesPerView:"auto",spaceBetween:12,watchOverflow:!0,speed:500,preloadImages:!1,grabCursor:!0,navigation:{nextEl:a,prevEl:t},breakpoints:{768:{spaceBetween:20},1280:{spaceBetween:17},1680:{spaceBetween:61}}})}))}},193:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var s=t(3703),i=t(4128);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);n&&(s=s.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,s)}return t}function o(e,n,t){return(n=function(e){var n=function(e){if("object"!=a(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=a(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==a(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e){var n=document.querySelector(".".concat(e));if(n){var t=n.querySelector(".js-title-section-thumbs-slider"),a=n.querySelector(".js-title-section-videos-slider"),l=n.querySelector(".js-title-section-slider"),c=n.querySelector(".js-title-slider-prev"),d=n.querySelector(".js-title-slider-next"),u=n.querySelector(".js-title-video-slider-prev"),p=n.querySelector(".js-title-video-slider-next");if((t||a)&&l&&c&&d){var h;if(t&&(h=new s.A(t,{modules:[i.Vx,i.WO,i._R],slidesPerView:1,spaceBetween:12,watchOverflow:!0,speed:500,preloadImages:!1,allowTouchMove:!1,effect:"fade",breakpoints:{768:{spaceBetween:24}}})),a){var m=function(){var e=g[v.activeIndex].querySelector("video");g.forEach((function(n){var t=n.querySelector("video");t&&t!==e&&(t.pause(),t.currentTime=0)})),e&&(e.play().catch((function(e){return console.warn("ÐÑибка воÑпÑоизведениÑ:",e)})),e.onended=function(){v.activeIndex===v.slides.length-1?v.slideTo(0):v.slideNext()})},v=new s.A(a,{modules:[i._R,i.Vx],init:!1,slidesPerView:1,spaceBetween:12,watchOverflow:!0,speed:500,preloadImages:!1,allowTouchMove:!1,effect:"fade",fadeEffect:{crossFade:!0},breakpoints:{768:{spaceBetween:24}},navigation:{nextEl:p,prevEl:u}}),g=document.querySelectorAll(".title-section__video");v.on("init",m),v.on("slideChange",m),v.init()}new s.A(l,function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEac
2h((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({modules:[i.WO,i.Vx],slidesPerView:1,spaceBetween:12,watchOverflow:!0,speed:500,preloadImages:!1,breakpoints:{768:{spaceBetween:24}},navigation:{nextEl:d,prevEl:c}},h?{thumbs:{swiper:h}}:{}))}}}},1379:()=>{"use strict";document.addEventListener("DOMContentLoaded",(function(){var e=document.querySelector(".js-video-modal"),n=e.querySelector(".js-video-modal-close");e&&n&&n.addEventListener("click",(function(){e.querySelector(".media-block__video").pause(),e.classList.remove("isOpen")}))}))},9833:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});var s=t(3703),i=t(4128);function a(e){var n=document.querySelector(".".concat(e));if(n){var t=n.querySelector(".js-video-slider-thumbs-slider"),a=n.querySelector(".js-video-slider-slider"),r=n.querySelector(".js-video-slider-prev"),o=n.querySelector(".js-video-slider-next");if(t&&a&&r&&o){var l=new s.A(t,{modules:[i.Vx,i.WO,i._R],observer:!0,observeParents:!0,observeSlideChildren:!0,slidesPerView:1,spaceBetween:0,watchOverflow:!0,speed:500,preloadImages:!1,effect:"fade"});new s.A(a,{modules:[i.WO,i.Vx],observer:!0,observeParents:!0,observeSlideChildren:!0,slidesPerView:1,spaceBetween:0,watchOverflow:!0,speed:500,preloadImages:!1,grabCursor:!0,thumbs:{swiper:l},navigation:{nextEl:o,prevEl:r}})}}}},4504:(e,n,t)=>{"use strict";var s=t(3457),i=t(1463),a=t(2569);document.addEventListener("DOMContentLoaded",(function(){new s.w({buttonClass:"js-burger",activeButtonClass:"isActive",menuClass:"js-mobile-screen",activeMenuClass:"isActive",closingElementClasses:["js-mobile-menu-link"],lockPaddingElementClass:"js-lock-padding",showHideTime:300}).init(),(0,s.N)("js-header"),(0,i.A)("js-products-carousel"),(0,a.A)()}))},6303:(e,n,t)=>{"use strict";t.d(n,{BH:()=>s});var s=(window.matchMedia("(min-width: ".concat(1680,"px)")),window.matchMedia("(min-width: ".concat(1280,"px)")),window.matchMedia("(min-width: ".concat(768,"px)")));window.matchMedia("(min-width: ".concat(480,"px)"))},7639:(e,n,t)=>{"use strict";var s=t(3061),i=t(8579),a=t(4705);document.addEventListener("DOMContentLoaded",(function(){(0,s.A)("js-qualities-slider"),(0,i.A)("js-advantages-carousel"),(0,a.A)("js-company-history")}))},6857:(e,n,t)=>{"use strict";var s=t(8497);document.addEventListener("DOMContentLoaded",(function(){(0,s.A)("js-brand-list-carousel")}))},1229:(e,n,t)=>{"use strict";var s=t(537);document.addEventListener("DOMContentLoaded",(function(){(0,s.A)()}))},7581:(e,n,t)=>{"use strict";var s=t(193),i=t(953),a=t(1973),r=t(7519),o=t(1053),l=t(4865),c=t(9833),d=t(3611),u=t(6613);document.addEventListener("DOMContentLoaded",(function(){(0,u.A)(),(0,s.A)("js-split-slider"),(0,i.A)("js-reviews-slider-container"),(0,a.A)("js-promo-catalog-slider-container"),(0,r.A)("js-promo-catalog"),(0,o.A)("js-video"),(0,c.A)("js-video-slider"),(0,l.A)("js-cookie-modal"),(0,d.A)("js-recipes-promo")}))},3857:(e,n,t)=>{"use strict";var s=t(1053),i=t(2577),a=t(119);document.addEventListener("DOMContentLoaded",(function(){(0,s.A)("js-video"),(0,i.A)("js-gallery-slider"),(0,a.A)("js-post-card-carousel")}))},2635:(e,n,t)=>{"use strict";var s=t(6029),i=t(3611);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function r(){r=function(){return n};var e,n={},t=Object.prototype,s=t.hasOwnProperty,i=Object.defineProperty||function(e,n,t){e[n]=t.value},o="function"==typeof Symbol?Symbol:{},l=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function u(e,n,t){return Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[n]}try{u({},"")}catch(e){u=function(e,n,t){return e[n]=t}}function p(e,n,t,s){var a=n&&n.prototype instanceof b?n:b,r=Object.create(a.prototype),o=new P(s||[]);return i(r,"_invoke",{value:L(e,t,o)}),r}function h(e,n,t){try{return{type:"normal",arg:e.call(n,t)}}catch(e){return{type:"throw",arg:e}}}n.wrap=p;var m="suspendedStart",v="suspendedYield",g="executing",f="completed",_={};function b(){}function y(){}function w(){}var k={};u(k,l,(function(){return this}));var T=Object.getPrototypeOf,E=T&&T(T(D([])));E&&E!==t&&s.call(E,l)&&(k=E);var x=w.prototype=b.prototype=Object.create(k);function S(e){["next","throw","return"].forEach((function(n){u(e,n,(function(e){return this._invoke(n,e)}))}))}function A(e,n){function t(i,r,o,l){var c=h(e[i],e,r);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==a(u)&&s.call(u,"__await")?n.resolve(u.__await).then((function(e){t("next",e,o,l)}),(function(e){t("throw",e,o,l)})):n.resolve(u).then((function(e){d.value=e,o(d)}),(function(e){return t("throw",e,o,l)}))}l(c.arg)}var r;i(this,"_invoke",{value:function(e,s){function i(){return new n((function(n,i){t(e,s,n,i)}))}return r=r?r.then(i,i):i()}})}function L(n,t,s){var i=m;return function(a,r){if(i===g)throw Error("Generator is already running");if(i===f){if("throw"===a)throw r;return{value:e,done:!0}}for(s.method=a,s.arg=r;;){var o=s.delegate;if(o){var l=C(o,s);if(l){if(l===_)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===m)throw i=f,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=g;var c=h(n,t,s);if("normal"===c.type){if(i=s.done?f:v,c.arg===_)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=f,s.method="throw",s.arg=c.arg)}}}function C(n,t){var s=t.method,i=n.iterator[s];if(i===e)return t.delegate=null,"throw"===s&&n.iterator.return&&
2(t.method="return",t.arg=e,C(n,t),"throw"===t.method)||"return"!==s&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+s+"' method")),_;var a=h(i,n.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,_;var r=a.arg;return r?r.done?(t[n.resultName]=r.value,t.next=n.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,_):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function R(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function I(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function D(n){if(n||""===n){var t=n[l];if(t)return t.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var i=-1,r=function t(){for(;++i<n.length;)if(s.call(n,i))return t.value=n[i],t.done=!1,t;return t.value=e,t.done=!0,t};return r.next=r}}throw new TypeError(a(n)+" is not iterable")}return y.prototype=w,i(x,"constructor",{value:w,configurable:!0}),i(w,"constructor",{value:y,configurable:!0}),y.displayName=u(w,d,"GeneratorFunction"),n.isGeneratorFunction=function(e){var n="function"==typeof e&&e.constructor;return!!n&&(n===y||"GeneratorFunction"===(n.displayName||n.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,u(e,d,"GeneratorFunction")),e.prototype=Object.create(x),e},n.awrap=function(e){return{__await:e}},S(A.prototype),u(A.prototype,c,(function(){return this})),n.AsyncIterator=A,n.async=function(e,t,s,i,a){void 0===a&&(a=Promise);var r=new A(p(e,t,s,i),a);return n.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},S(x),u(x,d,"Generator"),u(x,l,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),n.keys=function(e){var n=Object(e),t=[];for(var s in n)t.push(s);return t.reverse(),function e(){for(;t.length;){var s=t.pop();if(s in n)return e.value=s,e.done=!1,e}return e.done=!0,e}},n.values=D,P.prototype={constructor:P,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!n)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var t=this;function i(s,i){return o.type="throw",o.arg=n,t.next=s,i&&(t.method="next",t.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a],o=r.completion;if("root"===r.tryLoc)return i("end");if(r.tryLoc<=this.prev){var l=s.call(r,"catchLoc"),c=s.call(r,"finallyLoc");if(l&&c){if(this.prev<r.catchLoc)return i(r.catchLoc,!0);if(this.prev<r.finallyLoc)return i(r.finallyLoc)}else if(l){if(this.prev<r.catchLoc)return i(r.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return i(r.finallyLoc)}}}},abrupt:function(e,n){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=n&&n<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=e,r.arg=n,a?(this.method="next",this.next=a.finallyLoc,_):this.complete(r)},complete:function(e,n){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&n&&(this.next=n),_},finish:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),I(t),_}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var t=this.tryEntries[n];if(t.tryLoc===e){var s=t.completion;if("throw"===s.type){var i=s.arg;I(t)}return i}}throw Error("illegal catch attempt")},delegateYield:function(n,t,s){return this.delegate={iterator:D(n),resultName:t,nextLoc:s},"next"===this.method&&(this.arg=e),_}},n}function o(e,n,t,s,i,a,r){try{var o=e[a](r),l=o.value}catch(e){return void t(e)}o.done?n(l):Promise.resolve(l).then(s,i)}function l(e){return function(){var n=this,t=arguments;return new Promise((function(s,i){var a=e.apply(n,t);function r(e){o(a,s,i,r,l,"next",e)}function l(e){o(a,s,i,r,l,"throw",e)}r(void 0)}))}}document.addEventListener("DOMContentLoaded",l(r().mark((function e(){return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,s.A)();case 2:(0,i.A)("js-recipes-promo");case 3:case"end":return e.stop()}}),e)}))))},6754:(e,n,t)=>{"use strict";var s=t(1053),i=t(3611);document.addEventListener("DOMContentLoaded",(function(){(0,s.A)("js-video"),(0,i.A)("js-recipes")}))},1245:(e,n,t)=>{"use strict";var s=t(4829);document.addEventListener("DOMContentLoaded",(function(){(0,s.A)("js-section-list-carousel")}))},6405:(e,n,t)=>{"use strict";t.d(n,{z:()=>i});var s=t(1372),i={openPopup:function(e,n,t){var i=document.querySelector('[data-popup="'.concat(e,'"]'));i&&((0,s.s2)(),i.classList.add("isPopupActive"),i.style.visibility="visible",t&&"function"==typeof t&&t())},closePopup:function(e,n,t){var i=document.querySelector('[data-popup="'.concat(e,'"]'));i&&(i.classList.remove("isPopupActive"),setTimeout((function(){i.style.visibility="hidden"}),n),(0,s.Tl)(),t&&"function"==typeof t&&t())}}},9965:(e,n,t)=>{"use strict";function s(e){var n=e.name,t=e.value,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=document.createElement("div");return i.setAttribute("class","product-property"),s&&i.setAttribute("class","product-property_size_xs"),i.innerHTML="<strong>".concat(t,"</strong><span>").concat(n,"</span>"),i}t.d(n,{A:()=>s})},4289:(e,n,t)=>{"use strict";function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function i(e,n){for(var t=0;t<n.length;t++){var s=n[t];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,a(s.key),s)}}function a(e){var n=function(e){if("object"!=s(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=s(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(n)?n:n+""}t.d(n,{A:()=>r});var r=function(){return e=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.highlightClass,i=void 0===s?"js-switch-highlight":s,a=t.activeClass,r=void 0===a?"isActive":a;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.activeClass=r,this.element=document.querySelector(n),this.element&&(this.buttons=this.element.querySelectorAll("button"),this.highlight=this.element.querySelector(".".concat(i)),this.activeBtn=this.element.querySelector("button.".concat(this.activeClass)),this.activeBtn||(this.activeBtn=this.buttons[0],this.activeBtn.classList.add(this.activeClass)),this._highlight(),this._resizeEvents(),this._addEvents())},n=[{key:"_highlight",value:function(){var e=this.activeBtn.offsetWidth,n=this.activeBtn.offsetLeft;this.highlight.style.width="".concat(e,"px"),this.highlight.style.transform="translateX(".concat(n,"px)")}},{key:"_dispatchEvent",value:function(){this.element.dispatchEvent(new CustomEvent("change",{detail:this.activeBtn.dataset.value}))}},{key:"_addEvents",value:function(){var e=this;[].forEach.call(this.buttons,(function(n){return n.addEventListener("click",(function(n){e.activeBtn!==n.target&&(e.activeBtn.classList.remove(e.activeClass),e.activeBtn=n.target,e.activeBtn.classList.add(e.activeClass),e._highlight(),e._dispatchEvent())}
2))}))}},{key:"_resizeEvents",value:function(){var e=this;window.addEventListener("resize",(function(){e._highlight()}))}}],n&&i(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}()},2569:(e,n,t)=>{"use strict";function s(){var e=document.querySelectorAll(".js-responsive-table");e.length&&e.forEach((function(e){var n=document.createElement("div");n.className="responsive-table",e.parentNode.insertBefore(n,e),n.appendChild(e)}))}t.d(n,{A:()=>s})},1053:(e,n,t)=>{"use strict";function s(e){var n=document.querySelector(".".concat(e));if(n){var t=n.querySelector(".js-player"),s=n.querySelector(".js-screen");t&&s&&(s.addEventListener("click",(function(){t.play(),s.classList.add("isHidden")})),t.addEventListener("pause",(function(){s.classList.remove("isHidden")})),t.addEventListener("play",(function(){s.classList.add("isHidden")})))}}t.d(n,{A:()=>s})},4128:(e,n,t)=>{"use strict";t.d(n,{_R:()=>p,FJ:()=>a,Vx:()=>o,dK:()=>c,WO:()=>d});var s=t(9624),i=t(5261);function a(e){let{swiper:n,extendParams:t,on:a,emit:r}=e;const o=(0,s.a)();let l;t({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),n.mousewheel={enabled:!1};let c,d=(0,i.d)();const u=[];function p(){n.enabled&&(n.mouseEntered=!0)}function h(){n.enabled&&(n.mouseEntered=!1)}function m(e){return!(n.params.mousewheel.thresholdDelta&&e.delta<n.params.mousewheel.thresholdDelta||n.params.mousewheel.thresholdTime&&(0,i.d)()-d<n.params.mousewheel.thresholdTime||!(e.delta>=6&&(0,i.d)()-d<60)&&(e.direction<0?n.isEnd&&!n.params.loop||n.animating||(n.slideNext(),r("scroll",e.raw)):n.isBeginning&&!n.params.loop||n.animating||(n.slidePrev(),r("scroll",e.raw)),d=(new o.Date).getTime(),1))}function v(e){let t=e,s=!0;if(!n.enabled)return;if(e.target.closest(`.${n.params.mousewheel.noMousewheelClass}`))return;const a=n.params.mousewheel;n.params.cssMode&&t.preventDefault();let o=n.el;"container"!==n.params.mousewheel.eventsTarget&&(o=document.querySelector(n.params.mousewheel.eventsTarget));const d=o&&o.contains(t.target);if(!n.mouseEntered&&!d&&!a.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);let p=0;const h=n.rtlTranslate?-1:1,v=function(e){let n=0,t=0,s=0,i=0;return"detail"in e&&(t=e.detail),"wheelDelta"in e&&(t=-e.wheelDelta/120),"wheelDeltaY"in e&&(t=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(n=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(n=t,t=0),s=10*n,i=10*t,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=i,i=0),(s||i)&&e.deltaMode&&(1===e.deltaMode?(s*=40,i*=40):(s*=800,i*=800)),s&&!n&&(n=s<1?-1:1),i&&!t&&(t=i<1?-1:1),{spinX:n,spinY:t,pixelX:s,pixelY:i}}(t);if(a.forceToAxis)if(n.isHorizontal()){if(!(Math.abs(v.pixelX)>Math.abs(v.pixelY)))return!0;p=-v.pixelX*h}else{if(!(Math.abs(v.pixelY)>Math.abs(v.pixelX)))return!0;p=-v.pixelY}else p=Math.abs(v.pixelX)>Math.abs(v.pixelY)?-v.pixelX*h:-v.pixelY;if(0===p)return!0;a.invert&&(p=-p);let g=n.getTranslate()+p*a.sensitivity;if(g>=n.minTranslate()&&(g=n.minTranslate()),g<=n.maxTranslate()&&(g=n.maxTranslate()),s=!!n.params.loop||!(g===n.minTranslate()||g===n.maxTranslate()),s&&n.params.nested&&t.stopPropagation(),n.params.freeMode&&n.params.freeMode.enabled){const e={time:(0,i.d)(),delta:Math.abs(p),direction:Math.sign(p)},s=c&&e.time<c.time+500&&e.delta<=c.delta&&e.direction===c.direction;if(!s){c=void 0;let o=n.getTranslate()+p*a.sensitivity;const d=n.isBeginning,h=n.isEnd;if(o>=n.minTranslate()&&(o=n.minTranslate()),o<=n.maxTranslate()&&(o=n.maxTranslate()),n.setTransition(0),n.setTranslate(o),n.updateProgress(),n.updateActiveIndex(),n.updateSlidesClasses(),(!d&&n.isBeginning||!h&&n.isEnd)&&n.updateSlidesClasses(),n.params.loop&&n.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),n.params.freeMode.sticky){clearTimeout(l),l=void 0,u.length>=15&&u.shift();const t=u.length?u[u.length-1]:void 0,s=u[0];if(u.push(e),t&&(e.delta>t.delta||e.direction!==t.direction))u.splice(0);else if(u.length>=15&&e.time-s.time<500&&s.delta-e.delta>=1&&e.delta<=6){const t=p>0?.8:.2;c=e,u.splice(0),l=(0,i.n)((()=>{!n.destroyed&&n.params&&n.slideToClosest(n.params.speed,!0,void 0,t)}),0)}l||(l=(0,i.n)((()=>{!n.destroyed&&n.params&&(c=e,u.splice(0),n.slideToClosest(n.params.speed,!0,void 0,.5))}),500))}if(s||r("scroll",t),n.params.autoplay&&n.params.autoplayDisableOnInteraction&&n.autoplay.stop(),a.releaseOnEdges&&(o===n.minTranslate()||o===n.maxTranslate()))return!0}}else{const t={time:(0,i.d)(),delta:Math.abs(p),direction:Math.sign(p),raw:e};u.length>=2&&u.shift();const s=u.length?u[u.length-1]:void 0;if(u.push(t),s?(t.direction!==s.direction||t.delta>s.delta||t.time>s.time+150)&&m(t):m(t),function(e){const t=n.params.mousewheel;if(e.direction<0){if(n.isEnd&&!n.params.loop&&t.releaseOnEdges)return!0}else if(n.isBeginning&&!n.params.loop&&t.releaseOnEdges)return!0;return!1}(t))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1}function g(e){let t=n.el;"container"!==n.params.mousewheel.eventsTarget&&(t=document.querySelector(n.params.mousewheel.eventsTarget)),t[e]("mouseenter",p),t[e]("mouseleave",h),t[e]("wheel",v)}
vendor: 4,306 bytes, line 2
2function f(){return n.params.cssMode?(n.wrapperEl.removeEventListener("wheel",v),!0):!n.mousewheel.enabled&&(g("addEventListener"),n.mousewheel.enabled=!0,!0)}function _(){return n.params.cssMode?(n.wrapperEl.addEventListener(event,v),!0):!!n.mousewheel.enabled&&(g("removeEventListener"),n.mousewheel.enabled=!1,!0)}a("init",(()=>{!n.params.mousewheel.enabled&&n.params.cssMode&&_(),n.params.mousewheel.enabled&&f()})),a("destroy",(()=>{n.params.cssMode&&f(),n.mousewheel.enabled&&_()})),Object.assign(n.mousewheel,{enable:f,disable:_})}function r(e,n,t,s){return e.params.createElements&&Object.keys(s).forEach((a=>{if(!t[a]&&!0===t.auto){let r=(0,i.e)(e.el,`.${s[a]}`)[0];r||(r=(0,i.c)("div",s[a]),r.className=s[a],e.el.append(r)),t[a]=r,n[a]=r}})),t}function o(e){let{swiper:n,extendParams:t,on:s,emit:a}=e;function o(e){let t;return e&&"string"==typeof e&&n.isElement&&(t=n.el.querySelector(e)||n.hostEl.querySelector(e),t)?t:(e&&("string"==typeof e&&(t=[...document.querySelectorAll(e)]),n.params.uniqueNavElements&&"string"==typeof e&&t&&t.length>1&&1===n.el.querySelectorAll(e).length?t=n.el.querySelector(e):t&&1===t.length&&(t=t[0])),e&&!t?e:t)}function l(e,t){const s=n.params.navigation;(e=(0,i.m)(e)).forEach((e=>{e&&(e.classList[t?"add":"remove"](...s.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=t),n.params.watchOverflow&&n.enabled&&e.classList[n.isLocked?"add":"remove"](s.lockClass))}))}function c(){const{nextEl:e,prevEl:t}=n.navigation;if(n.params.loop)return l(t,!1),void l(e,!1);l(t,n.isBeginning&&!n.params.rewind),l(e,n.isEnd&&!n.params.rewind)}function d(e){e.preventDefault(),(!n.isBeginning||n.params.loop||n.params.rewind)&&(n.slidePrev(),a("navigationPrev"))}function u(e){e.preventDefault(),(!n.isEnd||n.params.loop||n.params.rewind)&&(n.slideNext(),a("navigationNext"))}function p(){const e=n.params.navigation;if(n.params.navigation=r(n,n.originalParams.navigation,n.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let t=o(e.nextEl),s=o(e.prevEl);Object.assign(n.navigation,{nextEl:t,prevEl:s}),t=(0,i.m)(t),s=(0,i.m)(s);const a=(t,s)=>{t&&t.addEventListener("click","next"===s?u:d),!n.enabled&&t&&t.classList.add(...e.lockClass.split(" "))};t.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}function h(){let{nextEl:e,prevEl:t}=n.navigation;e=(0,i.m)(e),t=(0,i.m)(t);const s=(e,t)=>{e.removeEventListener("click","next"===t?u:d),e.classList.remove(...n.params.navigation.disabledClass.split(" "))};e.forEach((e=>s(e,"next"))),t.forEach((e=>s(e,"prev")))}t({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),n.navigation={nextEl:null,prevEl:null},s("init",(()=>{!1===n.params.navigation.enabled?m():(p(),c())})),s("toEdge fromEdge lock unlock",(()=>{c()})),s("destroy",(()=>{h()})),s("enable disable",(()=>{let{nextEl:e,prevEl:t}=n.navigation;e=(0,i.m)(e),t=(0,i.m)(t),n.enabled?c():[...e,...t].filter((e=>!!e)).forEach((e=>e.classList.add(n.params.navigation.lockClass)))})),s("click",((e,t)=>{let{nextEl:s,prevEl:r}=n.navigation;s=(0,i.m)(s),r=(0,i.m)(r);const o=t.target;let l=r.includes(o)||s.includes(o);if(n.isElement&&!l){const e=t.path||t.composedPath&&t.composedPath();e&&(l=e.find((e=>s.includes(e)||r.includes(e))))}if(n.params.navigation.hideOnClick&&!l){if(n.pagination&&n.params.pagination&&n.params.pagination.clickable&&(n.pagination.el===o||n.pagination.el.contains(o)))return;let e;s.length?e=s[0].classList.contains(n.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(n.params.navigation.hiddenClass)),a(!0===e?"navigationShow":"navigationHide"),[...s,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(n.params.navigation.hiddenClass)))}}));const m=()=>{n.el.classList.add(...n.params.navigation.navigationDisabledClass.split(" ")),h()};Object.assign(n.navigation,{enable:()=>{n.el.classList.remove(...n.params.navigation.navigationDisabledClass.split(" ")),p(),c()},disable:m,update:c,init:p,destroy:h})}function l(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function c(e){let{swiper:n,extendParams:t,on:s,emit:a}=e;const o="swiper-pagination";
2let c;t({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${o}-bullet`,bulletActiveClass:`${o}-bullet-active`,modifierClass:`${o}-`,currentClass:`${o}-current`,totalClass:`${o}-total`,hiddenClass:`${o}-hidden`,progressbarFillClass:`${o}-progressbar-fill`,progressbarOppositeClass:`${o}-progressbar-opposite`,clickableClass:`${o}-clickable`,lockClass:`${o}-lock`,horizontalClass:`${o}-horizontal`,verticalClass:`${o}-vertical`,paginationDisabledClass:`${o}-disabled`}}),n.pagination={el:null,bullets:[]};let d=0;function u(){return!n.params.pagination.el||!n.pagination.el||Array.isArray(n.pagination.el)&&0===n.pagination.el.length}function p(e,t){const{bulletActiveClass:s}=n.params.pagination;e&&(e=e[("prev"===t?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${s}-${t}`),(e=e[("prev"===t?"previous":"next")+"ElementSibling"])&&e.classList.add(`${s}-${t}-${t}`))}function h(e){const t=e.target.closest(l(n.params.pagination.bulletClass));if(!t)return;e.preventDefault();const s=(0,i.h)(t)*n.params.slidesPerGroup;if(n.params.loop){if(n.realIndex===s)return;const e=(a=n.realIndex,r=s,(r%=o=n.slides.length)==1+(a%=o)?"next":r===a-1?"previous":void 0);"next"===e?n.slideNext():"previous"===e?n.slidePrev():n.slideToLoop(s)}else n.slideTo(s);var a,r,o}function m(){const e=n.rtl,t=n.params.pagination;if(u())return;let s,r,o=n.pagination.el;o=(0,i.m)(o);const h=n.virtual&&n.params.virtual.enabled?n.virtual.slides.length:n.slides.length,m=n.params.loop?Math.ceil(h/n.params.slidesPerGroup):n.snapGrid.length;if(n.params.loop?(r=n.previousRealIndex||0,s=n.params.slidesPerGroup>1?Math.floor(n.realIndex/n.params.slidesPerGroup):n.realIndex):void 0!==n.snapIndex?(s=n.snapIndex,r=n.previousSnapIndex):(r=n.previousIndex||0,s=n.activeIndex||0),"bullets"===t.type&&n.pagination.bullets&&n.pagination.bullets.length>0){const a=n.pagination.bullets;let l,u,h;if(t.dynamicBullets&&(c=(0,i.f)(a[0],n.isHorizontal()?"width":"height",!0),o.forEach((e=>{e.style[n.isHorizontal()?"width":"height"]=c*(t.dynamicMainBullets+4)+"px"})),t.dynamicMainBullets>1&&void 0!==r&&(d+=s-(r||0),d>t.dynamicMainBullets-1?d=t.dynamicMainBullets-1:d<0&&(d=0)),l=Math.max(s-d,0),u=l+(Math.min(a.length,t.dynamicMainBullets)-1),h=(u+l)/2),a.forEach((e=>{const n=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${t.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...n)})),o.length>1)a.forEach((e=>{const a=(0,i.h)(e);a===s?e.classList.add(...t.bulletActiveClass.split(" ")):n.isElement&&e.setAttribute("part","bullet"),t.dynamicBullets&&(a>=l&&a<=u&&e.classList.add(...`${t.bulletActiveClass}-main`.split(" ")),a===l&&p(e,"prev"),a===u&&p(e,"next"))}));else{const e=a[s];if(e&&e.classList.add(...t.bulletActiveClass.split(" ")),n.isElement&&a.forEach(((e,n)=>{e.setAttribute("part",n===s?"bullet-active":"bullet")})),t.dynamicBullets){const e=a[l],n=a[u];for(let e=l;e<=u;e+=1)a[e]&&a[e].classList.add(...`${t.bulletActiveClass}-main`.split(" "));p(e,"prev"),p(n,"next")}}if(t.dynamicBullets){const s=Math.min(a.length,t.dynamicMainBullets+4),i=(c*s-c)/2-h*c,r=e?"right":"left";a.forEach((e=>{e.style[n.isHorizontal()?r:"top"]=`${i}px`}))}}o.forEach(((e,i)=>{if("fraction"===t.type&&(e.querySelectorAll(l(t.currentClass)).forEach((e=>{e.textContent=t.formatFractionCurrent(s+1)})),e.querySelectorAll(l(t.totalClass)).forEach((e=>{e.textContent=t.formatFractionTotal(m)}))),"progressbar"===t.type){let i;i=t.progressbarOpposite?n.isHorizontal()?"vertical":"horizontal":n.isHorizontal()?"horizontal":"vertical";const a=(s+1)/m;let r=1,o=1;"horizontal"===i?r=a:o=a,e.querySelectorAll(l(t.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${r}) scaleY(${o})`,e.style.transitionDuration=`${n.params.speed}ms`}))}"custom"===t.type&&t.renderCustom?(e.innerHTML=t.renderCustom(n,s+1,m),0===i&&a("paginationRender",e)):(0===i&&a("paginationRender",e),a("paginationUpdate",e)),n.params.watchOverflow&&n.enabled&&e.classList[n.isLocked?"add":"remove"](t.lockClass)}))}function v(){const e=n.params.pagination;if(u())return;const t=n.virtual&&n.params.virtual.enabled?n.virtual.slides.length:n.grid&&n.params.grid.rows>1?n.slides.length/Math.ceil(n.params.grid.rows):n.slides.length;let s=n.pagination.el;s=(0,i.m)(s);let r="";
vendor: 5,008 bytes, line 2
2if("bullets"===e.type){let s=n.params.loop?Math.ceil(t/n.params.slidesPerGroup):n.snapGrid.length;n.params.freeMode&&n.params.freeMode.enabled&&s>t&&(s=t);for(let t=0;t<s;t+=1)e.renderBullet?r+=e.renderBullet.call(n,t,e.bulletClass):r+=`<${e.bulletElement} ${n.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(n,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(n,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),n.pagination.bullets=[],s.forEach((t=>{"custom"!==e.type&&(t.innerHTML=r||""),"bullets"===e.type&&n.pagination.bullets.push(...t.querySelectorAll(l(e.bulletClass)))})),"custom"!==e.type&&a("paginationRender",s[0])}function g(){n.params.pagination=r(n,n.originalParams.pagination,n.params.pagination,{el:"swiper-pagination"});const e=n.params.pagination;if(!e.el)return;let t;"string"==typeof e.el&&n.isElement&&(t=n.el.querySelector(e.el)),t||"string"!=typeof e.el||(t=[...document.querySelectorAll(e.el)]),t||(t=e.el),t&&0!==t.length&&(n.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(t)&&t.length>1&&(t=[...n.el.querySelectorAll(e.el)],t.length>1&&(t=t.filter((e=>(0,i.a)(e,".swiper")[0]===n.el))[0])),Array.isArray(t)&&1===t.length&&(t=t[0]),Object.assign(n.pagination,{el:t}),t=(0,i.m)(t),t.forEach((t=>{"bullets"===e.type&&e.clickable&&t.classList.add(...(e.clickableClass||"").split(" ")),t.classList.add(e.modifierClass+e.type),t.classList.add(n.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(t.classList.add(`${e.modifierClass}${e.type}-dynamic`),d=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&t.classList.add(e.progressbarOppositeClass),e.clickable&&t.addEventListener("click",h),n.enabled||t.classList.add(e.lockClass)})))}function f(){const e=n.params.pagination;if(u())return;let t=n.pagination.el;t&&(t=(0,i.m)(t),t.forEach((t=>{t.classList.remove(e.hiddenClass),t.classList.remove(e.modifierClass+e.type),t.classList.remove(n.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(t.classList.remove(...(e.clickableClass||"").split(" ")),t.removeEventListener("click",h))}))),n.pagination.bullets&&n.pagination.bullets.forEach((n=>n.classList.remove(...e.bulletActiveClass.split(" "))))}s("changeDirection",(()=>{if(!n.pagination||!n.pagination.el)return;const e=n.params.pagination;let{el:t}=n.pagination;t=(0,i.m)(t),t.forEach((t=>{t.classList.remove(e.horizontalClass,e.verticalClass),t.classList.add(n.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),s("init",(()=>{!1===n.params.pagination.enabled?_():(g(),v(),m())})),s("activeIndexChange",(()=>{void 0===n.snapIndex&&m()})),s("snapIndexChange",(()=>{m()})),s("snapGridLengthChange",(()=>{v(),m()})),s("destroy",(()=>{f()})),s("enable disable",(()=>{let{el:e}=n.pagination;e&&(e=(0,i.m)(e),e.forEach((e=>e.classList[n.enabled?"remove":"add"](n.params.pagination.lockClass))))})),s("lock unlock",(()=>{m()})),s("click",((e,t)=>{const s=t.target,r=(0,i.m)(n.pagination.el);if(n.params.pagination.el&&n.params.pagination.hideOnClick&&r&&r.length>0&&!s.classList.contains(n.params.pagination.bulletClass)){if(n.navigation&&(n.navigation.nextEl&&s===n.navigation.nextEl||n.navigation.prevEl&&s===n.navigation.prevEl))return;const e=r[0].classList.contains(n.params.pagination.hiddenClass);a(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(n.params.pagination.hiddenClass)))}}));const _=()=>{n.el.classList.add(n.params.pagination.paginationDisabledClass);let{el:e}=n.pagination;e&&(e=(0,i.m)(e),e.forEach((e=>e.classList.add(n.params.pagination.paginationDisabledClass)))),f()};Object.assign(n.pagination,{enable:()=>{n.el.classList.remove(n.params.pagination.paginationDisabledClass);let{el:e}=n.pagination;e&&(e=(0,i.m)(e),e.forEach((e=>e.classList.remove(n.params.pagination.paginationDisabledClass)))),g(),v(),m()},disable:_,render:v,update:m,init:g,destroy:f})}function d(e){let{swiper:n,extendParams:t,on:a}=e;t({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,o=!1;function l(){const e=n.thumbs.swiper;if(!e||e.destroyed)return;const t=e.clickedIndex,s=e.clickedSlide;if(s&&s.classList.contains(n.params.thumbs.slideThumbActiveClass))return;if(null==t)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):t,n.params.loop?n.slideToLoop(i):n.slideTo(i)}function c(){const{thumbs:e}=n.params;if(r)return!1;r=!0;const t=n.constructor;if(e.swiper instanceof t)n.thumbs.swiper=e.swiper,Object.assign(n.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(n.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}
2),n.thumbs.swiper.update();else if((0,i.l)(e.swiper)){const s=Object.assign({},e.swiper);Object.assign(s,{watchSlidesProgress:!0,slideToClickedSlide:!1}),n.thumbs.swiper=new t(s),o=!0}return n.thumbs.swiper.el.classList.add(n.params.thumbs.thumbsContainerClass),n.thumbs.swiper.on("tap",l),!0}function d(e){const t=n.thumbs.swiper;if(!t||t.destroyed)return;const s="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView;let a=1;const r=n.params.thumbs.slideThumbActiveClass;if(n.params.slidesPerView>1&&!n.params.centeredSlides&&(a=n.params.slidesPerView),n.params.thumbs.multipleActiveThumbs||(a=1),a=Math.floor(a),t.slides.forEach((e=>e.classList.remove(r))),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(let e=0;e<a;e+=1)(0,i.e)(t.slidesEl,`[data-swiper-slide-index="${n.realIndex+e}"]`).forEach((e=>{e.classList.add(r)}));else for(let e=0;e<a;e+=1)t.slides[n.realIndex+e]&&t.slides[n.realIndex+e].classList.add(r);const o=n.params.thumbs.autoScrollOffset,l=o&&!t.params.loop;if(n.realIndex!==t.realIndex||l){const i=t.activeIndex;let a,r;if(t.params.loop){const e=t.slides.filter((e=>e.getAttribute("data-swiper-slide-index")===`${n.realIndex}`))[0];a=t.slides.indexOf(e),r=n.activeIndex>n.previousIndex?"next":"prev"}else a=n.realIndex,r=a>n.previousIndex?"next":"prev";l&&(a+="next"===r?o:-1*o),t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(a)<0&&(t.params.centeredSlides?a=a>i?a-Math.floor(s/2)+1:a+Math.floor(s/2)-1:a>i&&t.params.slidesPerGroup,t.slideTo(a,e?0:void 0))}}n.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=n.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const t=(0,s.g)(),i=()=>{const s="string"==typeof e.swiper?t.querySelector(e.swiper):e.swiper;if(s&&s.swiper)e.swiper=s.swiper,c(),d(!0);else if(s){const t=`${n.params.eventsPrefix}init`,i=a=>{e.swiper=a.detail[0],s.removeEventListener(t,i),c(),d(!0),e.swiper.update(),n.update()};s.addEventListener(t,i)}return s},a=()=>{n.destroyed||i()||requestAnimationFrame(a)};requestAnimationFrame(a)}else c(),d(!0)})),a("slideChange update resize observerUpdate",(()=>{d()})),a("setTransition",((e,t)=>{const s=n.thumbs.swiper;s&&!s.destroyed&&s.setTransition(t)})),a("beforeDestroy",(()=>{const e=n.thumbs.swiper;e&&!e.destroyed&&o&&e.destroy()})),Object.assign(n.thumbs,{init:c,update:d})}function u(e,n){const t=(0,i.g)(n);return t!==n&&(t.style.backfaceVisibility="hidden",t.style["-webkit-backface-visibility"]="hidden"),t}function p(e){let{swiper:n,extendParams:t,on:s}=e;t({fadeEffect:{crossFade:!1}}),function(e){const{effect:n,swiper:t,on:s,setTranslate:i,setTransition:a,overwriteParams:r,perspective:o,recreateShadows:l,getEffectParams:c}=e;let d;s("beforeInit",(()=>{if(t.params.effect!==n)return;t.classNames.push(`${t.params.containerModifierClass}${n}`),o&&o()&&t.classNames.push(`${t.params.containerModifierClass}3d`);const e=r?r():{};Object.assign(t.params,e),Object.assign(t.originalParams,e)})),s("setTranslate",(()=>{t.params.effect===n&&i()})),s("setTransition",((e,s)=>{t.params.effect===n&&a(s)})),s("transitionEnd",(()=>{if(t.params.effect===n&&l){if(!c||!c().slideShadows)return;t.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),l()}})),s("virtualUpdate",(()=>{t.params.effect===n&&(t.slides.length||(d=!0),requestAnimationFrame((()=>{d&&t.slides&&t.slides.length&&(i(),d=!1)})))}))}({effect:"fade",swiper:n,on:s,setTranslate:()=>{const{slides:e}=n;n.params.fadeEffect;for(let t=0;t<e.length;t+=1){const e=n.slides[t];let s=-e.swiperSlideOffset;n.params.virtualTranslate||(s-=n.translate);let i=0;n.isHorizontal()||(i=s,s=0);const a=n.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),r=u(0,e);r.style.opacity=a,r.style.transform=`translate3d(${s}px, ${i}px, 0px)`}},setTransition:e=>{const t=n.slides.map((e=>(0,i.g)(e)));t.forEach((n=>{n.style.transitionDuration=`${e}ms`})),function(e){let{swiper:n,duration:t,transformElements:s,allSlides:a}=e;const{activeIndex:r}=n;if(n.params.virtualTranslate&&0!==t){let e,t=!1;e=a?s:s.filter((e=>{const t=e.classList.contains("swiper-slide-transform")?(e=>e.parentElement?e.parentElement:n.slides.filter((n=>n.shadowRoot&&n.shadowRoot===e.parentNode))[0])(e):e;return n.getSlideIndex(t)===r})),e.forEach((e=>{(0,i.k)(e,(()=>{if(t)return;if(!n||n.destroyed)return;t=!0,n.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});
2n.wrapperEl.dispatchEvent(e)}))}))}}({swiper:n,duration:e,transformElements:t,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!n.params.cssMode})})}},9624:(e,n,t)=>{"use strict";function s(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function i(e,n){void 0===e&&(e={}),void 0===n&&(n={}),Object.keys(n).forEach((t=>{void 0===e[t]?e[t]=n[t]:s(n[t])&&s(e[t])&&Object.keys(n[t]).length>0&&i(e[t],n[t])}))}t.d(n,{a:()=>l,g:()=>r});const a={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function r(){const e="undefined"!=typeof document?document:{};return i(e,a),e}const o={document:a,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function l(){const e="undefined"!=typeof window?window:{};return i(e,o),e}},5261:(e,n,t)=>{"use strict";t.d(n,{a:()=>w,c:()=>g,d:()=>r,e:()=>h,f:()=>T,g:()=>p,h:()=>y,j:()=>o,k:()=>k,l:()=>l,m:()=>E,n:()=>a,p:()=>b,q:()=>_,r:()=>f,s:()=>d,t:()=>u,u:()=>v,v:()=>m,w:()=>c,x:()=>i});var s=t(9624);function i(e){const n=e;Object.keys(n).forEach((e=>{try{n[e]=null}catch(e){}try{delete n[e]}catch(e){}}))}function a(e,n){return void 0===n&&(n=0),setTimeout(e,n)}function r(){return Date.now()}function o(e,n){void 0===n&&(n="x");const t=(0,s.a)();let i,a,r;const o=function(e){const n=(0,s.a)();let t;return n.getComputedStyle&&(t=n.getComputedStyle(e,null)),!t&&e.currentStyle&&(t=e.currentStyle),t||(t=e.style),t}(e);return t.WebKitCSSMatrix?(a=o.transform||o.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map((e=>e.replace(",","."))).join(", ")),r=new t.WebKitCSSMatrix("none"===a?"":a)):(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=r.toString().split(",")),"x"===n&&(a=t.WebKitCSSMatrix?r.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===n&&(a=t.WebKitCSSMatrix?r.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}function l(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),n=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const i=s<0||arguments.length<=s?void 0:arguments[s];if(null!=i&&(t=i,!("undefined"!=typeof window&&void 0!==window.HTMLElement?t instanceof HTMLElement:t&&(1===t.nodeType||11===t.nodeType)))){const t=Object.keys(Object(i)).filter((e=>n.indexOf(e)<0));for(let n=0,s=t.length;n<s;n+=1){const s=t[n],a=Object.getOwnPropertyDescriptor(i,s);void 0!==a&&a.enumerable&&(l(e[s])&&l(i[s])?i[s].__swiper__?e[s]=i[s]:c(e[s],i[s]):!l(e[s])&&l(i[s])?(e[s]={},i[s].__swiper__?e[s]=i[s]:c(e[s],i[s])):e[s]=i[s])}}}var t;return e}function d(e,n,t){e.style.setProperty(n,t)}function u(e){let{swiper:n,targetPosition:t,side:i}=e;const a=(0,s.a)(),r=-n.translate;let o,l=null;const c=n.params.speed;n.wrapperEl.style.scrollSnapType="none",a.cancelAnimationFrame(n.cssModeFrameID);const d=t>r?"next":"prev",u=(e,n)=>"next"===d&&e>=n||"prev"===d&&e<=n,p=()=>{o=(new Date).getTime(),null===l&&(l=o);const e=Math.max(Math.min((o-l)/c,1),0),s=.5-Math.cos(e*Math.PI)/2;let d=r+s*(t-r);if(u(d,t)&&(d=t),n.wrapperEl.scrollTo({[i]:d}),u(d,t))return n.wrapperEl.style.overflow="hidden",n.wrapperEl.style.scrollSnapType="",setTimeout((()=>{n.wrapperEl.style.overflow="",n.wrapperEl.scrollTo({[i]:d})})),void a.cancelAnimationFrame(n.cssModeFrameID);n.cssModeFrameID=a.requestAnimationFrame(p)};p()}function p(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function h(e,n){void 0===n&&(n="");const t=[...e.children];return e instanceof HTMLSlotElement&&t.push(...e.assignedElements()),n?t.filter((e=>e.matches(n))):t}function m(e,n){const t=n.contains(e);return!t&&n instanceof HTMLSlotElement?[...n.assignedElements()].includes(e):t}function v(e){try{return void console.warn(e)}catch(e){}}function g(e,n){void 0===n&&(n=[]);const t=document.createElement(e);return t.classList.add(...Array.isArray(n)?n:function(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}(n)),t}function f(e,n){const t=[];for(;e.previousElementSibling;){const s=e.previousElementSibling;n?s.matches(n)&&t.push(s):t.push(s),e=s}return t}function _(e,n){const t=[];for(;e.nextElementSibling;){const s=e.nextElementSibling;n?s.matches(n)&&t.push(s):t.push(s),e=s}return t}function b(e,n){return(0,s.a)().getComputedStyle(e,null).getPropertyValue(n)}function y(e){let n,t=e;if(t){for(n=0;null!==(t=t.previousSibling);)1===t.nodeType&&(n+=1);return n}}function w(e,n){const t=[];let s=e.parentElement;for(;s;)n?s.matches(n)&&t.push(s):t.push(s),s=s.parentElement;return t}function k(e,n){n&&e.addEventListener("transitionend",(function t(s){s.target===e&&(n.call(e,s),e.removeEventListener("transitionend",t))}))}function T(e,n,t){const i=(0,s.a)();return t?e["width"===n?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===n?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===n?"margin-left":"margin-bottom")):e.offsetWidth}function E(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}},3703:(e,n,t)=>{"use strict";t.d(n,{A:()=>M});var s=t(9624),i=t(5261);let a,r,o;function l(){return a||(a=function(){const e=(0,s.a)(),n=(0,s.g)();return{smoothScroll:n.documentElement&&n.documentElement.style&&"scrollBehavior"in n.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&n instanceof e.DocumentTouch)}}()),a}function c(e){return void 0===e&&(e={}),r||(r=function(e){let{userAgent:n}=void 0===e?{}:e;const t=l(),i=(0,s.a)(),a=i.navigator.platform,r=n||i.navigator.userAgent,o={ios:!1,android:!1},c=i.screen.width,d=i.screen.height,u=r.match(/(Android);?[\s\/]+([\d.]+)?/);let p=r.match(/(iPad).*OS\s([\d_]+)/);const h=r.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&r.match(/(iPhone\sOS|iOS)\s([\d_]+)/),v="Win32"===a;let g="MacIntel"===a;return!p&&g&&t.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${c}x${d}`)>=0&&(p=r.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),g=!1),u&&!v&&(o.os="android",o.android=!0),(p||m||h)&&(o.os="ios",o.ios=!0),o}(e)),r}var d={on(e,n,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof n)return s;const i=t?"unshift":"push";return e.split(" ").forEach((e=>{s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][i](n)})),s},once(e,n,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof n)return s;function i(){s.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];n.apply(s,a)}return i.__emitterProxy=n,s.on(e,i,t)},onAny(e,n){const t=this;if(!t.eventsListeners||t.destroyed)return t;if("function"!=typeof e)return t;const s=n?"unshift":"push";return t.eventsAnyListeners.indexOf(e)<0&&t.eventsAnyListeners[s](e),t},offAny(e){const n=this;if(!n.eventsListeners||n.destroyed)return n;if(!n.eventsAnyListeners)return n;const t=n.eventsAnyListeners.indexOf(e);return t>=0&&n.eventsAnyListeners.splice(t,1),n},off(e,n){const t=this;return!t.eventsListeners||t.destroyed?t:t.eventsListeners?(e.split(" ").forEach((e=>{void 0===n?t.eventsListeners[e]=[]:t.eventsListeners[e]&&t.eventsListeners[e].forEach(((s,i)=>{(s===n||s.__emitterProxy&&s.__emitterProxy===n)&&t.eventsListeners[e].splice(i,1)}))})),t):t},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let n,t,s;for(var i=arguments.length,a=new Array(i),r=0;r<i;r++)a[r]=arguments[r];return"string"==typeof a[0]||Array.isArray(a[0])?(n=a[0],t=a.slice(1,a.length),s=e):(n=a[0].events,t=a[0].data,s=a[0].context||e),t.unshift(s),(Array.isArray(n)?n:n.split(" ")).forEac
2h((n=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(s,[n,...t])})),e.eventsListeners&&e.eventsListeners[n]&&e.eventsListeners[n].forEach((e=>{e.apply(s,t)}))})),e}};const u=(e,n,t)=>{n&&!e.classList.contains(t)?e.classList.add(t):!n&&e.classList.contains(t)&&e.classList.remove(t)},p=(e,n,t)=>{n&&!e.classList.contains(t)?e.classList.add(t):!n&&e.classList.contains(t)&&e.classList.remove(t)},h=(e,n)=>{if(!e||e.destroyed||!e.params)return;const t=n.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(t){let n=t.querySelector(`.${e.params.lazyPreloaderClass}`);!n&&e.isElement&&(t.shadowRoot?n=t.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{t.shadowRoot&&(n=t.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),n&&n.remove())}))),n&&n.remove()}},m=(e,n)=>{if(!e.slides[n])return;const t=e.slides[n].querySelector('[loading="lazy"]');t&&t.removeAttribute("loading")},v=e=>{if(!e||e.destroyed||!e.params)return;let n=e.params.lazyPreloadPrevNext;const t=e.slides.length;if(!t||!n||n<0)return;n=Math.min(n,t);const s="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const t=i,a=[t-n];return a.push(...Array.from({length:n}).map(((e,n)=>t+s+n))),void e.slides.forEach(((n,t)=>{a.includes(n.column)&&m(e,t)}))}const a=i+s-1;if(e.params.rewind||e.params.loop)for(let s=i-n;s<=a+n;s+=1){const n=(s%t+t)%t;(n<i||n>a)&&m(e,n)}else for(let s=Math.max(i-n,0);s<=Math.min(a+n,t-1);s+=1)s!==i&&(s>a||s<i)&&m(e,s)};var g={updateSize:function(){const e=this;let n,t;const s=e.el;n=void 0!==e.params.width&&null!==e.params.width?e.params.width:s.clientWidth,t=void 0!==e.params.height&&null!==e.params.height?e.params.height:s.clientHeight,0===n&&e.isHorizontal()||0===t&&e.isVertical()||(n=n-parseInt((0,i.p)(s,"padding-left")||0,10)-parseInt((0,i.p)(s,"padding-right")||0,10),t=t-parseInt((0,i.p)(s,"padding-top")||0,10)-parseInt((0,i.p)(s,"padding-bottom")||0,10),Number.isNaN(n)&&(n=0),Number.isNaN(t)&&(t=0),Object.assign(e,{width:n,height:t,size:e.isHorizontal()?n:t}))},updateSlides:function(){const e=this;function n(n,t){return parseFloat(n.getPropertyValue(e.getDirectionLabel(t))||0)}const t=e.params,{wrapperEl:s,slidesEl:a,size:r,rtlTranslate:o,wrongRTL:l}=e,c=e.virtual&&t.virtual.enabled,d=c?e.virtual.slides.length:e.slides.length,u=(0,i.e)(a,`.${e.params.slideClass}, swiper-slide`),p=c?e.virtual.slides.length:u.length;let h=[];const m=[],v=[];let g=t.slidesOffsetBefore;"function"==typeof g&&(g=t.slidesOffsetBefore.call(e));let f=t.slidesOffsetAfter;"function"==typeof f&&(f=t.slidesOffsetAfter.call(e));const _=e.snapGrid.length,b=e.slidesGrid.length;let y=t.spaceBetween,w=-g,k=0,T=0;if(void 0===r)return;"string"==typeof y&&y.indexOf("%")>=0?y=parseFloat(y.replace("%",""))/100*r:"string"==typeof y&&(y=parseFloat(y)),e.virtualSize=-y,u.forEach((e=>{o?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),t.centeredSlides&&t.cssMode&&((0,i.s)(s,"--swiper-centered-offset-before",""),(0,i.s)(s,"--swiper-centered-offset-after",""));const E=t.grid&&t.grid.rows>1&&e.grid;let x;E?e.grid.initSlides(u):e.grid&&e.grid.unsetSlides();const S="auto"===t.slidesPerView&&t.breakpoints&&Object.keys(t.breakpoints).filter((e=>void 0!==t.breakpoints[e].slidesPerView)).length>0;for(let s=0;s<p;s+=1){let a;if(x=0,u[s]&&(a=u[s]),E&&e.grid.updateSlide(s,a,u),!u[s]||"none"!==(0,i.p)(a,"display")){if("auto"===t.slidesPerView){S&&(u[s].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(a),o=a.style.transform,l=a.style.webkitTransform;if(o&&(a.style.transform="none"),l&&(a.style.webkitTransform="none"),t.roundLengths)x=e.isHorizontal()?(0,i.f)(a,"width",!0):(0,i.f)(a,"height",!0);else{const e=n(r,"width"),t=n(r,"padding-left"),s=n(r,"padding-right"),i=n(r,"margin-left"),o=n(r,"margin-right"),l=r.getPropertyValue("box-sizing");if(l&&"border-box"===l)x=e+i+o;else{const{clientWidth:n,offsetWidth:r}=a;x=e+t+s+i+o+(r-n)}}o&&(a.style.transform=o),l&&(a.style.webkitTransform=l),t.roundLengths&&(x=Math.floor(x))}else x=(r-(t.slidesPerView-1)*y)/t.slidesPerView,t.roundLengths&&(x=Math.floor(x)),u[s]&&(u[s].style[e.getDirectionLabel("width")]=`${x}
vendor: 6,142 bytes, line 2
2px`);u[s]&&(u[s].swiperSlideSize=x),v.push(x),t.centeredSlides?(w=w+x/2+k/2+y,0===k&&0!==s&&(w=w-r/2-y),0===s&&(w=w-r/2-y),Math.abs(w)<.001&&(w=0),t.roundLengths&&(w=Math.floor(w)),T%t.slidesPerGroup==0&&h.push(w),m.push(w)):(t.roundLengths&&(w=Math.floor(w)),(T-Math.min(e.params.slidesPerGroupSkip,T))%e.params.slidesPerGroup==0&&h.push(w),m.push(w),w=w+x+y),e.virtualSize+=x+y,k=x,T+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+f,o&&l&&("slide"===t.effect||"coverflow"===t.effect)&&(s.style.width=`${e.virtualSize+y}px`),t.setWrapperSize&&(s.style[e.getDirectionLabel("width")]=`${e.virtualSize+y}px`),E&&e.grid.updateWrapperSize(x,h),!t.centeredSlides){const n=[];for(let s=0;s<h.length;s+=1){let i=h[s];t.roundLengths&&(i=Math.floor(i)),h[s]<=e.virtualSize-r&&n.push(i)}h=n,Math.floor(e.virtualSize-r)-Math.floor(h[h.length-1])>1&&h.push(e.virtualSize-r)}if(c&&t.loop){const n=v[0]+y;if(t.slidesPerGroup>1){const s=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/t.slidesPerGroup),i=n*t.slidesPerGroup;for(let e=0;e<s;e+=1)h.push(h[h.length-1]+i)}for(let s=0;s<e.virtual.slidesBefore+e.virtual.slidesAfter;s+=1)1===t.slidesPerGroup&&h.push(h[h.length-1]+n),m.push(m[m.length-1]+n),e.virtualSize+=n}if(0===h.length&&(h=[0]),0!==y){const n=e.isHorizontal()&&o?"marginLeft":e.getDirectionLabel("marginRight");u.filter(((e,n)=>!(t.cssMode&&!t.loop)||n!==u.length-1)).forEach((e=>{e.style[n]=`${y}px`}))}if(t.centeredSlides&&t.centeredSlidesBounds){let e=0;v.forEach((n=>{e+=n+(y||0)})),e-=y;const n=e>r?e-r:0;h=h.map((e=>e<=0?-g:e>n?n+f:e))}if(t.centerInsufficientSlides){let e=0;v.forEach((n=>{e+=n+(y||0)})),e-=y;const n=(t.slidesOffsetBefore||0)+(t.slidesOffsetAfter||0);if(e+n<r){const t=(r-e-n)/2;h.forEach(((e,n)=>{h[n]=e-t})),m.forEach(((e,n)=>{m[n]=e+t}))}}if(Object.assign(e,{slides:u,snapGrid:h,slidesGrid:m,slidesSizesGrid:v}),t.centeredSlides&&t.cssMode&&!t.centeredSlidesBounds){(0,i.s)(s,"--swiper-centered-offset-before",-h[0]+"px"),(0,i.s)(s,"--swiper-centered-offset-after",e.size/2-v[v.length-1]/2+"px");const n=-e.snapGrid[0],t=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+n)),e.slidesGrid=e.slidesGrid.map((e=>e+t))}if(p!==d&&e.emit("slidesLengthChange"),h.length!==_&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),m.length!==b&&e.emit("slidesGridLengthChange"),t.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(c||t.cssMode||"slide"!==t.effect&&"fade"!==t.effect)){const n=`${t.containerModifierClass}backface-hidden`,s=e.el.classList.contains(n);p<=t.maxBackfaceHiddenSlides?s||e.el.classList.add(n):s&&e.el.classList.remove(n)}},updateAutoHeight:function(e){const n=this,t=[],s=n.virtual&&n.params.virtual.enabled;let i,a=0;"number"==typeof e?n.setTransition(e):!0===e&&n.setTransition(n.params.speed);const r=e=>s?n.slides[n.getSlideIndexByData(e)]:n.slides[e];if("auto"!==n.params.slidesPerView&&n.params.slidesPerView>1)if(n.params.centeredSlides)(n.visibleSlides||[]).forEach((e=>{t.push(e)}));else for(i=0;i<Math.ceil(n.params.slidesPerView);i+=1){const e=n.activeIndex+i;if(e>n.slides.length&&!s)break;t.push(r(e))}else t.push(r(n.activeIndex));for(i=0;i<t.length;i+=1)if(void 0!==t[i]){const e=t[i].offsetHeight;a=e>a?e:a}(a||0===a)&&(n.wrapperEl.style.height=`${a}px`)},updateSlidesOffset:function(){const e=this,n=e.slides,t=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let s=0;s<n.length;s+=1)n[s].swiperSlideOffset=(e.isHorizontal()?n[s].offsetLeft:n[s].offsetTop)-t-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const n=this,t=n.params,{slides:s,rtlTranslate:i,snapGrid:a}=n;if(0===s.length)return;void 0===s[0].swiperSlideOffset&&n.updateSlidesOffset();let r=-e;i&&(r=e),n.visibleSlidesIndexes=[],n.visibleSlides=[];let o=t.spaceBetween;"string"==typeof o&&o.indexOf("%")>=0?o=parseFloat(o.replace("%",""))/100*n.size:"string"==typeof o&&(o=parseFloat(o));for(let e=0;e<s.length;e+=1){const l=s[e];let c=l.swiperSlideOffset;t.cssMode&&t.centeredSlides&&(c-=s[0].swiperSlideOffset);const d=(r+(t.centeredSlides?n.minTranslate():0)-c)/(l.swiperSlideSize+o),p=(r-a[0]+(t.centeredSlides?n.minTranslate():0)-c)/(l.swiperSlideSize+o),h=-(r-c),m=h+n.slidesSizesGrid[e],v=h>=0&&h<=n.size-n.slidesSizesGrid[e],g=h>=0&&h<n.size-1||m>1&&m<=n.size||h<=0&&m>=n.size;g&&(n.visibleSlides.push(l),n.visibleSlidesIndexes.push(e)),u(l,g,t.slideVisibleClass),u(l,v,t.slideFullyVisibleClass),l.progress=i?-d:d,l.originalProgress=i?-p:p}},updateProgress:function(e){const n=this;if(void 0===e){const t=n.rtlTranslate?-1:1;e=n&&n.translate&&n.translate*t||0}const t=n.params,s=n.maxTranslate()-n.minTranslate();let{progress:i,isBeginning:a,isEnd:r,progressLoop:o}=n;const l=a,c=r;if(0===s)i=0,a=!0,r=!0;else{i=(e-n.minTranslate())/s;const t=Math.abs(e-n.minTranslate())<1,o=Math.abs(e-n.maxTranslate())<1;a=t||i<=0,r=o||i>=1,t&&(i=0),o&&(i=1)}if(t.loop){const t=n.getSlideIndexByData(0),s=n.getSlideIndexByData(n.slides.length-1),i=n.slidesGrid[t],a=n.slidesGrid[s],r=n.slidesGrid[n.slidesGrid.length-1],l=Math.abs(e);o=l>=i?(l-i)/r:(l+r-a)/r,o>1&&(o-=1)}Object.assign(n,{progress:i,progressLoop:o,isBeginning:a,isEnd:r}),(t.watchSlidesProgress||t.centeredSlides&&t.autoHeight)&&n.updateSlidesProgress(e),a&&!l&&n.emit("reachBeginning toEdge"),r&&!c&&n.emit("reachEnd toEdge"),(l&&!a||c&&!r)&&n.emit("fromEdge"),n.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:n,params:t,slidesEl:s,activeIndex:a}=e,r=e.virtual&&t.virtual.enabled,o=e.grid&&t.grid&&t.grid.rows>1,l=e=>(0,i.e)(s,`.${t.slideClass}${e}, swiper-slide${e}`)[0];let c,d,u;if(r)if(t.loop){let n=a-e.virtual.slidesBefore;n<0&&(n=e.virtual.slides.length+n),n>=e.virtual.slides.length&&(n-=e.virtual.slides.length),c=l(`[data-swiper-slide-index="${n}"]`)}else c=l(`[data-swiper-slide-index="${a}"]`);else o?(c=n.filter((e=>e.column===a))[0],u=n.filter((e=>e.column===a+1))[0],d=n.filter((e=>e.column===a-1))[0]):c=n[a];c&&(o||(u=(0,i.q)(c,`.${t.slideClass}, swiper-slide`)[0],t.loop&&!u&&(u=n[0]),d=(0,i.r)(c,`.${t.slideClass}, swiper-slide`)[0],t.loop&&0===!d&&(d=n[n.length-1]))),n.forEac
vendor: 6,385 bytes, line 2
2h((e=>{p(e,e===c,t.slideActiveClass),p(e,e===u,t.slideNextClass),p(e,e===d,t.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const n=this,t=n.rtlTranslate?n.translate:-n.translate,{snapGrid:s,params:i,activeIndex:a,realIndex:r,snapIndex:o}=n;let l,c=e;const d=e=>{let t=e-n.virtual.slidesBefore;return t<0&&(t=n.virtual.slides.length+t),t>=n.virtual.slides.length&&(t-=n.virtual.slides.length),t};if(void 0===c&&(c=function(e){const{slidesGrid:n,params:t}=e,s=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e<n.length;e+=1)void 0!==n[e+1]?s>=n[e]&&s<n[e+1]-(n[e+1]-n[e])/2?i=e:s>=n[e]&&s<n[e+1]&&(i=e+1):s>=n[e]&&(i=e);return t.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(n)),s.indexOf(t)>=0)l=s.indexOf(t);else{const e=Math.min(i.slidesPerGroupSkip,c);l=e+Math.floor((c-e)/i.slidesPerGroup)}if(l>=s.length&&(l=s.length-1),c===a&&!n.params.loop)return void(l!==o&&(n.snapIndex=l,n.emit("snapIndexChange")));if(c===a&&n.params.loop&&n.virtual&&n.params.virtual.enabled)return void(n.realIndex=d(c));const u=n.grid&&i.grid&&i.grid.rows>1;let p;if(n.virtual&&i.virtual.enabled&&i.loop)p=d(c);else if(u){const e=n.slides.filter((e=>e.column===c))[0];let t=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(t)&&(t=Math.max(n.slides.indexOf(e),0)),p=Math.floor(t/i.grid.rows)}else if(n.slides[c]){const e=n.slides[c].getAttribute("data-swiper-slide-index");p=e?parseInt(e,10):c}else p=c;Object.assign(n,{previousSnapIndex:o,snapIndex:l,previousRealIndex:r,realIndex:p,previousIndex:a,activeIndex:c}),n.initialized&&v(n),n.emit("activeIndexChange"),n.emit("snapIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&(r!==p&&n.emit("realIndexChange"),n.emit("slideChange"))},updateClickedSlide:function(e,n){const t=this,s=t.params;let i=e.closest(`.${s.slideClass}, swiper-slide`);!i&&t.isElement&&n&&n.length>1&&n.includes(e)&&[...n.slice(n.indexOf(e)+1,n.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${s.slideClass}, swiper-slide`)&&(i=e)}));let a,r=!1;if(i)for(let e=0;e<t.slides.length;e+=1)if(t.slides[e]===i){r=!0,a=e;break}if(!i||!r)return t.clickedSlide=void 0,void(t.clickedIndex=void 0);t.clickedSlide=i,t.virtual&&t.params.virtual.enabled?t.clickedIndex=parseInt(i.getAttribute("data-swiper-slide-index"),10):t.clickedIndex=a,s.slideToClickedSlide&&void 0!==t.clickedIndex&&t.clickedIndex!==t.activeIndex&&t.slideToClickedSlide()}};function f(e){let{swiper:n,runCallbacks:t,direction:s,step:i}=e;const{activeIndex:a,previousIndex:r}=n;let o=s;if(o||(o=a>r?"next":a<r?"prev":"reset"),n.emit(`transition${i}`),t&&a!==r){if("reset"===o)return void n.emit(`slideResetTransition${i}`);n.emit(`slideChangeTransition${i}`),"next"===o?n.emit(`slideNextTransition${i}`):n.emit(`slidePrevTransition${i}`)}}var _={slideTo:function(e,n,t,s,a){void 0===e&&(e=0),void 0===t&&(t=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let o=e;o<0&&(o=0);const{params:l,snapGrid:c,slidesGrid:d,previousIndex:u,activeIndex:p,rtlTranslate:h,wrapperEl:m,enabled:v}=r;if(!v&&!s&&!a||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===n&&(n=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,o);let f=g+Math.floor((o-g)/r.params.slidesPerGroup);f>=c.length&&(f=c.length-1);const _=-c[f];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const n=-Math.floor(100*_),t=Math.floor(100*d[e]),s=Math.floor(100*d[e+1]);void 0!==d[e+1]?n>=t&&n<s-(s-t)/2?o=e:n>=t&&n<s&&(o=e+1):n>=t&&(o=e)}if(r.initialized&&o!==p){if(!r.allowSlideNext&&(h?_>r.translate&&_>r.minTranslate():_<r.translate&&_<r.minTranslate()))return!1;if(!r.allowSlidePrev&&_>r.translate&&_>r.maxTranslate()&&(p||0)!==o)return!1}let b;o!==(u||0)&&t&&r.emit("beforeSlideChangeStart"),r.updateProgress(_),b=o>p?"next":o<p?"prev":"reset";const y=r.virtual&&r.params.virtual.enabled;if((!y||!a)&&(h&&-_===r.translate||!h&&_===r.translate))return r.updateActiveIndex(o),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(_),"reset"!==b&&(r.transitionStart(t,b),r.transitionEnd(t,b)),!1;if(l.cssMode){const e=r.isHorizontal(),t=h?_:-_;if(0===n)y&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),y&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{m[e?"scrollLeft":"scrollTop"]=t}))):m[e?"scrollLeft":"scrollTop"]=t,y&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}));else{if(!r.support.smoothScroll)return(0,i.t)({swiper:r,targetPosition:t,side:e?"left":"top"}),!0;m.scrollTo({[e?"left":"top"]:t,behavior:"smooth"})}return!0}return r.setTransition(n),r.setTranslate(_),r.updateActiveIndex(o),r.updateSlidesClasses(),r.emit("beforeTransitionStart",n,s),r.transitionStart(t,b),0===n?r.transitionEnd(t,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(t,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,n,t,s){void 0===e&&(e=0),void 0===t&&(t=!0),"string"==typeof e&&(e=parseInt(e,10));const i=this;if(i.destroyed)return;void 0===n&&(n=i.params.speed);const a=i.grid&&i.params.grid&&i.params.grid.rows>1;let r=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)r+=i.virtual.slidesBefore;else{let e;if(a){const n=r*i.params.grid.rows;e=i.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===n))[0].column}else e=i.getSlideIndexByData(r);const n=a?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:t}=i.params;let o=i.params.slidesPerView;"auto"===o?o=i.slidesPerViewDynamic():(o=Math.ceil(parseFloat(i.params.slidesPerView,10)),t&&o%2==0&&(o+=1));let l=n-e<o;if(t&&(l=l||e<Math.ceil(o/2)),s&&t&&"auto"!==i.params.slidesPerView&&!a&&(l=!1),l){const s=t?e<i.activeIndex?"prev":"next":e-i.activeIndex-1<i.params.slidesPerView?"next":"prev";i.loopFix({direction:s,slideTo:!0,activeSlideIndex:"next"===s?e+1:e-n+1,slideRealIndex:"next"===s?i.realIndex:void 0})}if(a){const e=r*i.params.grid.rows;r=i.slides.filter((n=>1*n.getAttribute("data-swiper-slide-index")===e))[0].column}else r=i.getSlideIndexByData(r)}
2return requestAnimationFrame((()=>{i.slideTo(r,n,t,s)})),i},slideNext:function(e,n,t){void 0===n&&(n=!0);const s=this,{enabled:i,params:a,animating:r}=s;if(!i||s.destroyed)return s;void 0===e&&(e=s.params.speed);let o=a.slidesPerGroup;"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(o=Math.max(s.slidesPerViewDynamic("current",!0),1));const l=s.activeIndex<a.slidesPerGroupSkip?1:o,c=s.virtual&&a.virtual.enabled;if(a.loop){if(r&&!c&&a.loopPreventsSliding)return!1;if(s.loopFix({direction:"next"}),s._clientLeft=s.wrapperEl.clientLeft,s.activeIndex===s.slides.length-1&&a.cssMode)return requestAnimationFrame((()=>{s.slideTo(s.activeIndex+l,e,n,t)})),!0}return a.rewind&&s.isEnd?s.slideTo(0,e,n,t):s.slideTo(s.activeIndex+l,e,n,t)},slidePrev:function(e,n,t){void 0===n&&(n=!0);const s=this,{params:i,snapGrid:a,slidesGrid:r,rtlTranslate:o,enabled:l,animating:c}=s;if(!l||s.destroyed)return s;void 0===e&&(e=s.params.speed);const d=s.virtual&&i.virtual.enabled;if(i.loop){if(c&&!d&&i.loopPreventsSliding)return!1;s.loopFix({direction:"prev"}),s._clientLeft=s.wrapperEl.clientLeft}function u(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const p=u(o?s.translate:-s.translate),h=a.map((e=>u(e)));let m=a[h.indexOf(p)-1];if(void 0===m&&i.cssMode){let e;a.forEach(((n,t)=>{p>=n&&(e=t)})),void 0!==e&&(m=a[e>0?e-1:e])}let v=0;if(void 0!==m&&(v=r.indexOf(m),v<0&&(v=s.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(v=v-s.slidesPerViewDynamic("previous",!0)+1,v=Math.max(v,0))),i.rewind&&s.isBeginning){const i=s.params.virtual&&s.params.virtual.enabled&&s.virtual?s.virtual.slides.length-1:s.slides.length-1;return s.slideTo(i,e,n,t)}return i.loop&&0===s.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{s.slideTo(v,e,n,t)})),!0):s.slideTo(v,e,n,t)},slideReset:function(e,n,t){void 0===n&&(n=!0);const s=this;if(!s.destroyed)return void 0===e&&(e=s.params.speed),s.slideTo(s.activeIndex,e,n,t)},slideToClosest:function(e,n,t,s){void 0===n&&(n=!0),void 0===s&&(s=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let a=i.activeIndex;const r=Math.min(i.params.slidesPerGroupSkip,a),o=r+Math.floor((a-r)/i.params.slidesPerGroup),l=i.rtlTranslate?i.translate:-i.translate;if(l>=i.snapGrid[o]){const e=i.snapGrid[o];l-e>(i.snapGrid[o+1]-e)*s&&(a+=i.params.slidesPerGroup)}else{const e=i.snapGrid[o-1];l-e<=(i.snapGrid[o]-e)*s&&(a-=i.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,i.slidesGrid.length-1),i.slideTo(a,e,n,t)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:n,slidesEl:t}=e,s="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView;let a,r=e.clickedIndex;const o=e.isElement?"swiper-slide":`.${n.slideClass}`;if(n.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),n.centeredSlides?r<e.loopedSlides-s/2||r>e.slides.length-e.loopedSlides+s/2?(e.loopFix(),r=e.getSlideIndex((0,i.e)(t,`${o}[data-swiper-slide-index="${a}"]`)[0]),(0,i.n)((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-s?(e.loopFix(),r=e.getSlideIndex((0,i.e)(t,`${o}[data-swiper-slide-index="${a}"]`)[0]),(0,i.n)((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}},b={loopCreate:function(e){const n=this,{params:t,slidesEl:s}=n;if(!t.loop||n.virtual&&n.params.virtual.enabled)return;const a=()=>{(0,i.e)(s,`.${t.slideClass}, swiper-slide`).forEach(((e,n)=>{e.setAttribute("data-swiper-slide-index",n)}))},r=n.grid&&t.grid&&t.grid.rows>1,o=t.slidesPerGroup*(r?t.grid.rows:1),l=n.slides.length%o!=0,c=r&&n.slides.length%t.grid.rows!=0,d=e=>{for(let s=0;s<e;s+=1){const e=n.isElement?(0,i.c)("swiper-slide",[t.slideBlankClass]):(0,i.c)("div",[t.slideClass,t.slideBlankClass]);n.slidesEl.append(e)}};l?(t.loopAddBlankSlides?(d(o-n.slides.length%o),n.recalcSlides(),n.updateSlides()):(0,i.u)("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"),a()):c?(t.loopAddBlankSlides?(d(t.grid.rows-n.slides.length%t.grid.rows),n.recalcSlides(),n.updateSlides()):(0,i.u)("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may
2not function properly. You need to add more slides (or make duplicates, or empty slides)"),a()):a(),n.loopFix({slideRealIndex:e,direction:t.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:n,slideTo:t=!0,direction:s,setTranslate:a,activeSlideIndex:r,byController:o,byMousewheel:l}=void 0===e?{}:e;const c=this;if(!c.params.loop)return;c.emit("beforeLoopFix");const{slides:d,allowSlidePrev:u,allowSlideNext:p,slidesEl:h,params:m}=c,{centeredSlides:v}=m;if(c.allowSlidePrev=!0,c.allowSlideNext=!0,c.virtual&&m.virtual.enabled)return t&&(m.centeredSlides||0!==c.snapIndex?m.centeredSlides&&c.snapIndex<m.slidesPerView?c.slideTo(c.virtual.slides.length+c.snapIndex,0,!1,!0):c.snapIndex===c.snapGrid.length-1&&c.slideTo(c.virtual.slidesBefore,0,!1,!0):c.slideTo(c.virtual.slides.length,0,!1,!0)),c.allowSlidePrev=u,c.allowSlideNext=p,void c.emit("loopFix");let g=m.slidesPerView;"auto"===g?g=c.slidesPerViewDynamic():(g=Math.ceil(parseFloat(m.slidesPerView,10)),v&&g%2==0&&(g+=1));const f=m.slidesPerGroupAuto?g:m.slidesPerGroup;let _=f;_%f!=0&&(_+=f-_%f),_+=m.loopAdditionalSlides,c.loopedSlides=_;const b=c.grid&&m.grid&&m.grid.rows>1;d.length<g+_?(0,i.u)("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):b&&"row"===m.grid.fill&&(0,i.u)("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const y=[],w=[];let k=c.activeIndex;void 0===r?r=c.getSlideIndex(d.filter((e=>e.classList.contains(m.slideActiveClass)))[0]):k=r;const T="next"===s||!s,E="prev"===s||!s;let x=0,S=0;const A=b?Math.ceil(d.length/m.grid.rows):d.length,L=(b?d[r].column:r)+(v&&void 0===a?-g/2+.5:0);if(L<_){x=Math.max(_-L,f);for(let e=0;e<_-L;e+=1){const n=e-Math.floor(e/A)*A;if(b){const e=A-n-1;for(let n=d.length-1;n>=0;n-=1)d[n].column===e&&y.push(n)}else y.push(A-n-1)}}else if(L+g>A-_){S=Math.max(L-(A-2*_),f);for(let e=0;e<S;e+=1){const n=e-Math.floor(e/A)*A;b?d.forEach(((e,t)=>{e.column===n&&w.push(t)})):w.push(n)}}if(c.__preventObserver__=!0,requestAnimationFrame((()=>{c.__preventObserver__=!1})),E&&y.forEach((e=>{d[e].swiperLoopMoveDOM=!0,h.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),T&&w.forEach((e=>{d[e].swiperLoopMoveDOM=!0,h.append(d[e]),d[e].swiperLoopMoveDOM=!1})),c.recalcSlides(),"auto"===m.slidesPerView?c.updateSlides():b&&(y.length>0&&E||w.length>0&&T)&&c.slides.forEach(((e,n)=>{c.grid.updateSlide(n,e,c.slides)})),m.watchSlidesProgress&&c.updateSlidesOffset(),t)if(y.length>0&&E){if(void 0===n){const e=c.slidesGrid[k],n=c.slidesGrid[k+x]-e;l?c.setTranslate(c.translate-n):(c.slideTo(k+Math.ceil(x),0,!1,!0),a&&(c.touchEventsData.startTranslate=c.touchEventsData.startTranslate-n,c.touchEventsData.currentTranslate=c.touchEventsData.currentTranslate-n))}else if(a){const e=b?y.length/m.grid.rows:y.length;c.slideTo(c.activeIndex+e,0,!1,!0),c.touchEventsData.currentTranslate=c.translate}}else if(w.length>0&&T)if(void 0===n){const e=c.slidesGrid[k],n=c.slidesGrid[k-S]-e;l?c.setTranslate(c.translate-n):(c.slideTo(k-S,0,!1,!0),a&&(c.touchEventsData.startTranslate=c.touchEventsData.startTranslate-n,c.touchEventsData.currentTranslate=c.touchEventsData.currentTranslate-n))}else{const e=b?w.length/m.grid.rows:w.length;c.slideTo(c.activeIndex-e,0,!1,!0)}if(c.allowSlidePrev=u,c.allowSlideNext=p,c.controller&&c.controller.control&&!o){const e={slideRealIndex:n,direction:s,setTranslate:a,activeSlideIndex:r,byController:!0};Array.isArray(c.controller.control)?c.controller.control.forEach((n=>{!n.destroyed&&n.params.loop&&n.loopFix({...e,slideTo:n.params.slidesPerView===m.slidesPerView&&t})})):c.controller.control instanceof c.constructor&&c.controller.control.params.loop&&c.controller.control.loopFix({...e,slideTo:c.controller.control.params.slidesPerView===m.slidesPerView&&t})}c.emit("loopFix")},loopDestroy:function(){const e=this,{params:n,slidesEl:t}=e;if(!n.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const s=[];e.slides.forEach((e=>{const n=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;s[n]=e}
vendor: 5,454 bytes, line 2
2)),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),s.forEach((e=>{t.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function y(e,n,t){const i=(0,s.a)(),{params:a}=e,r=a.edgeSwipeDetection,o=a.edgeSwipeThreshold;return!r||!(t<=o||t>=i.innerWidth-o)||"prevent"===r&&(n.preventDefault(),!0)}function w(e){const n=this,t=(0,s.g)();let a=e;a.originalEvent&&(a=a.originalEvent);const r=n.touchEventsData;if("pointerdown"===a.type){if(null!==r.pointerId&&r.pointerId!==a.pointerId)return;r.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(r.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void y(n,a,a.targetTouches[0].pageX);const{params:o,touches:l,enabled:c}=n;if(!c)return;if(!o.simulateTouch&&"mouse"===a.pointerType)return;if(n.animating&&o.preventInteractionOnTransition)return;!n.animating&&o.cssMode&&o.loop&&n.loopFix();let d=a.target;if("wrapper"===o.touchEventsTarget&&!(0,i.v)(d,n.wrapperEl))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(r.isTouched&&r.isMoved)return;const u=!!o.noSwipingClass&&""!==o.noSwipingClass,p=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&p&&(d=p[0]);const h=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,m=!(!a.target||!a.target.shadowRoot);if(o.noSwiping&&(m?function(e,n){return void 0===n&&(n=this),function n(t){if(!t||t===(0,s.g)()||t===(0,s.a)())return null;t.assignedSlot&&(t=t.assignedSlot);const i=t.closest(e);return i||t.getRootNode?i||n(t.getRootNode().host):null}(n)}(h,d):d.closest(h)))return void(n.allowClick=!0);if(o.swipeHandler&&!d.closest(o.swipeHandler))return;l.currentX=a.pageX,l.currentY=a.pageY;const v=l.currentX,g=l.currentY;if(!y(n,a,v))return;Object.assign(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),l.startX=v,l.startY=g,r.touchStartTime=(0,i.d)(),n.allowClick=!0,n.updateSize(),n.swipeDirection=void 0,o.threshold>0&&(r.allowThresholdMove=!1);let f=!0;d.matches(r.focusableElements)&&(f=!1,"SELECT"===d.nodeName&&(r.isTouched=!1)),t.activeElement&&t.activeElement.matches(r.focusableElements)&&t.activeElement!==d&&("mouse"===a.pointerType||"mouse"!==a.pointerType&&!d.matches(r.focusableElements))&&t.activeElement.blur();const _=f&&n.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!_||d.isContentEditable||a.preventDefault(),o.freeMode&&o.freeMode.enabled&&n.freeMode&&n.animating&&!o.cssMode&&n.freeMode.onTouchStart(),n.emit("touchStart",a)}function k(e){const n=(0,s.g)(),t=this,a=t.touchEventsData,{params:r,touches:o,rtlTranslate:l,enabled:c}=t;if(!c)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let d,u=e;if(u.originalEvent&&(u=u.originalEvent),"pointermove"===u.type){if(null!==a.touchId)return;if(u.pointerId!==a.pointerId)return}if("touchmove"===u.type){if(d=[...u.changedTouches].filter((e=>e.identifier===a.touchId))[0],!d||d.identifier!==a.touchId)return}else d=u;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&t.emit("touchMoveOpposite",u));const p=d.pageX,h=d.pageY;if(u.preventedByNestedSwiper)return o.startX=p,void(o.startY=h);if(!t.allowTouchMove)return u.target.matches(a.focusableElements)||(t.allowClick=!1),void(a.isTouched&&(Object.assign(o,{startX:p,startY:h,currentX:p,currentY:h}),a.touchStartTime=(0,i.d)()));if(r.touchReleaseOnEdges&&!r.loop)if(t.isVertical()){if(h<o.startY&&t.translate<=t.maxTranslate()||h>o.startY&&t.translate>=t.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else if(p<o.startX&&t.translate<=t.maxTranslate()||p>o.startX&&t.translate>=t.minTranslate())return;if(n.activeElement&&n.activeElement.matches(a.focusableElements)&&n.activeElement!==u.target&&"mouse"!==u.pointerType&&n.activeElement.blur(),n.activeElement&&u.target===n.activeElement&&u.target.matches(a.focusableElements))return a.isMoved=!0,void(t.allowClick=!1);a.allowTouchCallbacks&&t.emit("touchMove",u),o.previousX=o.currentX,o.previousY=o.currentY,o.currentX=p,o.currentY=h;const m=o.currentX-o.startX,v=o.currentY-o.startY;if(t.params.threshold&&Math.sqrt(m**2+v**2)<t.params.threshold)return;if(void 0===a.isScrolling){let e;t.isHorizontal()&&o.currentY===o.startY||t.isVertical()&&o.currentX===o.startX?a.isScrolling=!1:m*m+v*v>=25&&(e=180*Math.atan2(Math.abs(v),Math.abs(m))/Math.PI,a.isScrolling=t.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&t.emit("touchMoveOpposite",u),void 0===a.startMoving&&(o.currentX===o.startX&&o.currentY===o.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===u.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;t.allowClick=!1,!r.cssMode&&u.cancelable&&u.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&u.stopPropagation();let g=t.isHorizontal()?m:v,f=t.isHorizontal()?o.currentX-o.previousX:o.currentY-o.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),f=Math.abs(f)*(l?1:-1)),o.diff=g,g*=r.touchRatio,l&&(g=-g,f=-f);const _=t.touchesDirection;t.swipeDirection=g>0?"prev":"next",t.touchesDirection=f>0?"prev":"next";const b=t.params.loop&&!r.cssMode,y="next"===t.touchesDirection&&t.allowSlideNext||"prev"===t.touchesDirection&&t.allowSlidePrev;if(!a.isMoved){if(b&&y&&t.loopFix({direction:t.swipeDirection}),a.startTranslate=t.getTranslate(),t.setTransition(0),t.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});
vendor: 2,139 bytes, line 2
2t.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==t.allowSlideNext&&!0!==t.allowSlidePrev||t.setGrabCursor(!0),t.emit("sliderFirstMove",u)}if((new Date).getTime(),a.isMoved&&a.allowThresholdMove&&_!==t.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(o,{startX:p,startY:h,currentX:p,currentY:h,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);t.emit("sliderMove",u),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let w=!0,k=r.resistanceRatio;if(r.touchReleaseOnEdges&&(k=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?t.minTranslate()-t.slidesSizesGrid[t.activeIndex+1]-("auto"!==r.slidesPerView&&t.slides.length-r.slidesPerView>=2?t.slidesSizesGrid[t.activeIndex+1]+t.params.spaceBetween:0)-t.params.spaceBetween:t.minTranslate())&&t.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>t.minTranslate()&&(w=!1,r.resistance&&(a.currentTranslate=t.minTranslate()-1+(-t.minTranslate()+a.startTranslate+g)**k))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?t.maxTranslate()+t.slidesSizesGrid[t.slidesSizesGrid.length-1]+t.params.spaceBetween+("auto"!==r.slidesPerView&&t.slides.length-r.slidesPerView>=2?t.slidesSizesGrid[t.slidesSizesGrid.length-1]+t.params.spaceBetween:0):t.maxTranslate())&&t.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:t.slides.length-("auto"===r.slidesPerView?t.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslate<t.maxTranslate()&&(w=!1,r.resistance&&(a.currentTranslate=t.maxTranslate()+1-(t.maxTranslate()-a.startTranslate-g)**k))),w&&(u.preventedByNestedSwiper=!0),!t.allowSlideNext&&"next"===t.swipeDirection&&a.currentTranslate<a.startTranslate&&(a.currentTranslate=a.startTranslate),!t.allowSlidePrev&&"prev"===t.swipeDirection&&a.currentTranslate>a.startTranslate&&(a.currentTranslate=a.startTranslate),t.allowSlidePrev||t.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);
vendor: 6,720 bytes, line 2
2if(!a.allowThresholdMove)return a.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,a.currentTranslate=a.startTranslate,void(o.diff=t.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&t.freeMode||r.watchSlidesProgress)&&(t.updateActiveIndex(),t.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&t.freeMode&&t.freeMode.onTouchMove(),t.updateProgress(a.currentTranslate),t.setTranslate(a.currentTranslate))}function T(e){const n=this,t=n.touchEventsData;let s,a=e;if(a.originalEvent&&(a=a.originalEvent),"touchend"===a.type||"touchcancel"===a.type){if(s=[...a.changedTouches].filter((e=>e.identifier===t.touchId))[0],!s||s.identifier!==t.touchId)return}else{if(null!==t.touchId)return;if(a.pointerId!==t.pointerId)return;s=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)&&(!["pointercancel","contextmenu"].includes(a.type)||!n.browser.isSafari&&!n.browser.isWebView))return;t.pointerId=null,t.touchId=null;const{params:r,touches:o,rtlTranslate:l,slidesGrid:c,enabled:d}=n;if(!d)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(t.allowTouchCallbacks&&n.emit("touchEnd",a),t.allowTouchCallbacks=!1,!t.isTouched)return t.isMoved&&r.grabCursor&&n.setGrabCursor(!1),t.isMoved=!1,void(t.startMoving=!1);r.grabCursor&&t.isMoved&&t.isTouched&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!1);const u=(0,i.d)(),p=u-t.touchStartTime;if(n.allowClick){const e=a.path||a.composedPath&&a.composedPath();n.updateClickedSlide(e&&e[0]||a.target,e),n.emit("tap click",a),p<300&&u-t.lastClickTime<300&&n.emit("doubleTap doubleClick",a)}if(t.lastClickTime=(0,i.d)(),(0,i.n)((()=>{n.destroyed||(n.allowClick=!0)})),!t.isTouched||!t.isMoved||!n.swipeDirection||0===o.diff&&!t.loopSwapReset||t.currentTranslate===t.startTranslate&&!t.loopSwapReset)return t.isTouched=!1,t.isMoved=!1,void(t.startMoving=!1);let h;if(t.isTouched=!1,t.isMoved=!1,t.startMoving=!1,h=r.followFinger?l?n.translate:-n.translate:-t.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void n.freeMode.onTouchEnd({currentPos:h});const m=h>=-n.maxTranslate()&&!n.params.loop;let v=0,g=n.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const n=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+n]?(m||h>=c[e]&&h<c[e+n])&&(v=e,g=c[e+n]-c[e]):(m||h>=c[e])&&(v=e,g=c[c.length-1]-c[c.length-2])}let f=null,_=null;r.rewind&&(n.isBeginning?_=r.virtual&&r.virtual.enabled&&n.virtual?n.virtual.slides.length-1:n.slides.length-1:n.isEnd&&(f=0));const b=(h-c[v])/g,y=v<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(p>r.longSwipesMs){if(!r.longSwipes)return void n.slideTo(n.activeIndex);"next"===n.swipeDirection&&(b>=r.longSwipesRatio?n.slideTo(r.rewind&&n.isEnd?f:v+y):n.slideTo(v)),"prev"===n.swipeDirection&&(b>1-r.longSwipesRatio?n.slideTo(v+y):null!==_&&b<0&&Math.abs(b)>r.longSwipesRatio?n.slideTo(_):n.slideTo(v))}else{if(!r.shortSwipes)return void n.slideTo(n.activeIndex);!n.navigation||a.target!==n.navigation.nextEl&&a.target!==n.navigation.prevEl?("next"===n.swipeDirection&&n.slideTo(null!==f?f:v+y),"prev"===n.swipeDirection&&n.slideTo(null!==_?_:v)):a.target===n.navigation.nextEl?n.slideTo(v+y):n.slideTo(v)}}function E(){const e=this,{params:n,el:t}=e;if(t&&0===t.offsetWidth)return;n.breakpoints&&e.setBreakpoint();const{allowSlideNext:s,allowSlidePrev:i,snapGrid:a}=e,r=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const o=r&&n.loop;!("auto"===n.slidesPerView||n.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||o?e.params.loop&&!r?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=s,e.params.watchOverflow&&a!==e.snapGrid&&e.checkOverflow()}function x(e){const n=this;n.enabled&&(n.allowClick||(n.params.preventClicks&&e.preventDefault(),n.params.preventClicksPropagation&&n.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function S(){const e=this,{wrapperEl:n,rtlTranslate:t,enabled:s}=e;if(!s)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-n.scrollLeft:e.translate=-n.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const a=e.maxTranslate()-e.minTranslate();i=0===a?0:(e.translate-e.minTranslate())/a,i!==e.progress&&e.updateProgress(t?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function A(e){const n=this;h(n,e.target),n.params.cssMode||"auto"!==n.params.slidesPerView&&!n.params.autoHeight||n.update()}function L(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const C=(e,n)=>{const t=(0,s.g)(),{params:i,el:a,wrapperEl:r,device:o}=e,l=!!i.nested,c="on"===n?"addEventListener":"removeEventListener",d=n;a&&"string"!=typeof a&&(t[c]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:l}),a[c]("touchstart",e.onTouchStart,{passive:!1}),a[c]("pointerdown",e.onTouchStart,{passive:!1}),t[c]("touchmove",e.onTouchMove,{passive:!1,capture:l}),t[c]("pointermove",e.onTouchMove,{passive:!1,capture:l}),t[c]("touchend",e.onTouchEnd,{passive:!0}),t[c]("pointerup",e.onTouchEnd,{passive:!0}),t[c]("pointercancel",e.onTouchEnd,{passive:!0}),t[c]("touchcancel",e.onTouchEnd,{passive:!0}),t[c]("pointerout",e.onTouchEnd,{passive:!0}),t[c]("pointerleave",e.onTouchEnd,{passive:!0}),t[c]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&a[c]("click",e.onClick,!0),i.cssMode&&r[c]("scroll",e.onScroll),i.updateOnWindowResize?e[d](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",E,!0):e[d]("observerUpdate",E,!0),a[c]("load",e.onLoad,{capture:!0}))},R=(e,n)=>e.grid&&n.grid&&n.grid.rows>1;var I={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",
vendor: 10,106 bytes, line 2
2spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function P(e,n){return function(t){void 0===t&&(t={});const s=Object.keys(t)[0],a=t[s];"object"==typeof a&&null!==a?(!0===e[s]&&(e[s]={enabled:!0}),"navigation"===s&&e[s]&&e[s].enabled&&!e[s].prevEl&&!e[s].nextEl&&(e[s].auto=!0),["pagination","scrollbar"].indexOf(s)>=0&&e[s]&&e[s].enabled&&!e[s].el&&(e[s].auto=!0),s in e&&"enabled"in a?("object"!=typeof e[s]||"enabled"in e[s]||(e[s].enabled=!0),e[s]||(e[s]={enabled:!1}),(0,i.w)(n,t)):(0,i.w)(n,t)):(0,i.w)(n,t)}}const D={eventsEmitter:d,update:g,translate:{getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:n,rtlTranslate:t,translate:s,wrapperEl:a}=this;if(n.virtualTranslate)return t?-s:s;if(n.cssMode)return s;let r=(0,i.j)(a,e);return r+=this.cssOverflowAdjustment(),t&&(r=-r),r||0},setTranslate:function(e,n){const t=this,{rtlTranslate:s,params:i,wrapperEl:a,progress:r}=t;let o,l=0,c=0;t.isHorizontal()?l=s?-e:e:c=e,i.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),t.previousTranslate=t.translate,t.translate=t.isHorizontal()?l:c,i.cssMode?a[t.isHorizontal()?"scrollLeft":"scrollTop"]=t.isHorizontal()?-l:-c:i.virtualTranslate||(t.isHorizontal()?l-=t.cssOverflowAdjustment():c-=t.cssOverflowAdjustment(),a.style.transform=`translate3d(${l}px, ${c}px, 0px)`);const d=t.maxTranslate()-t.minTranslate();o=0===d?0:(e-t.minTranslate())/d,o!==r&&t.updateProgress(e),t.emit("setTranslate",t.translate,n)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,n,t,s,a){void 0===e&&(e=0),void 0===n&&(n=this.params.speed),void 0===t&&(t=!0),void 0===s&&(s=!0);const r=this,{params:o,wrapperEl:l}=r;if(r.animating&&o.preventInteractionOnTransition)return!1;const c=r.minTranslate(),d=r.maxTranslate();let u;if(u=s&&e>c?c:s&&e<d?d:e,r.updateProgress(u),o.cssMode){const e=r.isHorizontal();if(0===n)l[e?"scrollLeft":"scrollTop"]=-u;else{if(!r.support.smoothScroll)return(0,i.t)({swiper:r,targetPosition:-u,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-u,behavior:"smooth"})}return!0}return 0===n?(r.setTransition(0),r.setTranslate(u),t&&(r.emit("beforeTransitionStart",n,a),r.emit("transitionEnd"))):(r.setTransition(n),r.setTranslate(u),t&&(r.emit("beforeTransitionStart",n,a),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,t&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}},transition:{setTransition:function(e,n){const t=this;t.params.cssMode||(t.wrapperEl.style.transitionDuration=`${e}ms`,t.wrapperEl.style.transitionDelay=0===e?"0ms":""),t.emit("setTransition",e,n)},transitionStart:function(e,n){void 0===e&&(e=!0);const t=this,{params:s}=t;s.cssMode||(s.autoHeight&&t.updateAutoHeight(),f({swiper:t,runCallbacks:e,direction:n,step:"Start"}))},transitionEnd:function(e,n){void 0===e&&(e=!0);const t=this,{params:s}=t;t.animating=!1,s.cssMode||(t.setTransition(0),f({swiper:t,runCallbacks:e,direction:n,step:"End"}))}},slide:_,loop:b,grabCursor:{setGrabCursor:function(e){const n=this;if(!n.params.simulateTouch||n.params.watchOverflow&&n.isLocked||n.params.cssMode)return;const t="container"===n.params.touchEventsTarget?n.el:n.wrapperEl;n.isElement&&(n.__preventObserver__=!0),t.style.cursor="move",t.style.cursor=e?"grabbing":"grab",n.isElement&&requestAnimationFrame((()=>{n.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:n}=e;e.onTouchStart=w.bind(e),e.onTouchMove=k.bind(e),e.onTouchEnd=T.bind(e),e.onDocumentTouchStart=L.bind(e),n.cssMode&&(e.onScroll=S.bind(e)),e.onClick=x.bind(e),e.onLoad=A.bind(e),C(e,"on")},detachEvents:function(){C(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:n,initialized:t,params:s,el:a}=e,r=s.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const o=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!o||e.currentBreakpoint===o)return;const l=(o in r?r[o]:void 0)||e.originalParams,c=R(e,s),d=R(e,l),u=e.params.grabCursor,p=l.grabCursor,h=s.enabled;c&&!d?(a.classList.remove(`${s.containerModifierClass}grid`,`${s.containerModifierClass}grid-column`),e.emitContainerClasses()):!c&&d&&(a.classList.add(`${s.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===s.grid.fill)&&a.classList.add(`${s.containerModifierClass}grid-column`),e.emitContainerClasses()),u&&!p?e.unsetGrabCursor():!u&&p&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((n=>{if(void 0===l[n])return;const t=s[n]&&s[n].enabled,i=l[n]&&l[n].enabled;t&&!i&&e[n].disable(),!t&&i&&e[n].enable()}));const m=l.direction&&l.direction!==s.direction,v=s.loop&&(l.slidesPerView!==s.slidesPerView||m),g=s.loop;m&&t&&e.changeDirection(),(0,i.w)(e.params,l);const f=e.params.enabled,_=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),h&&!f?e.disable():!h&&f&&e.enable(),e.currentBreakpoint=o,e.emit("_beforeBreakpoint",l),t&&(v?(e.loopDestroy(),e.loopCreate(n),e.updateSlides()):!g&&_?(e.loopCreate(n),e.updateSlides()):g&&!_&&e.loopDestroy()),e.emit("breakpoint",l)},getBreakpoint:function(e,n,t){if(void 0===n&&(n="window"),!e||"container"===n&&!t)return;let i=!1;const a=(0,s.a)(),r="window"===n?a.innerHeight:t.clientHeight,o=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const n=parseFloat(e.substr(1));return{value:r*n,point:e}}return{value:e,point:e}}));o.sort(((e,n)=>parseInt(e.value,10)-parseInt(n.value,10)));for(let e=0;e<o.length;e+=1){const{point:s,value:r}=o[e];"window"===n?a.matchMedia(`(min-width: ${r}px)`).matches&&(i=s):r<=t.clientWidth&&(i=s)}return i||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:n,params:t}=e,{slidesOffsetBefore:s}=t;if(s){const n=e.slides.length-1,t=e.slidesGrid[n]+e.slidesSizesGrid[n]+2*s;e.isLocked=e.size>t}else e.isLocked=1===e.snapGrid.length;!0===t.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===t.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),n&&n!==e.isLocked&&(e.isEnd=!1),n!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:n,params:t,rtl:s,el:i,device:a}=e,r=function(e,n){const t=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((s=>{e[s]&&t.push(n+s)})):"string"==typeof e&&t.push(n+e)})),t}(["initialized",t.direction,{"free-mode":e.params.freeMode&&t.freeMode.enabled},{autoheight:t.autoHeight},{rtl:s},{grid:t.grid&&t.grid.rows>1},{"grid-column":t.grid&&t.grid.rows>1&&"column"===t.grid.fill},{android:a.android},{ios:a.ios},{"css-mode":t.cssMode},{centered:t.cssMode&&t.centeredSlides},{"watch-progress":t.watchSlidesProgress}],t.containerModifierClass);n.push(...r),i.classList.add(...n),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:n}=this;e&&"string"!=typeof e&&(e.classList.remove(...n),this.emitContainerClasses())}}},O={};class M{constructor(){let e,n;for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?n=a[0]:[e,n]=a,n||(n={}),n=(0,i.w)({},n),e&&!n.el&&(n.el=e);const d=(0,s.g)();if(n.el&&"string"==typeof n.el&&d.querySelectorAll(n.el).length>1){const e=[];return d.querySelectorAll(n.el).forEach((t=>{const s=(0,i.w)({},n,{el:t});e.push(new M(s))})),e}const u=this;u.__swiper__=!0,u.support=l(),u.device=c({userAgent:n.userAgent}),u.browser=(o||(o=function(){const e=(0,s.a)(),n=c();let t=!1;function i(){const n=e.navigator.userAgent.toLowerCase();return n.indexOf("safari")>=0&&n.indexOf("chrome")<0&&n.indexOf("android")<0}if(i()){const n=String(e.navigator.userAgent);if(n.includes("Version/")){const[e,s]=n.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));t=e<16||16===e&&s<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),r=i();return{isSafari:t||r,needPerspectiveFix:t,need3dFix:r||a&&n.ios,isWebView:a}}()),o),u.eventsListeners={},u.eventsAnyListeners=[],u.modules=[...u.__modules__],n.modules&&Array.isArray(n.modules)&&u.modules.push(...n.modules);const p={};
vendor: 4,468 bytes, line 2
2u.modules.forEach((e=>{e({params:n,swiper:u,extendParams:P(n,p),on:u.on.bind(u),once:u.once.bind(u),off:u.off.bind(u),emit:u.emit.bind(u)})}));const h=(0,i.w)({},I,p);return u.params=(0,i.w)({},h,O,n),u.originalParams=(0,i.w)({},u.params),u.passedParams=(0,i.w)({},n),u.params&&u.params.on&&Object.keys(u.params.on).forEach((e=>{u.on(e,u.params.on[e])})),u.params&&u.params.onAny&&u.onAny(u.params.onAny),Object.assign(u,{enabled:u.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===u.params.direction,isVertical:()=>"vertical"===u.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:u.params.allowSlideNext,allowSlidePrev:u.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:u.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:u.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),u.emit("_swiper"),u.params.init&&u.init(),u}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:n,params:t}=this,s=(0,i.e)(n,`.${t.slideClass}, swiper-slide`),a=(0,i.h)(s[0]);return(0,i.h)(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((n=>1*n.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:n}=this;this.slides=(0,i.e)(e,`.${n.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,n){const t=this;e=Math.min(Math.max(e,0),1);const s=t.minTranslate(),i=(t.maxTranslate()-s)*e+s;t.translateTo(i,void 0===n?0:n),t.updateActiveIndex(),t.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const n=e.el.className.split(" ").filter((n=>0===n.indexOf("swiper")||0===n.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",n.join(" "))}getSlideClasses(e){const n=this;return n.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(n.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const n=[];e.slides.forEach((t=>{const s=e.getSlideClasses(t);n.push({slideEl:t,classNames:s}),e.emit("_slideClass",t,s)})),e.emit("_slideClasses",n)}slidesPerViewDynamic(e,n){void 0===e&&(e="current"),void 0===n&&(n=!1);const{params:t,slides:s,slidesGrid:i,slidesSizesGrid:a,size:r,activeIndex:o}=this;let l=1;if("number"==typeof t.slidesPerView)return t.slidesPerView;if(t.centeredSlides){let e,n=s[o]?Math.ceil(s[o].swiperSlideSize):0;for(let t=o+1;t<s.length;t+=1)s[t]&&!e&&(n+=Math.ceil(s[t].swiperSlideSize),l+=1,n>r&&(e=!0));for(let t=o-1;t>=0;t-=1)s[t]&&!e&&(n+=s[t].swiperSlideSize,l+=1,n>r&&(e=!0))}else if("current"===e)for(let e=o+1;e<s.length;e+=1)(n?i[e]+a[e]-i[o]<r:i[e]-i[o]<r)&&(l+=1);else for(let e=o-1;e>=0;e-=1)i[o]-i[e]<r&&(l+=1);return l}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:n,params:t}=e;function s(){const n=e.rtlTranslate?-1*e.translate:e.translate,t=Math.min(Math.max(n,e.maxTranslate()),e.minTranslate());e.setTranslate(t),e.updateActiveIndex(),e.updateSlidesClasses()}let i;if(t.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((n=>{n.complete&&h(e,n)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),t.freeMode&&t.freeMode.enabled&&!t.cssMode)s(),t.autoHeight&&e.updateAutoHeight();else{if(("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!t.centeredSlides){const n=e.virtual&&t.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(n.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||s()}
2t.watchOverflow&&n!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,n){void 0===n&&(n=!0);const t=this,s=t.params.direction;return e||(e="horizontal"===s?"vertical":"horizontal"),e===s||"horizontal"!==e&&"vertical"!==e||(t.el.classList.remove(`${t.params.containerModifierClass}${s}`),t.el.classList.add(`${t.params.containerModifierClass}${e}`),t.emitContainerClasses(),t.params.direction=e,t.slides.forEach((n=>{"vertical"===e?n.style.width="":n.style.height=""})),t.emit("changeDirection"),n&&t.update()),t}changeLanguageDirection(e){const n=this;n.rtl&&"rtl"===e||!n.rtl&&"ltr"===e||(n.rtl="rtl"===e,n.rtlTranslate="horizontal"===n.params.direction&&n.rtl,n.rtl?(n.el.classList.add(`${n.params.containerModifierClass}rtl`),n.el.dir="rtl"):(n.el.classList.remove(`${n.params.containerModifierClass}rtl`),n.el.dir="ltr"),n.update())}mount(e){const n=this;if(n.mounted)return!0;let t=e||n.params.el;if("string"==typeof t&&(t=document.querySelector(t)),!t)return!1;t.swiper=n,t.parentNode&&t.parentNode.host&&t.parentNode.host.nodeName===n.params.swiperElementNodeName.toUpperCase()&&(n.isElement=!0);const s=()=>`.${(n.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=t&&t.shadowRoot&&t.shadowRoot.querySelector?t.shadowRoot.querySelector(s()):(0,i.e)(t,s())[0];return!a&&n.params.createElements&&(a=(0,i.c)("div",n.params.wrapperClass),t.append(a),(0,i.e)(t,`.${n.params.slideClass}`).forEach((e=>{a.append(e)}))),Object.assign(n,{el:t,wrapperEl:a,slidesEl:n.isElement&&!t.parentNode.host.slideSlots?t.parentNode.host:a,hostEl:n.isElement?t.parentNode.host:t,mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===(0,i.p)(t,"direction"),rtlTranslate:"horizontal"===n.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===(0,i.p)(t,"direction")),wrongRTL:"-webkit-box"===(0,i.p)(a,"display")}),!0}init(e){const n=this;if(n.initialized)return n;if(!1===n.mount(e))return n;n.emit("beforeInit"),n.params.breakpoints&&n.setBreakpoint(),n.addClasses(),n.updateSize(),n.updateSlides(),n.params.watchOverflow&&n.checkOverflow(),n.params.grabCursor&&n.enabled&&n.setGrabCursor(),n.params.loop&&n.virtual&&n.params.virtual.enabled?n.slideTo(n.params.initialSlide+n.virtual.slidesBefore,0,n.params.runCallbacksOnInit,!1,!0):n.slideTo(n.params.initialSlide,0,n.params.runCallbacksOnInit,!1,!0),n.params.loop&&n.loopCreate(),n.attachEvents();const t=[...n.el.querySelectorAll('[loading="lazy"]')];return n.isElement&&t.push(...n.hostEl.querySelectorAll('[loading="lazy"]')),t.forEach((e=>{e.complete?h(n,e):e.addEventListener("load",(e=>{h(n,e.target)}))})),v(n),n.initialized=!0,v(n),n.emit("init"),n.emit("afterInit"),n}destroy(e,n){void 0===e&&(e=!0),void 0===n&&(n=!0);const t=this,{params:s,el:a,wrapperEl:r,slides:o}=t;return void 0===t.params||t.destroyed||(t.emit("beforeDestroy"),t.initialized=!1,t.detachEvents(),s.loop&&t.loopDestroy(),n&&(t.removeClasses(),a&&"string"!=typeof a&&a.removeAttribute("style"),r&&r.removeAttribute("style"),o&&o.length&&o.forEach((e=>{e.classList.remove(s.slideVisibleClass,s.slideFullyVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),t.emit("destroy"),Object.keys(t.eventsListeners).forEach((e=>{t.off(e)})),!1!==e&&(t.el&&"string"!=typeof t.el&&(t.el.swiper=null),(0,i.x)(t)),t.destroyed=!0),null}static extendDefaults(e){(0,i.w)(O,e)}static get extendedDefaults(){return O}static get defaults(){return I}static installModule(e){M.prototype.__modules__||(M.prototype.__modules__=[]);const n=M.prototype.__modules__;"function"==typeof e&&n.indexOf(e)<0&&n.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>M.installModule(e))),M):(M.installModule(e),M)}}Object.keys(D).forEach((e=>{Object.keys(D[e]).forEach((n=>{M.prototype[n]=D[e][n]}))})),M.use([function(e){let{swiper:n,on:t,emit:i}=e;const a=(0,s.a)();let r=null,o=null;const l=()=>{n&&!n.destroyed&&n.initialized&&(i("beforeResize"),i("resize"))},c=()=>{n&&!n.destroyed&&n.initialized&&i("orientationchange")};t("init",(()=>{n.params.resizeObserver&&void 0!==a.ResizeObserver?n&&!n.destroyed&&n.initialized&&(r=new ResizeObserver((e=>{o=a.requestAnimationFrame((()=>{const{width:t,height:s}=n;let i=t,a=s;e.forEach((e=>{let{contentBoxSize:t,contentRect:s,target:r}=e;r&&r!==n.el||(i=s?s.width:(t[0]||t).inlineSize,a=s?s.height:(t[0]||t).blockSize)})),i===t&&a===s||l()}))})),r.observe(n.el)):(a.addEventListener("resize",l),a.addEventListener("orientationchange",c))})),t("destroy",(()=>{o&&a.cancelAnimationFrame(o),r&&r.unobserve&&n.el&&(r.unobserve(n.el),r=null),a.removeEventListener("resize",l),a.removeEventListener("orientationchange",c)}))},function(e){let{swiper:n,extendParams:t,on:a,emit:r}=e;const o=[],l=(0,s.a)(),c=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(n.__preventObserver__)return;if(1===e.length)return void r("observerUpdate",e[0]);const t=function(){r("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:n.isElement||(void 0===t.childList||t).childList,characterData:void 0===t.characterData||t.characterData}),o.push(s)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(n.params.observer){if(n.params.observeParents){const e=(0,i.a)(n.hostEl);for(let n=0;n<e.length;n+=1)c(e[n])}c(n.hostEl,{childList:n.params.observeSlideChildren}),c(n.wrapperEl,{attributes:!1})}})),a("destroy",(()=>{o.forEach((e=>{e.disconnect()})),o.splice(0,o.length)}))}])},1372:(e,n,t)=>{"use strict";t.d(n,{Tl:()=>u,s2:()=>d});var s=function(){return"undefined"==typeof window},i=function(e){e=e||navigator.userAgent;var n=/(iPad).*OS\s([\d_]+)/.test(e);return{ios:!n&&/(iPhone\sOS)\s([\d_]+)/.test(e)||n,android:/(Android);?[\s/]+([\d.]+)?/.test(e)}};function a(e){if(s())return!1;if(!e)throw new Error("options must be provided");
2var n=!1,t={get passive(){n=!0}},i=function(){},a="__TUA_BSL_TEST_PASSIVE__";window.addEventListener(a,i,t),window.removeEventListener(a,i,t);var r=e.capture;return n?e:void 0!==r&&r}function r(){return"__BSL_PREVENT_DEFAULT__"in window||(window.__BSL_PREVENT_DEFAULT__=function(e){e.cancelable&&e.preventDefault()}),window.__BSL_PREVENT_DEFAULT__}function o(e){return e?Array.isArray(e)?e:[e]:[]}var l={lockedNum:0,lockedElements:[],unLockCallback:null,documentListenerAdded:!1,initialClientPos:{clientX:0,clientY:0}};function c(e){if(s())return l;if(!(null==e?void 0:e.useGlobalLockState))return c.lockState;var n="__BSL_LOCK_STATE__"in window?Object.assign(Object.assign({},l),window.__BSL_LOCK_STATE__):l;return window.__BSL_LOCK_STATE__=n,n}function d(e,n){if(!s()){var t,l,d,u,p=i(),h=c(n);p.ios?(o(e).filter((function(e){return e&&-1===h.lockedElements.indexOf(e)})).forEach((function(e){e.ontouchstart=function(e){var n=e.targetTouches[0],t=n.clientX,s=n.clientY;h.initialClientPos={clientX:t,clientY:s}},e.ontouchmove=function(n){!function(e,n,t){if(n){var s=n.scrollTop,i=n.scrollLeft,a=n.scrollWidth,o=n.scrollHeight,l=n.clientWidth,c=n.clientHeight,d=e.targetTouches[0].clientX-t.clientX,u=e.targetTouches[0].clientY-t.clientY,p=Math.abs(u)>Math.abs(d);if(p&&(u>0&&0===s||u<0&&s+c+1>=o)||!p&&(d>0&&0===i||d<0&&i+l+1>=a))return r()(e)}e.stopPropagation()}(n,e,h.initialClientPos)},h.lockedElements.push(e)})),function(e){i().ios&&(e.documentListenerAdded||(document.addEventListener("touchmove",r(),a({passive:!1})),e.documentListenerAdded=!0))}(h)):h.lockedNum<=0&&(h.unLockCallback=p.android?function(e){var n=document.documentElement,t=document.body,s=n.scrollTop||t.scrollTop,i=Object.assign({},n.style),a=Object.assign({},t.style);return n.style.height="100%",n.style.overflow="hidden",t.style.top="-".concat(s,"px"),t.style.width="100%",t.style.height="auto",t.style.position="fixed",t.style.overflow=(null==e?void 0:e.overflowType)||"hidden",function(){n.style.height=i.height||"",n.style.overflow=i.overflow||"",["top","width","height","overflow","position"].forEach((function(e){t.style[e]=a[e]||""})),"scrollBehavior"in document.documentElement.style?window.scrollTo({top:s,behavior:"instant"}):window.scrollTo(0,s)}}(n):(t=document.documentElement,l=Object.assign({},t.style),d=window.innerWidth-t.clientWidth,u=parseInt(window.getComputedStyle(t).paddingRight,10),t.style.overflow="hidden",t.style.boxSizing="border-box",t.style.paddingRight="".concat(d+u,"px"),function(){["overflow","boxSizing","paddingRight"].forEach((function(e){t.style[e]=l[e]||""}))})),h.lockedNum+=1}}function u(e,n){if(!s()){var t=c(n);t.lockedNum-=1,t.lockedNum>0||function(e){return!i().ios&&"function"==typeof e.unLockCallback&&(e.unLockCallback(),!0)}(t)||(o(e).forEach((function(e){var n=t.lockedElements.indexOf(e);e&&-1!==n&&(e.ontouchmove=null,e.ontouchstart=null,t.lockedElements.splice(n,1))})),function(e){e.documentListenerAdded&&(document.removeEventListener("touchmove",r(),a({passive:!1})),e.documentListenerAdded=!1)}(t))}}c.lockState=l}},e=>{var n=n=>e(e.s=n);n(1614),n(5766),n(2792),n(8214),n(7798),n(9782),n(8898),n(774),n(3670),n(234),n(4470),n(2806),n(9526),n(8910),n(3366),n(6780),n(3842),n(126),n(7626),n(2502),n(7142),n(7866),n(5516),n(8646),n(356),n(5812),n(7492),n(7222),n(1578),n(2258),n(2270),n(4316),n(20),n(6),n(5118),n(2508),n(682),n(5862),n(7230),n(4224),n(8470),n(7974),n(950),n(5112),n(9628),n(546),n(5078),n(3682),n(2898),n(5510),n(7254),n(6010),n(3076),n(1950),n(4352),n(3187),n(8546),n(5988),n(9106),n(1019),n(642),n(5716),n(8656),n(4157),n(6566),n(5656),n(7771),n(8604),n(3365),n(7865),n(1662),n(8176),n(5795),n(4913),n(7920),n(6346),n(2372),n(9136),n(5450),n(1038),n(8494),n(3280),n(1088),n(7544),n(8072),n(204),n(8104),n(5056),n(7355),n(4602),n(6850),n(6292),n(2266),n(882),n(3746),n(4386),n(322),n(4626),n(2446),n(7566),n(6006),n(2942),n(9946),n(7538),n(1396),n(1374),n(4834),n(3282),n(8382),n(2598),n(1814),n(3496),n(1438),n(7016),n(344),n(928),n(4874),n(6358),n(5630),n(3290),n(4624),n(2243),n(1798),n(7426),n(868),n(3118),n(9250),n(2986),n(4476),n(9730),n(8958),n(2690),n(8516),n(612),n(3542),n(4490),n(2454),n(9062),n(1186),n(2546),n(7362),n(476),n(2930),n(3228),n(858),n(3438),n(7372),n(9402),n(9852),n(4854),n(1966),n(9764),n(1516),n(8716),n(9758),n(1566),n(8410),n(2510),n(1072),n(6506),n(534),n(3806),n(4504),n(6303),n(7639),n(6857),n(1229),n(7581),n(3857),n(2635),n(6754),n(1245),n(8579),n(8497),n(897),n(4705),n(537),n(4865),n(4805),n(6613),n(2577),n(3457),n(4268),n(119),n(6029),n(7729),n(1463),n(7519),n(1973),n(3061),n(4958),n(3611),n(953),n(4829),n(193),n(1379),n(9833),n(6405),n(9965),n(4289),n(2569),n(1053),n(4519),n(3294),n(5010),n(9976),n(5688),n(7464),n(4824),n(7932),n(3392),n(4840),n(2274),n(6872),n(5900),n(2004),n(9892),n(5806),n(8686),n(2500),n(1600),n(3620),n(7816),n(1202),n(6736),n(6892),n(5816),n(2616),n(8008),n(6730),n(8033),n(7296),n(5539),n(9621),n(3063),n(7777),n(2380),n(4389),n(3642),n(9882),n(5967),n(3926),n(5393),n(110),n(3162),n(2617),n(7879),n(8548),n(701),n(3995),n(6644),n(4012),n(8292),n(3221),n(6671),n(1455),n(7180),n(963),n(2226)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.