PageSourceSearch

https://avanta-m.ru/bitrix/cache/js/s1/aspro-premier/template_b8a5…5c652c2be83ca65fec55_v1.js?1781509544654568

js avanta-m.ru collected 2026-10-04 20:24:36 UTC 654,568 bytes, 10,031 lines download raw bytes

1
2; /* Start:"a:4:{s:4:"full";s:61:"/bitrix/templates/aspro-premier/js/observer.js?17745963267026";s:6:"source";s:46:"/bitrix/templates/aspro-premier/js/observer.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
3if(
4	typeof AMutationObserver === 'undefined' &&
5	typeof MutationObserver === 'function'
6){
7	(function(w, d){
8		"use strict";
9
10		/* ES6 class definition */
11		/*
12		class AMutationObserver extends MutationObserver{
13			constructor(callback){
14				super(function(mutationsList, observer){
15					if(
16						AMutationObserver.ignore ||
17						observer.paused
18					){
19						// ignore mutations without disconnect()
20						//console.log('ignore observer callback', observer.id);
21					}
22					else{
23						callback(mutationsList, observer);
24					}
25				});
26
27				this.paused = true;
28				this.id = Math.floor(Math.random() * Math.floor(1000));
29
30				// define parent script
31				try{
32					eval('@');
33				}
34				catch(e){
35					// define parent script
36					if(typeof e.stack === 'string'){
37						this.stack = e.stack.match(/[^\s]*:[\d]+:[\d]+[^\s]/g);
38						this.stack.splice(0, 1);
39						var script = this.stack[0];
40
41						if(script.indexOf('yandex.ru/metrika') !== -1){
42							this.id = 'ym';
43						}
44						else{
45							script = script.replace(/^(.*[/])?(.*\.js)(.*)$/ig, '$2');
46							this.id = script.replace(/(\.min)?\.js$/i, '');
47						}
48					}
49				}
50				finally{
51					//console.log('new observer', this.id);
52				}
53			}
54
55			observe(target, options){
56				this.target = target;
57				this.options = options;
58				this.paused = false;
59				if(typeof AMutationObserver.observers[this.id] === 'undefined'){
60					AMutationObserver.observers[this.id] = this;
61				}
62				super.observe(target, options);
63			}
64
65			disconnect(){
66				this.paused = true;
67				super.disconnect();
68			}
69
70			takeRecords(){
71				if(
72					AMutationObserver.ignore ||
73					this.paused
74				){
75					// ignore mutations without disconnect()
76					//console.log('ignore observer takeRecords', this.id);
77					return [];
78				}
79				else{
80					return super.takeRecords();
81				}
82			}
83
84			pause(){
85				this.paused = true;
86			}
87
88			resume(){
89				if(typeof this.options !== 'false'){
90					this.paused = false;
91				}
92			}
93		}
94		*/
95
96		/* ES5 class definition */
97		var _AMutationObserver = /*#__PURE__*/function (_MutationObserver) {
98			"use strict";
99
100			_inheritsLoose(_AMutationObserver, _MutationObserver);
101
102			function _AMutationObserver(callback) {
103				var _this;
104
105				_this = _MutationObserver.call(this, function (mutationsList, observer) {
106					if (_AMutationObserver.ignore || observer.paused) {// ignore mutations without disconnect()
107						//console.log('ignore observer callback', observer.id);
108					}
109					else {
110						callback(mutationsList, observer);
111					}
112				}) || this;
113
114				_this.paused = true;
115				_this.id = Math.floor(Math.random() * Math.floor(1000));
116
117				try {
118					eval('@');
119				}
120				catch (e) {
121					// define parent script
122					if(typeof e.stack === 'string'){
123						_this.stack = e.stack.match(/[^\s]*:[\d]+:[\d]+[^\s]/g);
124						_this.stack.splice(0, 1);
125						var script = _this.stack[0];
126
127						if (script.indexOf('yandex.ru/metrika') !== -1) {
128							_this.id = 'ym';
129						}
130						else {
131							script = script.replace(/^(.*[/])?(.*\.js)(.*)$/ig, '$2');
132							_this.id = script.replace(/(\.min)?\.js$/i, '');
133						}
134					}
135				}
136				finally {
137					//console.log('new observer', _this.id);
138				}
139
140				return _this;
141			}
142
143			var _proto = _AMutationObserver.prototype;
144
145			_proto.observe = function observe(target, options) {
146				this.target = target;
147				this.options = options;
148				this.paused = false;
149
150				if (typeof _AMutationObserver.observers[this.id] === 'undefined') {
151					_AMutationObserver.observers[this.id] = this;
152				}
153
154				_MutationObserver.prototype.observe.call(this, target, options);
155			};
156
157			_proto.disconnect = function disconnect() {
158				this.paused = true;
159
160				_MutationObserver.prototype.disconnect.call(this);
161			};
162
163			_proto.takeRecords = function takeRecords() {
164				if (_AMutationObserver.ignore || this.paused) {
165					// ignore mutations without disconnect()
166					//console.log('ignore observer takeRecords', this.id);
167					return [];
168				}
169				else {
170					return _MutationObserver.prototype.takeRecords.call(this);
171				}
172			};
173
174			_proto.pause = function pause() {
175				this.paused = true;
176			};
177
178			_proto.resume = function resume() {
179				if (typeof this.options !== 'false') {
180					this.paused = false;
181				}
182			};
183
184			return _AMutationObserver;
185		}( /*#__PURE__*/_wrapNativeSuper(MutationObserver));
186
187		_AMutationObserver.ignore = false;
188		_AMutationObserver.observers = [];
189		_AMutationObserver.parent = MutationObserver;
190		_AMutationObserver.toString = function(){
191			return 'function MutationObserver() { [native code] }';
192		}
193		MutationObserver = _AMutationObserver;
194
195		/* ES2015 Babel functions (loose) */
196		function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
197
198		function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); }
vendor: 21,552 bytes, lines 198-894
198 if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
199
200		function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
201
202		function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
203
204		function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
205
206		function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
207
208		function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
209	})(window, document);
210}
211/* End */
212;
213; /* Start:"a:4:{s:4:"full";s:68:"/bitrix/templates/aspro-premier/js/lite.bootstrap.js?177459632619575";s:6:"source";s:52:"/bitrix/templates/aspro-premier/js/lite.bootstrap.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
214+function ($) { "use strict";
215
216  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
217  // ============================================================
218
219  function transitionEnd() {
220    var el = document.createElement('bootstrap')
221
222    var transEndEventNames = {
223      'WebkitTransition' : 'webkitTransitionEnd'
224    , 'MozTransition'    : 'transitionend'
225    , 'OTransition'      : 'oTransitionEnd otransitionend'
226    , 'transition'       : 'transitionend'
227    }
228
229    for (var name in transEndEventNames) {
230      if (el.style[name] !== undefined) {
231        return { end: transEndEventNames[name] }
232      }
233    }
234  }
235
236  // http://blog.alexmaccaw.com/css-transitions
237  $.fn.emulateTransitionEnd = function (duration) {
238    var called = false, $el = this
239    $(this).one($.support.transition.end, function () { called = true })
240    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
241    setTimeout(callback, duration)
242    return this
243  }
244
245  $(function () {
246    $.support.transition = transitionEnd()
247  })
248
249}(window.jQuery);
250
251+function ($) { "use strict";
252
253  // TOOLTIP PUBLIC CLASS DEFINITION
254  // ===============================
255
256  var Tooltip = function (element, options) {
257    this.type       =
258    this.options    =
259    this.enabled    =
260    this.timeout    =
261    this.hoverState =
262    this.$element   = null
263
264    this.init('tooltip', element, options)
265  }
266
267  Tooltip.DEFAULTS = {
268    animation: true
269  , placement: 'top'
270  , selector: false
271  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
272  , trigger: 'hover focus'
273  , title: ''
274  , delay: 0
275  , html: false
276  , container: false
277  }
278
279  Tooltip.prototype.init = function (type, element, options) {
280    this.enabled  = true
281    this.type     = type
282    this.$element = $(element)
283    this.options  = this.getOptions(options)
284
285    var triggers = this.options.trigger.split(' ')
286
287    for (var i = triggers.length; i--;) {
288      var trigger = triggers[i]
289
290      if (trigger == 'click') {
291        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
292      } else if (trigger != 'manual') {
293        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focus'
294        var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
295
296        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
297        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
298      }
299    }
300
301    this.options.selector ?
302      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
303      this.fixTitle()
304  }
305
306  Tooltip.prototype.getDefaults = function () {
307    return Tooltip.DEFAULTS
308  }
309
310  Tooltip.prototype.getOptions = function (options) {
311    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
312
313    if (options.delay && typeof options.delay == 'number') {
314      options.delay = {
315        show: options.delay
316      , hide: options.delay
317      }
318    }
319
320    return options
321  }
322
323  Tooltip.prototype.getDelegateOptions = function () {
324    var options  = {}
325    var defaults = this.getDefaults()
326
327    this._options && $.each(this._options, function (key, value) {
328      if (defaults[key] != value) options[key] = value
329    })
330
331    return options
332  }
333
334  Tooltip.prototype.enter = function (obj) {
335    var self = obj instanceof this.constructor ?
336      obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
337
338    clearTimeout(self.timeout)
339
340    self.hoverState = 'in'
341
342    if (!self.options.delay || !self.options.delay.show) return self.show()
343
344    self.timeout = setTimeout(function () {
345      if (self.hoverState == 'in') self.show()
346    }, self.options.delay.show)
347  }
348
349  Tooltip.prototype.leave = function (obj) {
350    var self = obj instanceof this.constructor ?
351      obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
352
353    clearTimeout(self.timeout)
354
355    self.hoverState = 'out'
356
357    if (!self.options.delay || !self.options.delay.hide) return self.hide()
358
359    self.timeout = setTimeout(function () {
360      if (self.hoverState == 'out') self.hide()
361    }, self.options.delay.hide)
362  }
363
364  Tooltip.prototype.show = function () {
365    var e = $.Event('show.bs.'+ this.type)
366
367    if (this.hasContent() && this.enabled) {
368      this.$element.trigger(e)
369
370      if (e.isDefaultPrevented()) return
371
372      var $tip = this.tip()
373
374      this.setContent()
375
376      if (this.options.animation) $tip.addClass('fade')
377
378      var placement = typeof this.options.placement == 'function' ?
379        this.options.placement.call(this, $tip[0], this.$element[0]) :
380        this.options.placement
381
382      var autoToken = /\s?auto?\s?/i
383      var autoPlace = autoToken.test(placement)
384      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
385
386      $tip
387        .detach()
388        .css({ top: 0, left: 0, display: 'block' })
389        .addClass(placement)
390
391      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
392
393      var pos          = this.getPosition()
394      var actualWidth  = $tip[0].offsetWidth
395      var actualHeight = $tip[0].offsetHeight
396
397      if (autoPlace) {
398        var $parent = this.$element.parent()
399
400        var orgPlacement = placement
401        var docScroll    = document.documentElement.scrollTop || document.body.scrollTop
402        var parentWidth  = this.options.container == 'body' ? window.innerWidth  : $parent.outerWidth()
403        var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
404        var parentLeft   = this.options.container == 'body' ? 0 : $parent.offset().left
405
406        placement = placement == 'bottom' && pos.top   + pos.height  + actualHeight - docScroll > parentHeight  ? 'top'    :
407                    placement == 'top'    && pos.top   - docScroll   - actualHeight < 0                         ? 'bottom' :
408                    placement == 'right'  && pos.right + actualWidth > parentWidth                              ? 'left'   :
409                    placement == 'left'   && pos.left  - actualWidth < parentLeft                               ? 'right'  :
410                    placement
411
412        $tip
413          .removeClass(orgPlacement)
414          .addClass(placement)
415      }
416
417      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
418
419      this.applyPlacement(calculatedOffset, placement)
420      this.$element.trigger('shown.bs.' + this.type)
421    }
422  }
423
424  Tooltip.prototype.applyPlacement = function(offset, placement) {
425    var replace
426    var $tip   = this.tip()
427    var width  = $tip[0].offsetWidth
428    var height = $tip[0].offsetHeight
429
430    // manually read margins because getBoundingClientRect includes difference
431    var marginTop = parseInt($tip.css('margin-top'), 10)
432    var marginLeft = parseInt($tip.css('margin-left'), 10)
433
434    // we must check for NaN for ie 8/9
435    if (isNaN(marginTop))  marginTop  = 0
436    if (isNaN(marginLeft)) marginLeft = 0
437
438    offset.top  = offset.top  + marginTop
439    offset.left = offset.left + marginLeft
440
441    $tip
442      .offset(offset)
443      .addClass('in')
444
445    // check to see if placing tip in new offset caused the tip to resize itself
446    var actualWidth  = $tip[0].offsetWidth
447    var actualHeight = $tip[0].offsetHeight
448
449    if (placement == 'top' && actualHeight != height) {
450      replace = true
451      offset.top = offset.top + height - actualHeight
452    }
453
454    if (/bottom|top/.test(placement)) {
455      var delta = 0
456
457      if (offset.left < 0) {
458        delta       = offset.left * -2
459        offset.left = 0
460
461        $tip.offset(offset)
462
463        actualWidth  = $tip[0].offsetWidth
464        actualHeight = $tip[0].offsetHeight
465      }
466
467      this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
468    } else {
469      this.replaceArrow(actualHeight - height, actualHeight, 'top')
470    }
471
472    if (replace) $tip.offset(offset)
473  }
474
475  Tooltip.prototype.replaceArrow = function(delta, dimension, position) {
476    this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
477  }
478
479  Tooltip.prototype.setContent = function () {
480    var $tip  = this.tip()
481    var title = this.getTitle()
482
483    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
484    $tip.removeClass('fade in top bottom left right')
485  }
486
487  Tooltip.prototype.hide = function () {
488    var that = this
489    var $tip = this.tip()
490    var e    = $.Event('hide.bs.' + this.type)
491
492    function complete() {
493      if (that.hoverState != 'in') $tip.detach()
494    }
495
496    this.$element.trigger(e)
497
498    if (e.isDefaultPrevented()) return
499
500    $tip.removeClass('in')
501
502    $.support.transition && this.$tip.hasClass('fade') ?
503      $tip
504        .one($.support.transition.end, complete)
505        .emulateTransitionEnd(150) :
506      complete()
507
508    this.$element.trigger('hidden.bs.' + this.type)
509
510    return this
511  }
512
513  Tooltip.prototype.fixTitle = function () {
514    var $e = this.$element
515    if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
516      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
517    }
518  }
519
520  Tooltip.prototype.hasContent = function () {
521    return this.getTitle()
522  }
523
524  Tooltip.prototype.getPosition = function () {
525    var el = this.$element[0]
526    return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
527      width: el.offsetWidth
528    , height: el.offsetHeight
529    }, this.$element.offset())
530  }
531
532  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
533    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2  } :
534           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2  } :
535           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
536        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width   }
537  }
538
539  Tooltip.prototype.getTitle = function () {
540    var title
541    var $e = this.$element
542    var o  = this.options
543
544    title = $e.attr('data-original-title')
545      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
546
547    return title
548  }
549
550  Tooltip.prototype.tip = function () {
551    return this.$tip = this.$tip || $(this.options.template)
552  }
553
554  Tooltip.prototype.arrow = function () {
555    return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
556  }
557
558  Tooltip.prototype.validate = function () {
559    if (!this.$element[0].parentNode) {
560      this.hide()
561      this.$element = null
562      this.options  = null
563    }
564  }
565
566  Tooltip.prototype.enable = function () {
567    this.enabled = true
568  }
569
570  Tooltip.prototype.disable = function () {
571    this.enabled = false
572  }
573
574  Tooltip.prototype.toggleEnabled = function () {
575    this.enabled = !this.enabled
576  }
577
578  Tooltip.prototype.toggle = function (e) {
579    var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
580    self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
581  }
582
583  Tooltip.prototype.destroy = function () {
584    this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
585  }
586
587
588  // TOOLTIP PLUGIN DEFINITION
589  // =========================
590
591  var old = $.fn.tooltip
592
593  $.fn.tooltip = function (option) {
594    return this.each(function () {
595      var $this   = $(this)
596      var data    = $this.data('bs.tooltip')
597      var options = typeof option == 'object' && option
598
599      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
600      if (typeof option == 'string') data[option]()
601    })
602  }
603
604  $.fn.tooltip.Constructor = Tooltip
605
606
607  // TOOLTIP NO CONFLICT
608  // ===================
609
610  $.fn.tooltip.noConflict = function () {
611    $.fn.tooltip = old
612    return this
613  }
614
615}(window.jQuery);
616
617+function ($) { "use strict";
618
619  // COLLAPSE PUBLIC CLASS DEFINITION
620  // ================================
621
622  var Collapse = function (element, options) {
623    this.$element      = $(element)
624    this.options       = $.extend({}, Collapse.DEFAULTS, options)
625    this.transitioning = null
626
627    if (this.options.parent) this.$parent = $(this.options.parent)
628    if (this.options.toggle) this.toggle()
629  }
630
631  Collapse.DEFAULTS = {
632    toggle: true
633  }
634
635  Collapse.prototype.dimension = function () {
636    var hasWidth = this.$element.hasClass('width')
637    return hasWidth ? 'width' : 'height'
638  }
639
640  Collapse.prototype.show = function () {
641    if (this.transitioning || this.$element.hasClass('in')) return
642
643    var startEvent = $.Event('show.bs.collapse')
644    this.$element.trigger(startEvent)
645    if (startEvent.isDefaultPrevented()) return
646
647    var actives = this.$parent && this.$parent.find('> .panel > .in')
648
649    if (actives && actives.length) {
650      var hasData = actives.data('bs.collapse')
651      if (hasData && hasData.transitioning) return
652      actives.collapse('hide')
653      hasData || actives.data('bs.collapse', null)
654    }
655
656    var dimension = this.dimension()
657
658    this.$element
659      .removeClass('collapse')
660      .addClass('collapsing')
661      [dimension](0)
662
663    this.transitioning = 1
664
665    var complete = function () {
666      this.$element
667        .removeClass('collapsing')
668        .addClass('in')
669        [dimension]('auto')
670      this.transitioning = 0
671      this.$element.trigger('shown.bs.collapse')
672    }
673
674    if (!$.support.transition) return complete.call(this)
675
676    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
677
678    this.$element
679      .one($.support.transition.end, $.proxy(complete, this))
680      .emulateTransitionEnd(350)
681      [dimension](this.$element[0][scrollSize])
682  }
683
684  Collapse.prototype.hide = function () {
685    if (this.transitioning || !this.$element.hasClass('in')) return
686
687    var startEvent = $.Event('hide.bs.collapse')
688    this.$element.trigger(startEvent)
689    if (startEvent.isDefaultPrevented()) return
690
691    var dimension = this.dimension()
692
693    this.$element
694      [dimension](this.$element[dimension]())
695      [0].offsetHeight
696
697    this.$element
698      .addClass('collapsing')
699      .removeClass('collapse')
700      .removeClass('in')
701
702    this.transitioning = 1
703
704    var complete = function () {
705      this.transitioning = 0
706      this.$element
707        .trigger('hidden.bs.collapse')
708        .removeClass('collapsing')
709        .addClass('collapse')
710    }
711
712    if (!$.support.transition) return complete.call(this)
713
714    this.$element
715      [dimension](0)
716      .one($.support.transition.end, $.proxy(complete, this))
717      .emulateTransitionEnd(350)
718  }
719
720  Collapse.prototype.toggle = function () {
721    this[this.$element.hasClass('in') ? 'hide' : 'show']()
722  }
723
724
725  // COLLAPSE PLUGIN DEFINITION
726  // ==========================
727
728  var old = $.fn.collapse
729
730  $.fn.collapse = function (option) {
731    return this.each(function () {
732      var $this   = $(this)
733      var data    = $this.data('bs.collapse')
734      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
735
736      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
737      if (typeof option == 'string') data[option]()
738    })
739  }
740
741  $.fn.collapse.Constructor = Collapse
742
743
744  // COLLAPSE NO CONFLICT
745  // ====================
746
747  $.fn.collapse.noConflict = function () {
748    $.fn.collapse = old
749    return this
750  }
751
752
753  // COLLAPSE DATA-API
754  // =================
755
756  $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
757    var $this   = $(this), href
758    var target  = $this.attr('data-target')
759        || e.preventDefault()
760        || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
761    var $target = $(target)
762    var data    = $target.data('bs.collapse')
763    var option  = data ? 'toggle' : $this.data()
764    var parent  = $this.attr('data-parent')
765    var $parent = parent && $(parent)
766
767    if (!data || !data.transitioning) {
768      if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
769      $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
770    }
771
772    $target.collapse(option)
773  })
774
775}(window.jQuery);
776
777+function ($) { "use strict";
778
779  // TAB CLASS DEFINITION
780  // ====================
781
782  var Tab = function (element) {
783    this.element = $(element)
784  }
785
786  Tab.prototype.show = function () {
787    var $this    = this.element
788    var $ul      = $this.closest('ul:not(.dropdown-menu)')
789    var selector = $this.attr('data-target')
790
791    if (!selector) {
792      selector = $this.attr('href')
793      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
794    }
795
796    if ($this.parent('li').hasClass('active')) return
797
798    var previous = $ul.find('.active:last a')[0]
799    var e        = $.Event('show.bs.tab', {
800      relatedTarget: previous
801    })
802
803    $this.trigger(e)
804
805    if (e.isDefaultPrevented()) return
806
807    var $target = $(selector)
808
809    this.activate($this.parent('li'), $ul)
810    this.activate($target, $target.parent(), function () {
811      $this.trigger({
812        type: 'shown.bs.tab'
813      , relatedTarget: previous
814      })
815    })
816  }
817
818  Tab.prototype.activate = function (element, container, callback) {
819    var $active    = container.find('> .active')
820    var transition = callback
821      && $.support.transition
822      && $active.hasClass('fade')
823
824    function next() {
825      $active
826        .removeClass('active')
827        .find('> .dropdown-menu > .active')
828        .removeClass('active')
829
830      element.addClass('active')
831
832      if (transition) {
833        element[0].offsetWidth // reflow for transition
834        element.addClass('in')
835      } else {
836        element.removeClass('fade')
837      }
838
839      if (element.parent('.dropdown-menu')) {
840        element.closest('li.dropdown').addClass('active')
841      }
842
843      callback && callback()
844    }
845
846    transition ?
847      $active
848        .one($.support.transition.end, next)
849        .emulateTransitionEnd(150) :
850      next()
851
852    $active.removeClass('in')
853  }
854
855
856  // TAB PLUGIN DEFINITION
857  // =====================
858
859  var old = $.fn.tab
860
861  $.fn.tab = function ( option ) {
862    return this.each(function () {
863      var $this = $(this)
864      var data  = $this.data('bs.tab')
865
866      if (!data) $this.data('bs.tab', (data = new Tab(this)))
867      if (typeof option == 'string') data[option]()
868    })
869  }
870
871  $.fn.tab.Constructor = Tab
872
873
874  // TAB NO CONFLICT
875  // ===============
876
877  $.fn.tab.noConflict = function () {
878    $.fn.tab = old
879    return this
880  }
881
882
883  // TAB DATA-API
884  // ============
885
886  $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
887    e.preventDefault()
888    $(this).tab('show')
889  })
890
891}(window.jQuery);
892/* End */
893;
894; /* Start:"a:4:{s:4:"full";
894s:70:"/bitrix/templates/aspro-premier/vendor/jquery.cookie.js?17745963252426";s:6:"source";s:55:"/bitrix/templates/aspro-premier/vendor/jquery.cookie.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
895/*!
896 * jQuery Cookie Plugin v1.3.1
897 * https://github.com/carhartl/jquery-cookie
898 *
899 * Copyright 2013 Klaus Hartl
900 * Released under the MIT license
901 */
902(function (factory) {
903  if (typeof define === "function" && define.amd && define.amd.jQuery) {
904    // AMD. Register as anonymous module.
905    define(["jquery"], factory);
906  } else {
907    // Browser globals.
908    factory(jQuery);
909  }
910})(function ($) {
911  var pluses = /\+/g;
912
913  function raw(s) {
914    return s;
915  }
916
917  function decoded(s) {
918    return decodeURIComponent(s.replace(pluses, " "));
919  }
920
921  function converted(s) {
922    if (s.indexOf('"') === 0) {
923      // This is a quoted cookie as according to RFC2068, unescape
924      s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\");
925    }
926    try {
927      return config.json ? JSON.parse(s) : s;
928    } catch (er) {}
929  }
930
931  var config = ($.cookie = function (key, value, options) {
932    // write
933    if (value !== undefined) {
934      options = $.extend({}, config.defaults, options);
935
936      if (typeof options.expires === "number") {
937        var days = options.expires,
938          t = (options.expires = new Date());
939        t.setDate(t.getDate() + days);
940      }
941
942      value = config.json ? JSON.stringify(value) : String(value);
943
944      return (document.cookie = [
945        encodeURIComponent(key),
946        "=",
947        config.raw ? value : encodeURIComponent(value),
948        options.expires ? "; expires=" + options.expires.toUTCString() : "", // use expires attribute, max-age is not supported by IE
949        options.path ? "; path=" + options.path : "",
950        options.domain ? "; domain=" + options.domain : "",
951        options.secure ? "; secure" : "",
952      ].join(""));
953    }
954
955    // read
956    var decode = config.raw ? raw : decoded;
957    var cookies = document.cookie.split("; ");
958    var result = key ? undefined : {};
959    for (var i = 0, l = cookies.length; i < l; i++) {
960      var parts = cookies[i].split("=");
961      var name = decode(parts.shift());
962      var cookie = decode(parts.join("="));
963
964      if (key && key === name) {
965        result = converted(cookie);
966        break;
967      }
968
969      if (!key) {
970        result[name] = converted(cookie);
971      }
972    }
973
974    return result;
975  });
976
977  config.defaults = {};
978
979  $.removeCookie = function (key, options) {
980    if ($.cookie(key) !== undefined) {
981      $.cookie(key, "", $.extend(options, { expires: -1 }));
982      return true;
983    }
984    return false;
985  };
986});
987
988/* End */
989;
990; /* Start:"a:4:{s:4:"full";s:77:"/bitrix/templates/aspro-premier/vendor/jquery.validate.min.js?177459632522254";s:6:"source";
990s:61:"/bitrix/templates/aspro-premier/vendor/jquery.validate.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
991/*! jQuery Validation Plugin - v1.13.1 - 10/14/2014
992 * http://jqueryvalidation.org/
993 * Copyright (c) 2014 Jörn Zaefferer; Licensed MIT */
994!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.validateDelegate(":submit","click",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(b.target).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(b.target).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.submit(function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c;return a(this[0]).is("form")?b=this.validate().form():(b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b})),b},removeAttrs:function(b){var c={},d=this;return a.each(b.split(/\s/),function(a,b){c[b]=d.attr(b),d.removeAttr(b)}),c},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(a,b){(9!==b.which||""!==this.elementValue(a))&&(a.name in this.submitted||a===this.lastElement)&&this.element(a)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}}
994,setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this[0].form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!this.is(e.ignore)&&e[d].call(c,this[0],b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']","focusin focusout keyup",b).validateDelegate("select, option, [type='radio'], [type='checkbox']","click",b),this.settings.invalidHandler&&a(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue").removeAttr("aria-invalid")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled], [readonly]").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||
994!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?a("input[name='"+b.name+"']:checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a];return void 0},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customDataMessage(b,c),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\])/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.n
994ame],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);
994return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),/min|max/.test(c)&&(null===g||/number|range|text/.test(g))&&(d=Number(d)),d||0===d?e[c]=d:g===c&&"range"!==g&&(e[c]=!0);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b);for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),void 0!==d&&(e[c]=d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:a.trim(b).length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},date:function(a,b){/*return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())*/ /*customized!!!*/ var check = false,re=new RegExp((typeof(VALIDATE_DATE_MASK)!=='undefined'?VALIDATE_DATE_MASK:'^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}$')),adata,gg,mm,aaaa,xdata;if(re.test(a)){adata=a.split('.');if(adata.length===1){adata=a.split('-');if(adata.length===1){adata=a.split(' ');
994if(adata.length===1){adata=a.split('/');if(adata.length===1){adata=a.split(':');}}}}gg=parseInt(adata[0],10);mm=parseInt(adata[1],10);aaaa=parseInt(adata[2],10);xdata=new Date(aaaa,mm-1,gg,12,0,0,0);if((xdata.getUTCFullYear()===aaaa)&&(xdata.getUTCMonth()===mm-1)&&(xdata.getUTCDate()===gg)){check = true;}else{check = false;}}else{check = false;}return this.optional(b)||check;},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{url:d,mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}}),a.format=function(){throw"$.format has been deprecated. Please use $.validator.format instead."};var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a.extend(a.fn,{validateDelegate:function(b,c,d){return this.bind(c,function(c){var e=a(c.target);return e.is(b)?d.apply(e,arguments):void 0})}})});
995/* End */
996;
997; /* Start:"a:4:{s:4:"full";s:66:"/bitrix/templates/aspro-premier/vendor/js/ripple.js?17745963254702";s:6:"source";s:51:"/bitrix/templates/aspro-premier/vendor/js/ripple.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
998;(function($, document, Math){
999    $.ripple = function(selector, options) {
1000
1001        var self = this;
1002
1003        var _log = self.log = function() {
1004            if(self.defaults.debug && console && console.log) {
1005                console.log.apply(console, arguments);
1006            }
1007        };
1008
1009        self.selector = selector;
1010        self.defaults = {
1011            debug: false,
1012            on: 'mousedown',
1013
1014            opacity: 0.4,
1015            color: "auto",
1016            multi: false,
1017
1018            duration: 0.7,
1019            rate: function(pxPerSecond) {
1020                return pxPerSecond;
1021            },
1022
1023            easing: 'linear'
1024        };
1025
1026        self.defaults = $.extend({}, self.defaults, options);
1027
1028        var Trigger = function(e) {
1029
1030            var $this = $(this);
1031            var $ripple;
1032            var settings;
1033
1034            $this.addClass('has-ripple');
1035
1036            // This instances settings
1037            settings = $.extend({}, self.defaults, $this.data());
1038
1039            // Create the ripple element
1040            if ( settings.multi || (!settings.multi && $this.find(".ripple").length === 0) ) {
1041                $ripple = $("<span></span>").addClass("ripple");
1042                $ripple.appendTo($this);
1043
1044                _log('Create: Ripple');
1045
1046                // Set ripple size
1047                if (!$ripple.height() && !$ripple.width()) {
1048                    var size = Math.max($this.outerWidth(), $this.outerHeight());
1049                    $ripple.css({
1050                        height: size,
1051                        width: size
1052                    });
1053                    _log('Set: Ripple size');
1054                }
1055
1056                // Give the user the ability to change the rate of the animation
1057                // based on element width
1058                if(settings.rate && typeof settings.rate == "function") {
1059
1060                    // rate = pixels per second
1061                    var rate = Math.round( $ripple.width() / settings.duration );
1062
1063                    // new amount of pixels per second
1064                    var filteredRate = settings.rate(rate);
1065
1066                    // Determine the new duration for the animation
1067                    var newDuration = ( $ripple.width() / filteredRate);
1068
1069                    // Set the new duration if it has not changed
1070                    if(settings.duration.toFixed(2) !== newDuration.toFixed(2)) {
1071                        _log('Update: Ripple Duration', {
1072                            from: settings.duration,
1073                            to: newDuration
1074                        });
1075                        settings.duration = newDuration;
1076                    }
1077                }
1078
1079                // Set the color and opacity
1080                var color = (settings.color == "auto") ? $this.css('color') : settings.color;
1081                var css = {
1082                    animationDuration: (settings.duration).toString() + 's',
1083                    animationTimingFunction: settings.easing,
1084                    background: color,
1085                    opacity: settings.opacity
1086                };
1087
1088                _log('Set: Ripple CSS', css);
1089                $ripple.css(css);
1090            }
1091
1092            // Ensure we always have the ripple element
1093            if(!settings.multi) {
1094                _log('Set: Ripple Element');
1095                $ripple = $this.find(".ripple");
1096            }
1097
1098            // Kill animation
1099            _log('Destroy: Ripple Animation');
1100            $ripple.removeClass("ripple-animate");
1101
1102
1103            // Retrieve coordinates
1104            var x = e.pageX - $this.offset().left - $ripple.width() / 2;
1105            var y = e.pageY - $this.offset().top - $ripple.height() / 2;
1106
1107            /**
1108             * We want to delete the ripple elements if we allow multiple so we dont sacrifice any page
1109             * performance. We don't do this on single ripples because once it has rendered, we only
1110             * need to trigger paints thereafter.
1111             */
1112            if(settings.multi) {
1113                _log('Set: Ripple animationend event');
1114                $ripple.one('animationend webkitAnimationEnd oanimationend MSAnimationEnd', function() {
1115                    _log('Note: Ripple animation ended');
1116                    _log('Destroy: Ripple');
1117                    $(this).remove();
1118                });
1119            }
1120
1121            // Set position and animate
1122            _log('Set: Ripple location');
1123            _log('Set: Ripple animation');
1124            $ripple.css({
1125                top: y + 'px',
1126                left: x + 'px'
1127            }).addClass("ripple-animate");
1128        };
1129
1130        $(document).on(self.defaults.on, self.selector, Trigger);
1131    };
1132})(jQuery, document, Math);
1133
1134/* End */
1135;
1136; /* Start:"a:4:{s:4:"full";s:72:"/bitrix/templates/aspro-premier/js/detectmobilebrowser.js?17745963262203";s:6:"source";s:57:"/bitrix/templates/aspro-premier/js/detectmobilebrowser.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1137/**
1138 * jQuery.browser.mobile (http://detectmobilebrowser.com/)
1139 *
1140 * jQuery.browser.mobile will be true if the browser is a mobile device
1141 *
1142 **/
1143(function(a){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
1143sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);
1144/* End */
1145;
1146; /* Start:"a:4:{s:4:"full";s:63:"/bitrix/templates/aspro-premier/js/matchMedia.js?17745963261585";s:6:"source";s:48:"/bitrix/templates/aspro-premier/js/matchMedia.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1147/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
1148
1149window.matchMedia ||
1150  (window.matchMedia = (function () {
1151    "use strict";
1152
1153    // For browsers that support matchMedium api such as IE 9 and webkit
1154    var styleMedia = window.styleMedia || window.media;
1155
1156    // For those that don't support matchMedium
1157    if (!styleMedia) {
1158      var style = document.createElement("style"),
1159        script = document.getElementsByTagName("script")[0],
1160        info = null;
1161
1162      style.type = "text/css";
1163      style.id = "matchmediajs-test";
1164
1165      script.parentNode.insertBefore(style, script);
1166
1167      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
1168      info = ("getComputedStyle" in window && window.getComputedStyle(style, null)) || style.currentStyle;
1169
1170      styleMedia = {
1171        matchMedium: function (media) {
1172          var text = "@media " + media + "{ #matchmediajs-test { width: 1px; } }";
1173
1174          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
1175          if (style.styleSheet) {
1176            style.styleSheet.cssText = text;
1177          } else {
1178            style.textContent = text;
1179          }
1180
1181          // Test if media query is true or false
1182          return info.width === "1px";
1183        },
1184      };
1185    }
1186
1187    return function (media) {
1188      return {
1189        matches: styleMedia.matchMedium(media || "all"),
1190        media: media || "all",
1191      };
1192    };
1193  })());
1194
1195/* End */
1196;
1197; /* Start:"a:4:{s:4:"full";s:70:"/bitrix/templates/aspro-premier/js/jquery.actual.min.js?17745963261239";s:6:"source";s:55:"/bitrix/templates/aspro-premier/js/jquery.actual.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1198/*! Copyright 2012, Ben Lin (http://dreamerslab.com/)
1199 * Licensed under the MIT License (LICENSE.txt).
1200 *
1201 * Version: 1.0.19
1202 *
1203 * Requires: jQuery >= 1.2.3
1204 */
1205(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a);
1206}else{a(jQuery);}}(function(a){a.fn.addBack=a.fn.addBack||a.fn.andSelf;a.fn.extend({actual:function(b,l){if(!this[b]){throw'$.actual => The jQuery method "'+b+'" you called does not exist';
1207}var f={absolute:false,clone:false,includeMargin:false,display:"block"};var i=a.extend(f,l);var e=this.eq(0);var h,j;if(i.clone===true){h=function(){var m="position: absolute !important; top: -1000 !important; ";
1208e=e.clone().attr("style",m).appendTo("body");};j=function(){e.remove();};}else{var g=[];var d="";var c;h=function(){c=e.parents().addBack().filter(":hidden");
1209d+="visibility: hidden !important; display: "+i.display+" !important; ";if(i.absolute===true){d+="position: absolute !important; ";}c.each(function(){var m=a(this);
1210var n=m.attr("style");g.push(n);m.attr("style",n?n+";"+d:d);});};j=function(){c.each(function(m){var o=a(this);var n=g[m];if(n===undefined){o.removeAttr("style");
1211}else{o.attr("style",n);}});};}h();var k=/(outer)/.test(b)?e[b](i.includeMargin):e[b]();j();return k;}});}));
1212
1213/* End */
1214;
1215; /* Start:"a:4:{s:4:"full";s:70:"/bitrix/templates/aspro-premier/js/jquery.plugin.min.js?17745963263356";s:6:"source";s:55:"/bitrix/templates/aspro-premier/js/jquery.plugin.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1216/*! Simple JavaScript Inheritance
1217 * By John Resig http://ejohn.org/
1218 * MIT Licensed.
1219 */
1220!function(){"use strict";var a=!1;window.JQClass=function(){},JQClass.classes={},JQClass.extend=function b(c){function d(){!a&&this._init&&this._init.apply(this,arguments)}var e=this.prototype;a=!0;var f=new this;a=!1;for(var g in c)if("function"==typeof c[g]&&"function"==typeof e[g])f[g]=function(a,b){return function(){var c=this._super;this._super=function(b){return e[a].apply(this,b||[])};var d=b.apply(this,arguments);return this._super=c,d}}(g,c[g]);else if("object"==typeof c[g]&&"object"==typeof e[g]&&"defaultOptions"===g){var h,i=e[g],j=c[g],k={};for(h in i)k[h]=i[h];for(h in j)k[h]=j[h];f[g]=k}else f[g]=c[g];return d.prototype=f,d.prototype.constructor=d,d.extend=b,d}}
1220(),/*! Abstract base class for collection plugins v1.0.2.
1221	Written by Keith Wood (wood.keith{at}optusnet.com.au) December 2013.
1222	Licensed under the MIT license (http://keith-wood.name/licence.html). */
1223function($){"use strict";function camelCase(a){return a.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}JQClass.classes.JQPlugin=JQClass.extend({name:"plugin",defaultOptions:{},regionalOptions:{},deepMerge:!0,_getMarker:function(){return"is-"+this.name},_init:function(){$.extend(this.defaultOptions,this.regionalOptions&&this.regionalOptions[""]||{});var a=camelCase(this.name);$[a]=this,$.fn[a]=function(b){var c=Array.prototype.slice.call(arguments,1),d=this,e=this;return this.each(function(){if("string"==typeof b){if("_"===b[0]||!$[a][b])throw"Unknown method: "+b;var f=$[a][b].apply($[a],[this].concat(c));if(f!==d&&void 0!==f)return e=f,!1}else $[a]._attach(this,b)}),e}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_attach:function(a,b){if(a=$(a),!a.hasClass(this._getMarker())){a.addClass(this._getMarker()),b=$.extend(this.deepMerge,{},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c),this._postAttach(a,c),this.option(a,b)}},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(elem){try{var data=elem.data(this.name.toLowerCase())||"";data=data.replace(/(\\?)'/g,function(a,b){return b?"'":'"'}).replace(/([a-zA-Z0-9]+):/g,function(a,b,c){var d=data.substring(0,c).match(/"/g);return d&&d.length%2!==0?b+":":'"'+b+'":'}).replace(/\\:/g,":"),data=$.parseJSON("{"+data+"}");for(var key in data)if(data.hasOwnProperty(key)){var value=data[key];"string"==typeof value&&value.match(/^new Date\(([-0-9,\s]*)\)$/)&&(data[key]=eval(value))}return data}catch(a){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name),e=b||{};return!b||"string"==typeof b&&"undefined"==typeof c?(e=(d||{}).options,e&&b?e[b]:e):void(a.hasClass(this._getMarker())&&("string"==typeof b&&(e={},e[b]=c),this._optionsChanged(a,d,e),$.extend(d.options,e)))},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a),a.hasClass(this._getMarker())&&(this._preDestroy(a,this._getInst(a)),a.removeData(this.name).removeClass(this._getMarker()))},_preDestroy:function(a,b){}}),$.JQPlugin={createPlugin:function(a,b){"object"==typeof a&&(b=a,a="JQPlugin"),a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b),new JQClass.classes[c]}}}(jQuery);
1224/* End */
1225;
1226; /* Start:"a:4:{s:4:"full";
1226s:61:"/bitrix/templates/aspro-premier/js/jqModal.js?177459632611182";s:6:"source";s:45:"/bitrix/templates/aspro-premier/js/jqModal.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1227/*
1228 * jqModal - Minimalist Modaling with jQuery
1229 *
1230 * Copyright (c) 2007-2014 Brice Burgess @iceburg_net
1231 * Dual licensed under the MIT and GPL licenses:
1232 *   http://www.opensource.org/licenses/mit-license.php
1233 *   http://www.gnu.org/licenses/gpl.html
1234 *
1235 * $Version: 1.0.2 (2014.04.10 +r19)
1236 * Requires: jQuery 1.2.3+
1237 */
1238
1239(function($) {
1240
1241	/**
1242	 * Initialize a set of elements as "modals". Modals typically are popup dialogs,
1243	 * notices, modal windows, &c.
1244	 *
1245	 * @name jqm
1246	 * @param options user defined options, augments defaults.
1247	 * @type jQuery
1248	 * @cat Plugins/jqModal
1249	 */
1250
1251	$.fn.jqm=function(options){
1252
1253		var o = $.extend({}, $.jqm.params, options);
1254
1255		return this.each(function(){
1256			var e = $(this),
1257				jqm = $(this).data('jqm');
1258
1259			if(!jqm) jqm = {ID: I++};
1260
1261			// add/extend options to modal and mark as initialized
1262			e.data('jqm',$.extend(o,jqm)).addClass('jqm-init');
1263
1264			// ... Attach events to trigger showing of this modal
1265			o.trigger&&$(this).jqmAddTrigger(o.trigger);
1266		});
1267	};
1268
1269
1270	/**
1271	 * Matching modals will have their jqmShow() method fired by attaching a
1272	 *   onClick event to elements matching `trigger`.
1273	 *
1274	 * @name jqmAddTrigger
1275	 * @param trigger a selector String, jQuery collection of elements, or a DOM element.
1276	 */
1277	$.fn.jqmAddTrigger=function(trigger){
1278		return this.each(function(){
1279			if(!addTrigger($(this), 'jqmShow', trigger))
1280				err("jqmAddTrigger must be called on initialized modals")
1281		});
1282	};
1283
1284
1285	/**
1286	 * Matching modals will have their jqmHide() method fired by attaching an
1287	 *   onClick event to elements matching `trigger`.
1288	 *
1289	 * @name jqmAddClose
1290	 * @param trigger a selector String, jQuery collection of elements, or a DOM element.
1291	 */
1292	$.fn.jqmAddClose=function(trigger){
1293		return this.each(function(){
1294			if(!addTrigger($(this), 'jqmHide', trigger))
1295				err("jqmAddClose must be called on initialized modals")
1296		});
1297	};
1298
1299
1300	/**
1301	 * Open matching modals (if not shown)
1302	 */
1303	$.fn.jqmShow=function(trigger){
1304		return this.each(function(){ !this._jqmShown&&show($(this), trigger); });
1305	};
1306
1307	/**
1308	 * Close matching modals
1309	 */
1310	$.fn.jqmHide=function(trigger){
1311		return this.each(function(){ this._jqmShown&&hide($(this), trigger); });
1312	};
1313
1314
1315	// utility functions
1316
1317	var
1318		err = function(msg){
1319			if(window.console && window.console.error) window.console.error(msg);
1320
1321
1322	}, show = function(e, t){
1323		/**
1324		 * e = modal element (as jQuery object)
1325		 * t = triggering element
1326		 *
1327		 * o = options
1328		 * z = z-index of modal
1329		 * v = overlay element (as jQuery object)
1330		 * h = hash (for jqModal <= r15 compatibility)
1331		 */
1332
1333		var o = e.data('jqm'),
1334			t = t || window.event,
1335			z = (parseInt(e.css('z-index')));
1336
1337			if(o.noOverlay === undefined || (o.noOverlay !== undefined && !o.noOverlay) ) {
1338				if( isNaN(z) ) {
1339					if( window['lastJqmZindex'] ) {
1340						window['lastJqmZindex'] = z = window['lastJqmZindex'] + 2;
1341					} else {
1342						z = 3000;
1343					}
1344				}
1345				window['lastJqmZindex'] = z;
1346				var	v = $('<div></div>').addClass(o.overlayClass).css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:o.overlay/100});
1347				e.css('z-index',z);
1348			} else {
1349				var	v = $('');
1350				e.css('z-index',2999);
1351			}
1352		
1353			// maintain legacy "hash" construct
1354			var h = {w: e, c: o, o: v, t: t};
1355
1356
1357		if(o.ajax){
1358			var target = o.target || e,
1359				url = o.ajax;
1360
1361			target = (typeof target == 'string') ? $(target,e) : $(target);
1362			if(url.substr(0,1) == '@') url = $(t).attr(url.substring(1));
1363
1364			 // Load the Ajax Content (and once loaded);
1365			   // Fire the onLoad callback (if exists),
1366			   // Attach closing events to elements inside the modal that match the closingClass,
1367			   // and Execute the jqModal default Open Callback
1368			target.html(o.ajaxText).load(url,function(){
1369				o.onLoad && o.onLoad.call(this,h);
1370				open(h);
1371			});
1372		}
1373		else { open(h); }
1374
1375	}, hide = function(e, t){
1376		/**
1377		 * e = modal element (as jQuery object)
1378		 * t = triggering element
1379		 *
1380		 * o = options
1381		 * h = hash (for jqModal <= r15 compatibility)
1382		 */
1383
1384		var o = e.data('jqm'),
1385			t = t || window.event,
1386
1387		// maintain legacy "hash" construct
1388		h = {w: e, c: o, o: e.data('jqmv'), t: t};
1389
1390		close(h);
1391
1392	}, onShow = function(hash){
1393		// onShow callback. Responsible for showing a modal and overlay.
1394		//  return false to stop opening modal.
1395
1396		// hash object;
1397	    //  w: (jQuery object) The modal element
1398	    //  c: (object) The modal's options object
1399	    //  o: (jQuery object) The overlay element
1400	    //  t: (DOM object) The triggering element
1401
1402		// display the overlay (prepend to body) if not disabled
1403
1404		// prevent double click
1405		if( hash.w[0]._jqmShown )
1406			return false;
1407		
1408		if(hash.c.overlay > 0)
1409			hash.o.prependTo('#popup_iframe_wrapper');
1410
1411		// make modal visible
1412		hash.w.show();
1413
1414		// call focusFunc (attempts to focus on first input in modal)
1415		$.jqm.focusFunc(hash.w);
1416
1417		return true;
1418
1419
1420	}, onHide = function(hash){
1421		// onHide callback. Responsible for hiding a modal and overlay.
1422		//  return false to stop closing modal.
1423
1424		// hash object;
1425	    //  w: (jQuery object) The modal element
1426	    //  c: (object) The modal's options object
1427	    //  o: (jQuery object) The overlay element
1428	    //  t: (DOM object) The triggering element
1429
1430		// hide modal and if overlay, remove overlay.
1431		hash.w.hide() && hash.o && hash.o.remove();
1432
1433		return true;
1434
1435
1436	},  addTrigger = function(e, key, trigger){
1437		// addTrigger: Adds a jqmShow or jqmHide (key) for a modal (e)
1438		//  all elements that match trigger string (trigger)\
1439
1440		// return false if e is not an initialized modal element
1441		if(!e.data('jqm')) return false;
1442
1443		return $(trigger).each(function(){
1444			// register modal to trigger elements
1445			this[key] = this[key] || [];
1446			this[key].push(e);
1447
1448		}).click(function(){
1449
1450			var trigger = this;
1451
1452			// foreadh modal registered to this trigger, call jqmShow ||
1453			//   jqmHide (key) on modal passing trigger element (e)
1454			$.each(this[key], function(i, e){ e[key](trigger); });
1455
1456			// stop trigger click event from bubbling
1457			return false;
1458		});
1459
1460
1461	},  open = function(h){
1462		// open: executes the onOpen callback + performs common tasks if successful
1463
1464		// transform legacy hash into new var shortcuts
1465		 var e = h.w,
1466		 	v = h.o,
1467		 	o = h.c;
1468
1469		// execute onShow callback
1470		if(o.onShow(h) !== false){
1471			// mark modal as shown
1472			e[0]._jqmShown = true;
1473
1474			// if modal dialog
1475			//
1476			// Bind the Keep Focus Function [F] if no other Modals are open (!A[0]) +
1477			// Add this modal to the opened modals stack (A) for nested modal support
1478			//
1479			// else, close dialog when overlay is clicked
1480			if(o.modal){ !A[0]&&F('bind'); A.push(e); }
1481            else e.jqmAddClose(v);
1482
1483			//  Attach closing events to elements inside the modal that match the closingClass
1484			o.closeClass&&e.jqmAddClose($('.' + o.closeClass,e));
1485
1486			// IF toTop is true and overlay exists;
1487			//  Add placeholder element <span id="jqmP#ID_of_modal"/> before modal to
1488			//  remember it's position in the DOM and move it to a child of the body tag (after overlay)
1489			o.toTop&&v&&e.before('<span id="jqmP'+o.ID+'"></span>').insertAfter(v);
1490
1491			// remember overlay (for closing function)
1492			e.data('jqmv',v);
1493		}
1494
1495
1496	},  close = function(h){
1497		// close: executes the onHide callback + performs common tasks if successful
1498
1499		// transform legacy hash into new var shortcuts
1500		 var e = h.w,
1501		 	v = h.o,
1502		 	o = h.c;
1503
1504		// execute onShow callback
1505		if(o.onHide(h) !== false){
1506			// mark modal as !shown
1507			e[0]._jqmShown = false;
1508
1509			 // If modal, remove from modal stack.
1510			 // If no modals in modal stack, unbind the Keep Focus Function
1511			 if(o.modal){A.pop();!A[0]&&F('unbind');}
1512
1513			 // IF toTop was passed and an overlay exists;
1514			 //  Move modal back to its "remembered" position.
1515			 o.toTop&&v&&$('#jqmP'+o.ID).after(e).remove();
1516		}
1517
1518
1519	},  F = function(t){
1520		// F: The Keep Focus Function (for modal: true dialos)
1521		// Binds or Unbinds (t) the Focus Examination Function (X) to keypresses and clicks
1522
1523		$(document)[t]("keypress keydown mousedown",X);
1524
1525
1526	}, X = function(e){
1527		// X: The Focus Examination Function (for modal: true dialogs)
1528
1529		var modal = $(e.target).data('jqm') || $(e.target).parents('.jqm-init:first').data('jqm'),
1530			activeModal = A[A.length-1].data('jqm');
1531
1532		// allow bubbling if event target is within active modal dialog
1533		if(modal && modal.ID == activeModal.ID) return true;
1534
1535		// else, trigger focusFunc (focus on first input element and halt bubbling)
1536		return $.jqm.focusFunc(activeModal);
1537	},
1538
1539	I = 0,   // modal ID increment (for nested modals)
1540	A = [];  // array of active modals (used to lock interactivity to appropriate modal)
1541
1542
1543	// $.jqm, overridable defaults
1544	$.jqm = {
1545		/**
1546		 *  default options
1547		 *
1548		 * (Integer)   overlay      - [0-100] Translucency percentage (opacity) of the body covering overlay. Set to 0 for NO overlay, and up to 100 for a 100% opaque overlay.
1549		 * (String)    overlayClass - Applied to the body covering overlay. Useful for controlling overlay look (tint, background-image, &c) with CSS.
1550		 * (String)    closeClass   - Children of the modal element matching `closeClass` will fire the onHide event (to close the modal).
1551		 * (Mixed)     trigger      - Matching elements will fire the onShow event (to display the modal). Trigger can be a selector String, a jQuery collection of elements, a DOM element, or a False boolean.
1552		 * (String)    ajax         - URL to load content from via an AJAX request. False to disable ajax. If ajax begins with a "@", the URL is extracted from the attribute of the triggering element (e.g. use '@data-url' for; <a href="#" class="jqModal" data-url="modal.html">...)
1553		 * (Mixed)     target       - Children of the modal element to load the aja
1553x response into. If false, modal content will be overwritten by ajax response. Useful for retaining modal design.
1554		 *                            Target may be a selector string, jQuery collection of elements, or a DOM element -- and MUST exist as a child of the modal element.
1555		 * (String)    ajaxText     - Text shown while waiting for ajax return. Replaces HTML content of `target` element.
1556		 * (Boolean)   modal        - If true, user interactivity will be locked to the modal window until closed.
1557		 * (Boolean)   toTop        - If true, modal will be posistioned as a first child of the BODY element when opened, and its DOM posistion restored when closed. Useful for overcoming z-Index container issues.
1558		 * (Function)  onShow       - User defined callback function fired when modal opened.
1559		 * (Function)  onHide       - User defined callback function fired when modal closed.
1560		 * (Function)  onLoad       - User defined callback function fired when ajax content loads.
1561		 */
1562		params: {
1563			overlay: 50,
1564			overlayClass: 'jqmOverlay',
1565			closeClass: 'jqmClose',
1566			trigger: '.jqModal',
1567			ajax: false,
1568			target: false,
1569			ajaxText: '',
1570			modal: false,
1571			toTop: false,
1572			onShow: onShow,
1573			onHide: onHide,
1574			onLoad: false
1575		},
1576
1577		// focusFunc is fired when a modal is shown, or when interaction occurs outside
1578		// a modal enabled dialog. Passed the modal element.
1579		focusFunc: function(e) { $(':input:visible:first',e).focus(); return false; }
1580	};
1581
1582})( jQuery );
1583/* End */
1584;
1585; /* Start:"a:4:{s:4:"full";s:64:"/bitrix/templates/aspro-premier/js/scrollTabs.js?177459632614271";s:6:"source";s:48:"/bitrix/templates/aspro-premier/js/scrollTabs.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1586InitTabsScroll = function () {
1587  $(".arrow_scroll:not(.arrow_scroll_init)").scrollTab();
1588};
1589
1590ResizeScrollTabs = function () {
1591  var scrollTabs = $(".arrow_scroll_init");
1592
1593  if (scrollTabs.length) {
1594    scrollTabs.each(function (i, scrollTab) {
1595      var _scrollTab = $(scrollTab);
1596      _scrollTab.data("scrollTabOptions").resize();
1597    });
1598  }
1599};
1600
1601$(document).ready(function () {
1602  InitTabsScroll();
1603});
1604
1605$(window).on("resize", function () {
1606  if (window.scrollTabsTimeout !== undefined) {
1607    clearTimeout(window.scrollTabsTimeout);
1608  }
1609
1610  window.scrollTabsTimeout = setTimeout(ResizeScrollTabs, 20);
1611});
1612
1613$.fn.scrollTab = function (options) {
1614  function _scrollTab(element, options) {
1615    var _scrollTab = $(element);
1616    var tabs_wrapper = _scrollTab.find(options.tabs_wrapper);
1617    if (tabs_wrapper === undefined || !tabs_wrapper.length) return false;
1618
1619    var tabs = tabs_wrapper.find(options.tab_item);
1620    if (!tabs.length) return false;
1621
1622    var arrow_svg =
1623      '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8">' +
1624      '<rect width="12" height="8" fill="#333" fill-opacity="0" />' +
1625      '<path d="M1015.69,507.693a0.986,0.986,0,0,1-1.4,0l-4.31-4.316-4.3,4.316a0.993,0.993,0,0,1-1.4-1.408l4.99-5.009a1.026,1.026,0,0,1,1.43,0l4.99,5.009A0.993,0.993,0,0,1,1015.69,507.693Z" fill="#333" transform="translate(-1004 -501)"/>' +
1626      "</svg>";
1627    var arrows_wrapper =
1628      '<div class="arrows_wrapper">' +
1629      '<div class="arrow arrow_left colored_theme_hover_text fill-dark-light-block">' +
1630      arrow_svg +
1631      "</div>" +
1632      '<div class="arrow arrow_right colored_theme_hover_text fill-dark-light-block">' +
1633      arrow_svg +
1634      "</div>" +
1635      "</div>";
1636
1637    var arrows = $(arrows_wrapper).insertAfter(tabs_wrapper);
1638    var arrow_left = arrows.find(".arrow_left");
1639    var arrow_right = arrows.find(".arrow_right");
1640
1641    var thisOoptions = $.extend({}, options);
1642
1643    if (thisOoptions.outer_wrapper) {
1644      thisOoptions.outer_wrapper_node = $(thisOoptions.outer_wrapper);
1645    }
1646
1647    thisOoptions.scrollTab = _scrollTab;
1648    thisOoptions.wrapper = tabs_wrapper;
1649    thisOoptions.tabs = tabs;
1650    thisOoptions.arrows = {};
1651    thisOoptions.arrows.wrapper = arrows;
1652    thisOoptions.arrows.arrow_left = arrow_left;
1653    thisOoptions.arrows.arrow_right = arrow_right;
1654
1655    if (
1656      thisOoptions.linked_tabs !== undefined &&
1657      thisOoptions.linked_tabs.length &&
1658      thisOoptions.linked_tabs.data("scrollTabOptions") !== undefined
1659    ) {
1660      thisOoptions.linked_options = thisOoptions.linked_tabs.data("scrollTabOptions");
1661      thisOoptions.linked_options.linked_options = thisOoptions;
1662    }
1663
1664    if (options.arrows_css) {
1665      thisOoptions.arrows.arrow_left.css(options.arrows_css);
1666      thisOoptions.arrows.arrow_right.css(options.arrows_css);
1667    }
1668
1669    thisOoptions.initTabs = function () {
1670      thisOoptions.wrapperBounds = thisOoptions.wrapper[0].getBoundingClientRect();
1671      thisOoptions.scrollBounds = thisOoptions.scrollTab[0].getBoundingClientRect();
1672      if (thisOoptions.offset) {
1673        thisOoptions.scrollBounds.width += thisOoptions.offset;
1674      }
1675      elements = $(thisOoptions.tabs);
1676      if (elements.length) {
1677        thisOoptions.firstTabBound = elements[0].getBoundingClientRect().left;
1678        thisOoptions.lastTabBound = elements[elements.length - 1].getBoundingClientRect().right;
1679      }
1680      thisOoptions.minTranslate =
1681        thisOoptions.wrapperBounds.right < thisOoptions.lastTabBound
1682          ? thisOoptions.wrapperBounds.right - thisOoptions.lastTabBound - 3
1683          : 0;
1684      thisOoptions.disabled =
1685        thisOoptions.lastTabBound - thisOoptions.wrapperBounds.left <= thisOoptions.scrollBounds.width;
1686    };
1687
1688    thisOoptions.wrapper.css({
1689      "white-space": "nowrap",
1690      "min-width": "auto",
1691      overflow: "visible",
1692      "z-index": "1",
1693    });
1694    thisOoptions.scrollTab.css({
1695      overflow: "hidden",
1696      position: "relative",
1697    });
1698
1699    thisOoptions.checkArrows = function (translate) {
1700      if (translate === undefined) {
1701        translate = thisOoptions.translate;
1702      }
1703      // if (!translate && thisOoptions.maxTranslate === thisOoptions.minTranslate) {
1704      //   return;
1705      // }
1706      if (thisOoptions.disabled) {
1707        thisOoptions.arrows.arrow_left.addClass("disabled");
1708        thisOoptions.arrows.arrow_right.addClass("disabled");
1709      } else {
1710        if (translate >= thisOoptions.maxTranslate) {
1711          thisOoptions.arrows.arrow_left.addClass("disabled");
1712          thisOoptions.arrows.arrow_right.removeClass("disabled");
1713        } else if (translate <= thisOoptions.minTranslate) {
1714          thisOoptions.arrows.arrow_right.addClass("disabled");
1715          thisOoptions.arrows.arrow_left.removeClass("disabled");
1716        } else {
1717          thisOoptions.arrows.arrow_left.removeClass("disabled");
1718          thisOoptions.arrows.arrow_right.removeClass("disabled");
1719        }
1720      }
1721    };
1722
1723    thisOoptions.directScroll = function (distance, delay, step) {
1724      if (delay === undefined) {
1725        delay = 5;
1726      }
1727      clearInterval(thisOoptions.timerMoveDirect);
1728      var newTranslate = thisOoptions.translate + distance;
1729
1730      if (newTranslate > thisOoptions.maxTranslate) {
1731        newTranslate = thisOoptions.maxTranslate;
1732      } else if (newTranslate < thisOoptions.minTranslate) {
1733        newTranslate = thisOoptions.minTranslate;
1734      }
1735      var tmpTranslate = thisOoptions.translate;
1736      thisOoptions.translate = newTranslate;
1737
1738      if (delay == 0) {
1739        thisOoptions.translate = newTranslate;
1740        thisOoptions.wrapper.css({
1741          transform: "translateX(" + thisOoptions.translate + "px)",
1742        });
1743      } else {
1744        if (step === undefined) {
1745          step = 1;
1746        }
1747        thisOoptions.timerMoveDirect = setInterval(function () {
1748          thisOoptions.wrapper.css({
1749            transform: "translateX(" + tmpTranslate + "px)",
1750          });
1751
1752          if ((distance < 0 && tmpTranslate <= newTranslate) || (distance > 0 && tmpTranslate >= newTranslate)) {
1753            thisOoptions.initTabs();
1754            clearInterval(thisOoptions.timerMoveDirect);
1755          }
1756
1757          if (tmpTranslate < newTranslate) {
1758            tmpTranslate += step;
1759          } else {
1760            tmpTranslate -= step;
1761          }
1762        }, delay);
1763      }
1764
1765      thisOoptions.checkArrows(newTranslate);
1766    };
1767
1768    thisOoptions.addArrowsEvents = function () {
1769      thisOoptions.arrows.arrow_right.on("mouseenter", function () {
1770        thisOoptions.arrows.arrow_left.removeClass("disabled");
1771        thisOoptions.timerMoveLeft = setInterval(function () {
1772          if (thisOoptions.translate < thisOoptions.minTranslate) {
1773            clearInterval(thisOoptions.timerMoveLeft);
1774            thisOoptions.arrows.arrow_right.addClass("disabled");
1775          } else {
1776            thisOoptions.translate -= thisOoptions.translateSpeed;
1777            thisOoptions.wrapper.css({
1778              transform: "translateX(" + thisOoptions.translate + "px)",
1779            });
1780          }
1781        }, 10);
1782      });
1783
1784      thisOoptions.arrows.arrow_right.on("mouseleave", function () {
1785        clearInterval(thisOoptions.timerMoveLeft);
1786      });
1787
1788      thisOoptions.arrows.arrow_right.on("click", function () {
1789        thisOoptions.directScroll(-thisOoptions.directTranslate);
1790        thisOoptions.arrows.arrow_left.removeClass("disabled");
1791      });
1792
1793      thisOoptions.arrows.arrow_right.on("touchend", function () {
1794        setTimeout(function () {
1795          clearInterval(thisOoptions.timerMoveLeft);
1796        }, 1);
1797      });
1798
1799      thisOoptions.arrows.arrow_left.on("mouseenter", function () {
1800        thisOoptions.arrows.arrow_right.removeClass("disabled");
1801        thisOoptions.timerMoveRight = setInterval(function () {
1802          if (thisOoptions.translate >= thisOoptions.maxTranslate) {
1803            clearInterval(thisOoptions.timerMoveRight);
1804            thisOoptions.arrows.arrow_left.addClass("disabled");
1805          } else {
1806            thisOoptions.translate += thisOoptions.translateSpeed;
1807            thisOoptions.wrapper.css({
1808              transform: "translateX(" + thisOoptions.translate + "px)",
1809            });
1810          }
1811        }, 10);
1812      });
1813
1814      thisOoptions.arrows.arrow_left.on("mouseleave", function () {
1815        clearInterval(thisOoptions.timerMoveRight);
1816      });
1817
1818      thisOoptions.arrows.arrow_left.on("click", function () {
1819        thisOoptions.directScroll(thisOoptions.directTranslate);
1820        thisOoptions.arrows.arrow_right.removeClass("disabled");
1821      });
1822
1823      thisOoptions.arrows.arrow_left.on("touchend", function () {
1824        setTimeout(function () {
1825          clearInterval(thisOoptions.timerMoveRight);
1826        }, 1);
1827      });
1828    };
1829
1830    thisOoptions.addTabsEvents = function () {
1831      thisOoptions.tabs.on("click", function () {
1832        var leftScrollBound = thisOoptions.scrollBounds.left;
1833        var rightScrollBound = thisOoptions.scrollBounds.right;
1834
1835        var tabBounds = this.getBoundingClientRect();
1836        var leftTabScrollBound = tabBounds.left - thisOoptions.arrows.arrow_width;
1837        var rightTabScrollBound = tabBounds.right + thisOoptions.arrows.arrow_width;
1838
1839        if (leftTabScrollBound < leftScrollBound) {
1840          thisOoptions.directScroll(leftScrollBound - leftTabScrollBound, 1, 2);
1841        } else if (rightTabScrollBound > rightScrollBound) {
1842          thisOoptions.directScroll(rightScrollBound - rightTabScrollBound, 1, 2);
1843        }
1844
1845        thisOoptions.activeTab = $(this);
1846
1847        if (thisOoptions.linked_options !== undefined) {
1848          var this_index = $(this).index();
1849          var linked_tab = $(thisOoptions.linked_options.tabs[this_index]);
1850          var linked_tabs = {
1851            leftScrollBound: thisOoptions.linked_options.scrollBounds.left,
1852            rightScrollBound: thisOoptions.linked_options.scrollBounds.right,
1853            tabBounds: linked_tab[0].getBoundingClientRect(),
1854          };
1855          if (linked_tabs.tabBounds.left < linked_tabs.leftScrollBound) {
1856            thisOoptions.linked_options.directScroll(
1857              linked_tabs.leftScrollBound -
1858                linked_tabs.tabBounds.left +
1859                thisOoptions.linked_options.arrows.arrow_width +
1860                1,
1861              0
1862            );
1863          } else if (linked_tabs.tabBounds.right > linked_tabs.rightScrollBound) {
1864            thisOoptions.linked_options.directScroll(
1865              linked_tabs.rightScrollBound -
1866                linked_tabs.tabBounds.right -
1867                thisOoptions.linked_options.arrows.arrow_width -
1868                1,
1869              0
1870            );
1871          }
1872
1873          thisOoptions.linked_options.activeTab = linked_tab;
1874        }
1875      });
1876    };
1877
1878    thisOoptions.addWrapperEvents = function () {
1879      thisOoptions.wrapper.on("touchstart", function (event) {
1880        thisOoptions.touch.posPrev = event.originalEvent.changedTouches[0].pageX;
1881        clearInterval(thisOoptions.timerMoveRight);
1882        clearInterval(thisOoptions.timerMoveLeft);
1883        clearInterval(thisOoptions.timerMoveDirect);
1884      });
1885
1886      thisOoptions.wrapper.on("touchmove", function (event) {
1887        thisOoptions.touch.posCurrent = event.originalEvent.changedTouches[0].pageX - thisOoptions.touch.posPrev;
1888        thisOoptions.directScroll(thisOoptions.touch.posCurrent, 0);
1889        thisOoptions.touch.posPrev = event.originalEvent.changedTouches[0].pageX;
1890      });
1891    };
1892
1893    thisOoptions.resize = function () {
1894      if (thisOoptions.onBeforeResize && typeof thisOoptions.onBeforeResize == "function") {
1895        thisOoptions.onBeforeResize(thisOoptions);
1896      }
1897
1898      if (thisOoptions.onResize && typeof thisOoptions.onResize == "function") {
1899        thisOoptions.onResize(thisOoptions);
1900      }
1901
1902      if (thisOoptions.translate < thisOoptions.minTranslate) {
1903        thisOoptions.directScroll(thisOoptions.minTranslate - thisOoptions.translate);
1904      } else if (thisOoptions.translate > thisOoptions.maxTranslate) {
1905        thisOoptions.directScroll(thisOoptions.maxTranslate - thisOoptions.translate);
1906      }
1907
1908      if (thisOoptions.activeTab !== undefined && thisOoptions.activeTab.length) {
1909        var activeTabBounds = thisOoptions.activeTab[0].getBoundingClientRect();
1910        if (activeTabBounds.left < thisOoptions.scrollBounds.left) {
1911          thisOoptions.directScroll(thisOoptions.scrollBounds.left - activeTabBounds.left);
1912        } else if (activeTabBounds.right > thisOoptions.scrollBounds.right) {
1913          thisOoptions.directScroll(thisOoptions.scrollBounds.right - activeTabBounds.right);
1914        }
1915      }
1916
1917      thisOoptions.initTabs();
1918      thisOoptions.checkArrows();
1919
1920      if (thisOoptions.onAfterResize && typeof thisOoptions.onAfterResize == "function") {
1921        thisOoptions.onAfterResize(thisOoptions);
1922      }
1923    };
1924
1925    _scrollTab.data("scrollTabOptions", thisOoptions);
1926    _scrollTab.data("scrollTabOptions").addArrowsEvents();
1927    _scrollTab.data("scrollTabOptions").addTabsEvents();
1928    _scrollTab.data("scrollTabOptions").addWrapperEvents();
1929    _scrollTab.addClass("arrow_scroll_init").addClass("swipeignore");
1930    if (arrow_right !== undefined && arrow_right.length) {
1931      thisOoptions.arrows.arrow_width = thisOoptions.arrows.arrow_right[0].getBoundingClientRect().width;
1932    }
1933    _scrollTab.data("scrollTabOptions").resize();
1934    delete thisOoptions;
1935  }
1936
1937  var options = $.extend(
1938    {
1939      translate: 1,
1940      translateSpeed: 2,
1941      directTranslate: 150,
1942      maxTranslate: 0,
1943      touch: {},
1944      arrows_css: false,
1945      tabs_wrapper: ".nav-tabs",
1946      tab_item: "> li",
1947      onResize: false,
1948      outer_wrapper: "",
1949      width_grow: 9,
1950      offset: 0,
1951    },
1952    options
1953  );
1954
1955  var el = $(this);
1956
1957  if (el.hasClass("arrow_scroll_init")) return false;
1958
1959  el.each(function (i, scrollTab) {
1960    _scrollTab(scrollTab, options);
1961  });
1962};
1963
1964/* End */
1965;
1966; /* Start:"a:4:{s:4:"full";s:75:"/bitrix/templates/aspro-premier/js/conditional/file-input.js?17745963261272";s:6:"source";s:60:"/bitrix/templates/aspro-premier/js/conditional/file-input.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
1967const fileInputInit = function (message, reviews = 'N') {
1968  BX.Aspro.Loader.addExt('uniform').then(() => {
1969    $("input[type=file]:not('.uniform-ignore')").uniform({
1970      fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"),
1971      fileDefaultHtml: message
1972    });
1973
1974    $(document).on("change", "input[type=file]", function () {
1975      if ($(this).val()) {
1976        $(this).closest(".uploader").addClass("files_add");
1977        $(this).valid();
1978      } else {
1979        $(this).closest(".uploader").removeClass("files_add");
1980      }
1981    });
1982
1983    BX.bindDelegate(document, 'click', {class: 'add_file'}, function() {
1984      if (!this.closest('.form')) return;
1985
1986      const index = $(this).closest(".input").find("input[type=file]").length + 1;
1987
1988      if (reviews === 'Y') {
1989        $('<input type="file" class="form-control inputfile" tabindex="3" id="comment_images_n' + index + '" name="comment_images[]" value=""  />').insertBefore(this);
1990      } else {
1991        $('<input type="file" id="POPUP_FILE' + index + '" name="FILE_n' + index + '"   class="inputfile" value="" />').inserBefore(this);
1992      }
1993
1994      $("input[type=file]:not('.uniform-ignore')").uniform({
1995        fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"),
1996        fileDefaultHtml: message,
1997      });
1998    });
1999  })
2000}
2001
2002/* End */
2003;
2004; /* Start:"a:4:{s:4:"full";s:70:"/bitrix/templates/aspro-premier/js/autoload/accordion.js?1774596326853";s:6:"source";s:56:"/bitrix/templates/aspro-premier/js/autoload/accordion.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2005BX.Aspro.Utils.readyDOM(() => {
2006  $(".panel-collapse").on("show.bs.collapse", function () {
2007    $(this).parent().toggleClass("opened");
2008
2009    const $accordionHead = $(this).prev();
2010    if ($accordionHead.hasClass("accordion-head") && !$accordionHead.hasClass("accordion-head--visual-only")) {
2011      $accordionHead.removeClass("accordion-close");
2012      $accordionHead.addClass("accordion-open");
2013    }
2014  });
2015
2016  $(".panel-collapse").on("hide.bs.collapse", function () {
2017    const $accordionHead = $(this).prev();
2018    if ($accordionHead.hasClass("accordion-head") && !$accordionHead.hasClass("accordion-head--visual-only")) {
2019      $accordionHead.removeClass("accordion-open");
2020      $accordionHead.addClass("accordion-close");
2021    }
2022  });
2023
2024  $(".panel-collapse").on("hidden.bs.collapse", function () {
2025    $(this).parent().toggleClass("opened");
2026  });
2027});
2028
2029/* End */
2030;
2031; /* Start:"a:4:{s:4:"full";s:70:"/bitrix/templates/aspro-premier/js/autoload/controls.js?17745963263659";s:6:"source";s:55:"/bitrix/templates/aspro-premier/js/autoload/controls.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2032$(document).ready(function () {
2033  // dropdown-select
2034  $(document).on("click", ".dropdown-select--with-dropdown .dropdown-select__title", function () {
2035    if (event.target.closest(".delete_filter")) return;
2036
2037    var _this = $(this),
2038      menu = _this.parent().find("> .dropdown-select__list");
2039    if (!_this.hasClass("clicked") && menu.length) {
2040      _this.addClass("clicked");
2041
2042      _this.toggleClass("opened", menu.is(":hidden"));
2043
2044      menu.stop().slideToggle(100, function () {
2045        _this.removeClass("clicked");
2046      });
2047    }
2048  });
2049
2050  // close select
2051  $("html, body").on("mousedown", function (e) {
2052    if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) {
2053      e.stopPropagation();
2054      $(".dropdown-select .dropdown-select__title.opened").each(function () {
2055        if ($(this).closest("#mobilefilter").length || $(this).hasClass("no-html-close")) return;
2056        var $select = $(this).closest(".dropdown-select");
2057        if ($select.data("visible_by_class") && $($select.data("visible_by_class")).is(":visible")) return;
2058
2059        if($(e.target).hasClass('no-html-close')) return;
2060
2061        if ($select.closest(".bx_filter").length) {
2062          if (!$select.closest(".bx_filter").is(":visible")) return;
2063        }
2064
2065        if (!$(e.target).closest($select).length) {
2066          $(this).click();
2067        }
2068      });
2069    }
2070  });
2071
2072  // hint
2073  $(document).on("click", ".hint", function (e) {
2074    let _this = $(this);
2075    let target = e.target;
2076
2077    e.stopImmediatePropagation();
2078    if (!(target.tagName === "A")) {
2079      e.preventDefault();
2080    }
2081
2082    if (!target.closest(".tooltip")) {
2083      _this.toggleClass("active").find(".tooltip").stop().slideToggle(200);
2084    }
2085  });
2086});
2087
2088// gallery switch
2089$(document).on("click", ".gallery-view_switch__icons:not(.active)", function () {
2090  var $this = $(this);
2091  var animationTime = 200;
2092  var bSmall = $this.hasClass("gallery-view_switch__icons--small");
2093  var $switchGallery = $this.closest(".gallery-view_switch");
2094  var $bigGallery = (
2095    $this.closest(".big_gallery").length ? $this.closest(".big_gallery") : $this.closest(".gallery")
2096  ).find(".gallery-big");
2097  var $bigGalleryCounter = $switchGallery.find(".gallery-view_switch__count-wrapper--big");
2098  var $smallGallery = (
2099    $this.closest(".big_gallery").length ? $this.closest(".big_gallery") : $this.closest(".gallery")
2100  ).find(".gallery-small");
2101  var $smallGalleryCounter = $switchGallery.find(".gallery-view_switch__count-wrapper--small");
2102  var $toHideGallery = bSmall ? $bigGallery : $smallGallery;
2103  var $toHideGalleryCounter = bSmall ? $bigGalleryCounter : $smallGalleryCounter;
2104  var $toShowGallery = bSmall ? $smallGallery : $bigGallery;
2105  var $toShowGalleryCounter = bSmall ? $smallGalleryCounter : $bigGalleryCounter;
2106
2107  $this.addClass("active");
2108  $this.siblings(".active").removeClass("active");
2109
2110  $toHideGalleryCounter.fadeOut(animationTime, function () {
2111    $toShowGalleryCounter.fadeIn(animationTime);
2112  });
2113
2114  $toHideGallery.fadeOut(animationTime, function () {
2115    $toShowGallery.fadeIn(animationTime);
2116  });
2117});
2118
2119// reload captcha
2120$(document).on("click", ".refresh", function (e) {
2121  var captcha = $(this).parents(".captcha-row");
2122  e.preventDefault();
2123  $.ajax({
2124    url: arAsproOptions["SITE_DIR"] + "ajax/captcha.php",
2125  }).done(function (text) {
2126    captcha.find("input[name=captcha_sid],input[name=captcha_code]").val(text);
2127    captcha.find("img").attr("src", "/bitrix/tools/captcha.php?captcha_sid=" + text);
2128    captcha.find("input[name=captcha_word]").val("").removeClass("error");
2129    captcha.find(".captcha_input").removeClass("error").find(".error").remove();
2130  });
2131});
2132
2133/* End */
2134;
2135; /* Start:"a:4:{s:4:"full";s:69:"/bitrix/templates/aspro-premier/js/autoload/counter.js?17787654376516";s:6:"source";s:54:"/bitrix/templates/aspro-premier/js/autoload/counter.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2136$(document).on("click", ".counter__action--plus", function () {
2137  //for corporate basket
2138  if ($(this).closest(".counter--basket").length) return;
2139
2140  let $input = $(this).closest(".counter").find(".counter__count");
2141  let currentValue = $input.val();
2142
2143  let $buyBlock = $(this).closest(".buy_block");
2144  let $toCart = $buyBlock.find(".item-action .to_cart");
2145
2146  let isFloatRatio = $toCart.data("float_ratio");
2147  let ratio = $toCart.data("ratio");
2148  ratio = isFloatRatio ? parseFloat(ratio) : parseInt(ratio, 10);
2149  if (isFloatRatio) {
2150    ratio =
2151      Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor;
2152  }
2153
2154  let maxValue = parseFloat($toCart.data("max") ? $toCart.data("max") : $(this).data("max") ? $(this).data("max") : 0);
2155
2156  let newValue = isFloatRatio ? parseFloat(currentValue) : parseInt(currentValue, 10);
2157  newValue += ratio;
2158  if (isFloatRatio) {
2159    newValue =
2160      Math.round(newValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
2161      arAsproOptions.JS_ITEM_CLICK.precisionFactor;
2162  }
2163
2164  if (parseFloat(maxValue) > 0 && newValue > maxValue) {
2165    newValue = maxValue;
2166  }
2167
2168  $input.val(newValue);
2169  $input.change();
2170});
2171
2172$(document).on("click", ".counter__action--minus", function () {
2173  //for corporate basket
2174  if ($(this).closest(".counter--basket").length) return;
2175
2176  let $input = $(this).closest(".counter").find(".counter__count");
2177  let currentValue = $input.val();
2178
2179  let $buyBlock = $(this).closest(".buy_block");
2180  let $toCart = $buyBlock.find(".item-action .to_cart");
2181
2182  let isFloatRatio = $toCart.data("float_ratio");
2183  let ratio = $toCart.data("ratio");
2184  ratio = isFloatRatio ? parseFloat(ratio) : parseInt(ratio, 10);
2185  if (isFloatRatio) {
2186    ratio =
2187      Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor;
2188  }
2189  if (ratio <= 0) {
2190    ratio = 1;
2191  }
2192
2193  let minValue = parseFloat($toCart.data("min") ? $toCart.data("min") : $(this).data("min") ? $(this).data("min") : 0);
2194  if (minValue < ratio) {
2195    minValue = ratio;
2196  }
2197
2198  let newValue = isFloatRatio ? parseFloat(currentValue) : parseInt(currentValue, 10);
2199  newValue -= ratio;
2200  if (isFloatRatio) {
2201    newValue =
2202      Math.round(newValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
2203      arAsproOptions.JS_ITEM_CLICK.precisionFactor;
2204  }
2205
2206  if (parseFloat(minValue) > 0 && newValue < minValue) {
2207    // remove from basket
2208    newValue = 0;
2209  }
2210
2211  $input.val(newValue);
2212  $input.change();
2213});
2214
2215$(document).on("focus", ".counter__count", function (e) {
2216  $(this).addClass("focus");
2217});
2218
2219$(document).on("blur", ".counter__count", function (e) {
2220  $(this).removeClass("focus");
2221});
2222
2223let timerChangeCounterValue = false;
2224$(document).on("change", ".counter__count", function (e) {
2225  //for corporate basket
2226  if ($(this).closest(".counter--basket").length) return;
2227
2228  let $buyBlock = $(this).closest(".buy_block");
2229  let $toCart = $buyBlock.find(".item-action .to_cart");
2230  let itemAction = JItemAction.factory($toCart[0]);
2231
2232  let currentValue = $(this).val();
2233  // remove from cart
2234  if (parseFloat(currentValue) === 0) {
2235    itemAction.state = false;
2236    itemAction.resetQuantity();
2237
2238    BX.onCustomEvent("onCounterGoals", [
2239      {
2240        goal: itemAction.getStateGoalCode(false),
2241        params: {
2242          id: itemAction.node.getAttribute("data-id"),
2243        },
2244      },
2245    ]);
2246
2247    // remove notice
2248    if (typeof JNoticeSurface === "function") {
2249      JNoticeSurface.get().node.remove();
2250    }
2251
2252    return itemAction.updateState(true);
2253  }
2254
2255  let isFloatRatio = $toCart.data("float_ratio");
2256  let ratio = $toCart.data("ratio");
2257  ratio = isFloatRatio ? parseFloat(ratio) : parseInt(ratio, 10);
2258
2259  let diff = currentValue % ratio;
2260
2261  if (isFloatRatio) {
2262    ratio =
2263      Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor;
2264
2265    if (
2266      Math.round(diff * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor ==
2267      ratio
2268    ) {
2269      diff = 0;
2270    }
2271  }
2272
2273  if ($(this).hasClass("focus")) {
2274    intCount =
2275      Math.round(
2276        Math.round((currentValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / ratio) /
2277          arAsproOptions.JS_ITEM_CLICK.precisionFactor
2278      ) || 1;
2279    if (parseFloat(currentValue) !== 0) {
2280      currentValue = intCount <= 1 ? ratio : intCount * ratio;
2281    }
2282    currentValue =
2283      Math.round(currentValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
2284      arAsproOptions.JS_ITEM_CLICK.precisionFactor;
2285  }
2286
2287  let maxValue = $toCart.data("max")
2288    ? $toCart.data("max")
2289    : $(this).closest(".counter").find(".counter__action--plus").data("max");
2290  if (maxValue && parseFloat(maxValue) > 0) {
2291    if (currentValue > parseFloat(maxValue)) {
2292      currentValue = parseFloat(maxValue);
2293    }
2294  }
2295
2296  let minValue =
2297    typeof $toCart.data("min") !== "undefined"
2298      ? $toCart.data("min")
2299      : $(this).closest(".counter").find(".counter__action--minus").data("min");
2300  if (minValue && parseFloat(minValue) > 0) {
2301    if (currentValue < parseFloat(minValue)) {
2302      currentValue = parseFloat(minValue);
2303    }
2304  }
2305
2306  if (timerChangeCounterValue) {
2307    clearTimeout(timerChangeCounterValue);
2308  }
2309
2310  if (currentValue < ratio) {
2311    currentValue = ratio;
2312  } else if (!parseFloat(currentValue)) {
2313    currentValue = 1;
2314  }
2315
2316  $toCart.attr("data-quantity", currentValue);
2317
2318  const nodeActionButtonConfig = this.closest(".js-config-btns[data-btn-config]");
2319  if (nodeActionButtonConfig) {
2320    const nodeListActionButtonConfig = document.querySelectorAll(
2321      `[data-btn-config='${nodeActionButtonConfig.dataset.btnConfig}']`
2322    );
2323    if (nodeListActionButtonConfig.length) {
2324      nodeListActionButtonConfig.forEach((nodeActionButtonConfig) => {
2325        const nodeActionButtonCounter = nodeActionButtonConfig.querySelector(".counter__count");
2326        if (nodeActionButtonCounter !== this) {
2327          nodeActionButtonCounter.value = currentValue;
2328        }
2329      });
2330    }
2331  }
2332
2333  itemAction.abortPrevRequest();
2334  timerChangeCounterValue = setTimeout(function () {
2335    itemAction.updateState();
2336    timerChangeCounterValue = false;
2337  }, 700);
2338
2339  BX.onCustomEvent("onCounterProductAction", [
2340    {
2341      type: "change",
2342      params: {
2343        id: $(this),
2344        value: currentValue,
2345      },
2346    },
2347  ]);
2348
2349  if ($(this).closest(".complect-block").length && typeof setNewPriceComplect === "function") {
2350    setNewPriceComplect();
2351  }
2352});
2353
2354/* End */
2355;
2356; /* Start:"a:4:{s:4:"full";s:78:"/bitrix/templates/aspro-premier/js/autoload/dropdown-product.js?17745963261447";s:6:"source";s:63:"/bitrix/templates/aspro-premier/js/autoload/dropdown-product.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2357/*hover top products*/
2358$(document).on("mouseenter", ".header-favorite, .header-compare", function () {
2359  if (window.matchMedia("(min-width: 992px)").matches) {
2360    let _this = $(this);
2361    let hover_block = _this.find(".product-dropdown-hover-block");
2362    let type = _this.hasClass('header-compare') ? 'compare' : 'favorite';
2363    let obParams = {
2364      'type': type
2365    }
2366    if (!hover_block.hasClass("loaded")) {
2367      BX.Aspro.Utils.readyDOM(() => {
2368        BX.Aspro.Loader.add({
2369          ext: 'dropdown-products',
2370        })
2371      });
2372      BX.ajax.runAction('aspro:premier.DropdownProducts.show', {
2373        data: {
2374          params: obParams
2375        },
2376      }).then(
2377        response => {
2378          let dropdown = $(`.${type}-dropdown`);
2379          dropdown.addClass('loaded');
2380          dropdown.html(response.data.html);
2381        },
2382        response => {
2383          console.log('error');
2384        }
2385      );
2386    }
2387  }
2388});
2389
2390$(document).on("click", ".product-dropdown-hover-block .dropdown-product-action.remove", function () {
2391  let _this = $(this);
2392  let itemAction = JItemAction.factory(this);
2393  itemAction.state = false;
2394
2395  _this.closest(".dropdown-product__item").fadeOut(400, () => { 
2396    let parentWrap = _this.closest(".product-dropdown-hover-block");
2397    let visibleItems = parentWrap.find(".dropdown-product__item:visible");
2398    if (!visibleItems.length) { 
2399      parentWrap.html('');
2400    }
2401  });
2402
2403  itemAction.updateState();
2404});
2405/**/
2406/* End */
2407;
2408; /* Start:"a:4:{s:4:"full";s:76:"/bitrix/templates/aspro-premier/js/autoload/section-toggle.js?17745963261832";s:6:"source";
2408s:61:"/bitrix/templates/aspro-premier/js/autoload/section-toggle.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2409BX.Aspro.Utils.readyDOM(() => {
2410  const $sectionToggleLabel = $("section.toggle > label");
2411
2412  const previewParentClosedHeight = 25;
2413  let previewParentAnimateHeight = 0;
2414
2415  $sectionToggleLabel.prepend($("<i />").addClass("fa fa-plus"));
2416  $sectionToggleLabel.prepend($("<i />").addClass("fa fa-minus"));
2417  $("section.toggle.active > p").addClass("preview-active");
2418  $("section.toggle.active > div.toggle-content").slideDown(350, function () {});
2419
2420  $sectionToggleLabel.click(function (e) {
2421    const $parentSection = $(this).parent();
2422    const $parentWrapper = $(this).parents("div.toogle");
2423
2424    if (
2425      $parentWrapper.hasClass("toogle-accordion")
2426      && typeof e.originalEvent !== "undefined"
2427    ) {
2428      $parentWrapper.find("section.toggle.active > label").trigger("click");
2429    }
2430
2431    $parentSection.toggleClass("active");
2432
2433    // preview paragraph
2434    let $previewParent;
2435    if ($parentSection.find("> p").get(0)) {
2436      $previewParent = $parentSection.find("> p");
2437      $previewParent.css("height", "auto");
2438      $previewParent.css("height", $previewParent.css("height"));
2439
2440      previewParentAnimateHeight = $previewParent.css("height");
2441    }
2442
2443    // content
2444    const $toggleContent = $parentSection.find("> div.toggle-content");
2445    if ($parentSection.hasClass("active")) {
2446      $($previewParent).animate(
2447        {
2448          height: previewParentAnimateHeight,
2449        },
2450        350,
2451        function () {
2452          $(this).addClass("preview-active");
2453        }
2454      );
2455      $toggleContent.slideDown(350, function () {});
2456    } else {
2457      $($previewParent).animate(
2458        {
2459          height: previewParentClosedHeight,
2460        },
2461        350,
2462        function () {
2463          $(this).removeClass("preview-active");
2464        }
2465      );
2466      $toggleContent.slideUp(350, function () {});
2467    }
2468  });
2469});
2470
2471/* End */
2472;
2473; /* Start:"a:4:{s:4:"full";s:74:"/bitrix/templates/aspro-premier/js/autoload/tabs-history.js?17745963261664";s:6:"source";s:59:"/bitrix/templates/aspro-premier/js/autoload/tabs-history.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2474var newHash = location.hash;
2475if ("onhashchange" in window) {
2476  $(window).bind("hashchange", function () {
2477    var newHash = location.hash;
2478
2479    if (newHash) {
2480      if ("scrollRestoration" in history) {
2481        history.scrollRestoration = "manual";
2482      }
2483
2484      if ($('.tabs.tabs-history .nav li:not(.hidden) a[href="' + newHash + '"]').length) {
2485        $('.tabs.tabs-history .nav a[href="' + newHash + '"]').trigger("click");
2486
2487        var $block = $(newHash);
2488        if ($block.length) {
2489          if ($block.closest(".tab-pane").length) {
2490            var offset = -206;
2491            if (typeof arAsproOptions !== "undefined") {
2492              offset = window.matchMedia("(max-width:991px)").matches
2493                ? arAsproOptions.THEME.HEADER_MOBILE_FIXED !== "Y" ||
2494                  arAsproOptions.THEME.HEADER_MOBILE_SHOW !== "ALWAYS"
2495                  ? -187 + 62
2496                  : -187
2497                : arAsproOptions.THEME.TOP_MENU_FIXED !== "Y"
2498                ? -206 + 81
2499                : -206;
2500            }
2501
2502            $block.data("offset", offset);
2503          }
2504
2505          scrollToBlock(newHash);
2506        } else {
2507          if ($(".ordered-block .tabs").length) {
2508            var content_offset = $(".ordered-block .tabs").offset();
2509            $("html, body").animate({ scrollTop: content_offset.top - 90 }, 400);
2510          }
2511        }
2512      } else {
2513        scrollToBlock(newHash);
2514      }
2515    }
2516  });
2517}
2518
2519$(document).on("click", ".tabs.tabs-history a[data-toggle=tab]", function (e) {
2520  var $this = $(e.target);
2521
2522  if (typeof history !== "undefined" && $this.attr("href")) {
2523    history.replaceState(null, null, $this.attr("href"));
2524  }
2525});
2526
2527/* End */
2528;
2529; /* Start:"a:4:{s:4:"full";s:62:"/bitrix/templates/aspro-premier/js/general.js?1778765438133855";s:6:"source";s:45:"/bitrix/templates/aspro-premier/js/general.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
2530getRandomInt = function (min, max) {
2531  return Math.floor(Math.random() * (max - min)) + min;
2532};
2533
2534ShowOverlay = function () {
2535  $('<div class="jqmOverlay waiting"></div>').appendTo("body");
2536};
2537
2538function throttle(f, t) {
2539  let throttled, saveThis, saveArgs;
2540  const wrapper = function () {
2541    if (throttled) {
2542      saveThis = this;
2543      saveArgs = arguments;
2544      return;
2545    }
2546    throttled = true;
2547    f.apply(this, arguments);
2548    setTimeout(function () {
2549      throttled = false;
2550      if (saveArgs) {
2551        wrapper.apply(saveThis, saveArgs);
2552        saveThis = saveArgs = null;
2553      }
2554    }, t);
2555  };
2556  return wrapper;
2557}
2558
2559function debounce(f, t) {
2560  return function (args) {
2561    var previousCall = this.lastCall;
2562    this.lastCall = Date.now();
2563    if (previousCall && this.lastCall - previousCall <= t) {
2564      clearTimeout(this.lastCallTimer);
2565    }
2566    this.lastCallTimer = setTimeout(function () {
2567      f(args);
2568    }, t);
2569  };
2570}
2571
2572window.addEventListener("popstate", function (event) {
2573  if (typeof startActions == "function") {
2574    setTimeout(startActions, 500);
2575  }
2576});
2577
2578$(document).on("change", ".uploader input[type=file]", function () {
2579  if (!$(this).next().length || !$(this).next().hasClass("resetfile")) {
2580    $(
2581      '<span class="resetfile" title="' +
2582        BX.message("CLEAR_FILE") +
2583        '"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 1.00161L1 9M9 9L1 1" stroke="#999999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span>'
2584    ).insertAfter($(this));
2585  }
2586});
2587
2588$(document).on("click", ".uploader .resetfile", function () {
2589  var $uploader = $(this).closest(".uploader");
2590  $uploader.removeClass("error files_add");
2591  $uploader.find(".error").hide();
2592
2593  if ($uploader.next().hasClass("error")) {
2594    $uploader.next().hide();
2595  }
2596
2597  var $input = $uploader.find("input[type=file]");
2598  $input.val("");
2599  $.uniform.update($input);
2600
2601  $(this).remove();
2602});
2603
2604$(document).on("click", ".region-close", function () {
2605  $(".confirm_region").fadeOut();
2606});
2607
2608headerInit = function (targetBlock) {
2609  var header = $("header");
2610  if (header.length) {
2611    setTimeout(function () {
2612      CheckTopMenuDotted();
2613      CheckTopMenuDotted();
2614    }, 1);
2615  }
2616};
2617
2618typeofExt = function (item) {
2619  const _toString = Object.prototype.toString;
2620  return _toString.call(item).slice(8, -1).toLowerCase();
2621};
2622
2623HideOverlay = function () {
2624  $(".jqmOverlay").detach();
2625  CloseMobileSearch();
2626  CloseMobilePhone();
2627};
2628
2629if (!BX.Aspro.Utils.isFunction("pauseYmObserver")) {
2630  // pause ya metrika webvisor MutationObserver callback (DOM indexer)
2631  // use before insert html with some animation
2632  pauseYmObserver = function () {
2633    if (
2634      typeof MutationObserver === "function" &&
2635      typeof MutationObserver.observers === "object" &&
2636      typeof MutationObserver.observers.ym === "object"
2637    ) {
2638      if (typeof pauseYmObserver.cnt === "undefined") {
2639        pauseYmObserver.cnt = 0;
2640      }
2641
2642      ++pauseYmObserver.cnt;
2643
2644      if (!MutationObserver.observers.ym.paused) {
2645        MutationObserver.observers.ym.pause();
2646      }
2647    }
2648  };
2649}
2650
2651if (!BX.Aspro.Utils.isFunction("resumeYmObserver")) {
2652  // resume ya metrika webvisor MutationObserver callback
2653  // use when animation finished
2654  resumeYmObserver = function () {
2655    if (
2656      typeof MutationObserver === "function" &&
2657      typeof MutationObserver.observers === "object" &&
2658      typeof MutationObserver.observers.ym === "object"
2659    ) {
2660      if (typeof pauseYmObserver.cnt === "undefined") {
2661        pauseYmObserver.cnt = 1;
2662      }
2663
2664      pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0;
2665
2666      if (!pauseYmObserver.cnt && MutationObserver.observers.ym.paused) {
2667        MutationObserver.observers.ym.resume();
2668      }
2669    }
2670  };
2671}
2672
2673if (!BX.Aspro.Utils.isFunction("declOfNum")) {
2674  declOfNum = function (number, titles) {
2675    var cases = [2, 0, 1, 1, 1, 2];
2676    return number + " " + titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[Math.min(number % 10, 5)]];
2677  };
2678}
2679
2680if (!BX.Aspro.Utils.isFunction("togglePropBlock")) {
2681  togglePropBlock = function (className) {
2682    var all_props_block = className.closest(".bx_filter_parameters_box_container").find(".hidden_values");
2683    if (all_props_block.length && (className.hasClass("inner_text") || className.hasClass("expand_block"))) {
2684      if (all_props_block.is(":visible")) {
2685        className.text(BX.message("FILTER_EXPAND_VALUES"));
2686        all_props_block.hide();
2687      } else {
2688        className.text(BX.message("FILTER_HIDE_VALUES"));
2689        all_props_block.show();
2690      }
2691    }
2692  };
2693}
2694
2695$.fn.iAppear = function (callback, options) {
2696  if (typeof $.fn.iAppear.useObserver === "undefined") {
2697    $.fn.iAppear.useObserver = typeof window["IntersectionObserver"] === "function";
2698
2699    if (!$.fn.iAppear.useObserver && typeof $.fn.appear !== "function") {
2700      $.fn.iAppear.queue = [];
2701      BX.loadScript(arAsproOptions.SITE_TEMPLATE_PATH + "/vendor/js/jquery.appear.js", function () {
2702        if (typeof $.fn.iAppear.queue === "object") {
2703          $.fn.iAppear.queue.forEach(function (queueItem) {
2704            $(queueItem.items).iAppear(queueItem.callback, queueItem.options);
2705          });
2706        }
2707      });
2708
2709      return;
2710    }
2711  }
2712
2713  if ($.fn.iAppear.useObserver) {
2714    var options = $.extend(
2715      {
2716        root: null,
2717        rootMargin: "150px 0px 150px 0px",
2718        threshold: 0.0,
2719      },
2720      options
2721    );
2722
2723    $(this).each(function (i, appearBlock) {
2724      var observer = new IntersectionObserver(function (entries, observer) {
2725        entries.forEach(function (element) {
2726          if (element.intersectionRatio > 0 && !element.target.dataset.iAppeared) {
2727            element.target.dataset.iAppeared = true;
2728
2729            if (typeof callback === "function") {
2730              callback.call(element.target);
2731            }
2732          }
2733        });
2734      }, options);
2735
2736      observer.observe(appearBlock);
2737    });
2738  } else {
2739    if (typeof $.fn.appear !== "function") {
2740      if ($(this).length) {
2741        $.fn.iAppear.queue.push({
2742          items: this,
2743          callback: callback,
2744          options: options,
2745        });
2746      }
2747
2748      return;
2749    } else {
2750      if ($(this).length) {
2751        $(this).each(function (i, appearBlock) {
2752          $(appearBlock).appear(function () {
2753            if (typeof callback === "function") {
2754              callback.call(appearBlock);
2755            }
2756          }, options);
2757        });
2758      }
2759    }
2760  }
2761};
2762
2763$.fn.mCustomScrollbarDeferred = function (config) {
2764  $(this).addClass("scroll-init");
2765  $(this).data("plugin-options", config);
2766
2767  if ($(this).hasClass("destroyed")) {
2768    return;
2769  }
2770
2771  $(this).hover(
2772    function (e) {
2773      var $this = $(this);
2774      if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed")) {
2775        $this.data(
2776          "scrollTimer",
2777          setTimeout(function () {
2778            $this.mCustomScrollbar(config);
2779            $this.off("touchstart touchmove touchend mousewheel mouseenter mouseleave");
2780          }, 200)
2781        );
2782      }
2783    },
2784    function (e) {
2785      clearTimeout($(this).data("scrollTimer"));
2786    }
2787  );
2788
2789  $(this).on("touchstart touchmove", function (e) {
2790    var $this = $(this);
2791    if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed")) {
2792      $this.mCustomScrollbar(config);
2793    }
2794
2795    var $scrollContainer = $this.find(">.mCustomScrollBox>.mCSB_container");
2796    if ($scrollContainer.length) {
2797      var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
2798
2799      var newTouch = new Touch({
2800        identifier: 42,
2801        target: $scrollContainer[0],
2802        clientX: touch.clientX,
2803        clientY: touch.clientY,
2804        screenX: touch.screenX,
2805        screenY: touch.screenY,
2806        pageX: touch.pageX,
2807        pageY: touch.pageY,
2808        radiusX: 1,
2809        radiusY: 1,
2810      });
2811
2812      var newEvent = new TouchEvent(e.type, {
2813        cancelable: true,
2814        bubbles: false,
2815        composed: true,
2816        touches: [newTouch],
2817        targetTouches: [newTouch],
2818        changedTouches: [newTouch],
2819      });
2820
2821      $scrollContainer[0].dispatchEvent(newEvent);
2822    }
2823  });
2824
2825  $(this).on("touchend", function (e) {
2826    $(this).off("touchstart touchmove touchend mousewheel mouseenter mouseleave");
2827  });
2828
2829  if ($.event.special.mousewheel) {
2830    $(this).on("mousewheel", function (e) {
2831      var $this = $(this);
2832      if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed")) {
2833        $this.mCustomScrollbar(config);
2834        $this.off("touchstart touchmove touchend mousewheel mouseenter mouseleave");
2835      }
2836    });
2837  }
2838};
2839
2840InitScrollBar = function (el, initOptions) {
2841  var block;
2842  if (typeof el === "undefined") {
2843    block = $(".srollbar-custom:not(.mobile-scroll):not(.scroll-init)");
2844  } else {
2845    block = el.filter(":not(.scroll-init)");
2846  }
2847  var blockParent = $(".scrollbar-parent");
2848
2849  if (
2850    (block.length || blockParent.length) &&
2851    !isMobile
2852    // (!isMobile || window.matchMedia('(min-width:992px)').matches)
2853  ) {
2854    block.addClass("scroll-init");
2855
2856    var options,
2857      defaults = {
2858        mouseWheel: {
2859          scrollAmount: 150,
2860          preventDefault: true,
2861        },
2862      };
2863    if (block.length) {
2864      var config = $.extend({}, defaults, options, block.data("plugin-options"), initOptions);
2865    } else if (blockParent.length) {
2866      var config = $.extend({}, defaults, options, blockParent.data("plugin-options"), initOptions);
2867    }
2868
2869    config.callbacks = {
2870      onScroll: function () {
2871        if ($(this).find(".mCSB_buttonLeft").hasClass("disabled"))
2872          $(this).find(".mCSB_buttonLeft").removeClass("disabled");
2873        if ($(this).find(".mCSB_buttonRight").hasClass("disabled"))
2874          $(this).find(".mCSB_buttonRight").removeClass("disabled");
2875      },
2876      onTotalScrollBack: function () {
2877        $(this).find(".mCSB_buttonLeft").addClass("disabled");
2878      },
2879      onTotalScroll: function () {
2880        $(this).find(".mCSB_buttonRight").addClass("disabled");
2881      },
2882      onInit: function () {
2883        $(this).find(".mCSB_buttonLeft").addClass("disabled");
2884      },
2885    };
2886
2887    // if (block.length) {
2888    //   block.filter(":not(.scroll-deferred)").mCustomScrollbar(config);
2889    //   block.filter(".scroll-deferred").mCustomScrollbarDeferred(config);
2890    // }
2891
2892    // if (blockParent.length) {
2893    //   blockParent.find(".scroll-deferred").mCustomScrollbarDeferred(config);
2894    // }
2895  }
2896};
2897
2898/*InitCustomScrollBar = function (el) {
2899  var block;
2900  if (typeof el === "undefined") {
2901    block = $(".scrollbar:not(.mobile-scroll):not(.scroll-init)");
2902  } else {
2903    block = el.filter(":not(.scroll-init)");
2904  }
2905
2906  if (block.length) {
2907    block.addClass("scroll-init");
2908
2909    var options,
2910      defaults = {
2911        effect: "fadeIn",
2912        effectTime: 300,
2913        threshold: 0,
2914        // threshold: 30
2915      };
2916
2917    var config = $.extend({}, defaults, options, block.data("plugin-options"));
2918
2919    block.filter(":not(.scroll-deferred)").mCustomScrollbar(config);
2920    block.filter(".scroll-deferred").mCustomScrollbarDeferred(config);
2921  }
2922};
2923*/
2924/* slider gallery for fancybox */
2925const InitFancyboxThumbnailsGallery = function (instance) {
2926  const bUseThumbs = instance.group[0].opts.$orig[0].classList.contains("fancy-thumbs") && instance.group.length > 1;
2927
2928  if (bUseThumbs) instance.Thumbs.show();
2929  else return;
2930
2931  if (
2932    bUseThumbs &&
2933    $(".fancybox-thumbs") &&
2934    $(".fancybox-thumbs__list a").length > 1 &&
2935    !$(".fancybox-thumbs .swiper").length &&
2936    typeof initSwiperSlider === "function"
2937  ) {
2938    instance.Thumbs.$grid.find(".fancybox-thumbs__list a").each(function (i, el) {
2939      $(el).css("background-image", 'url("' + location.origin + encodeURI(instance.group[i].src) + '")');
2940    });
2941    const SLIDER_RESIZE_BREAKPOINT = 600;
2942    const $thumbsContainer = $(".fancybox-thumbs");
2943    const $swiperSlides = $(".fancybox-thumbs__list a");
2944    const $swiperWrapper = $(".fancybox-thumbs__list");
2945    const sliderDirection = window.innerWidth >= SLIDER_RESIZE_BREAKPOINT ? "vertical" : "horizontal";
2946
2947    const options = {
2948      centerInsufficientSlides: true,
2949      direction: sliderDirection,
2950      mousewheelControl: true,
2951      slidesPerView: "auto",
2952      spaceBetween: 16,
2953      watchSlidesProgress: true,
2954    };
2955
2956    options.navigation = {
2957      nextEl: ".fancybox-thumbs__wrapper .swiper-button-next",
2958      prevEl: ".fancybox-thumbs__wrapper .swiper-button-prev",
2959    };
2960
2961    $(".fancybox-container").addClass("detail-gallery-big--vertical with-slider");
2962    $(".fancybox-inner").addClass("with-slider");
2963    $thumbsContainer.addClass("detail-gallery-big-slider-thumbs with-slider");
2964    $thumbsContainer.wrapInner(
2965      `<div class='fancybox-thumbs__wrapper gallery-slider-thumb__container'>
2966        <div class='swiper slider-solution' data-plugin-options='` +
2967        JSON.stringify(options) +
2968        `'/>
2969      </div>`
2970    );
2971    const $swiperContainerWrapper = $(".fancybox-thumbs__wrapper");
2972
2973    $swiperContainerWrapper.append(
2974      `<div class='gallery-slider-thumb-button gallery-slider-thumb-button--next slider-nav slider-nav--no-auto-hide swiper-button-next'>
2975        <i class='svg inline stroke-dark-light'><svg width='16' height='16'><use xlink:href='` +
2976        arAsproOptions.SITE_TEMPLATE_PATH +
2977        `/images/svg/arrows.svg#down-lg'></use></svg></i>
2978      </div>`
2979    );
2980    $swiperContainerWrapper.prepend(
2981      `<div class='gallery-slider-thumb-button gallery-slider-thumb-button--prev slider-nav slider-nav--no-auto-hide swiper-button-prev'>
2982        <i class='svg inline stroke-dark-light'><svg width='16' height='16'><use xlink:href='` +
2983        arAsproOptions.SITE_TEMPLATE_PATH +
2984        `/images/svg/arrows.svg#up-lg'></use></svg></i>
2985      </div>`
2986    );
2987
2988    $swiperWrapper.addClass("fancybox-thumb__list--slider-wrapper swiper-wrapper gallery__thumb-wrapper");
2989    $swiperSlides.addClass("swiper-slide gallery__item gallery__item--thumb rounded-x pointer");
2990    $swiperSlides.each(function () {
2991      const background = $(this)
2992        .css("background-image")
2993        .replace(/url\(|\"|\'|\)/g, "");
2994      $(this).css("background-image", "");
2995      $(this).wrapInner("<img src='" + background + "' class='rounded-x' alt='' title='' />");
2996    });
2997
2998    initSwiperSlider();
2999
3000    const swiper = $thumbsContainer.find(".swiper").data("swiper");
3001    swiper.slideTo(instance.curPos, 10);
3002    swiper.on("resize", function () {
3003      if (window.innerWidth >= SLIDER_RESIZE_BREAKPOINT && options.direction === "horizontal") {
3004        options.direction = "vertical";
3005        swiper.changeDirection(options.direction, false);
3006        swiper.update();
3007      } else if (window.innerWidth < SLIDER_RESIZE_BREAKPOINT && options.direction === "vertical") {
3008        options.direction = "horizontal";
3009        swiper.changeDirection(options.direction, false);
3010        swiper.update();
3011      }
3012    });
3013  }
3014};
3015/** */
3016InitFancyBox = function () {
3017  if (typeof $.fn.fancybox !== "function") {
3018    return;
3019  }
3020
3021  if (!$(".fancy").length) {
3022    return;
3023  }
3024
3025  $(".fancy").fancybox({
3026    padding: [40, 40, 64, 40],
3027    openEffect: "fade",
3028    closeEffect: "fade",
3029    nextEffect: "fade",
3030    prevEffect: "fade",
3031    opacity: true,
3032    tpl: {
3033      closeBtn:
3034        '<span title="' +
3035        BX.message("FANCY_CLOSE") +
3036        '" class="fancybox-item fancybox-close inline svg"><svg class="svg svg-close" width="14" height="14" viewBox="0 0 14 14"><path data-name="Rounded Rectangle 568 copy 16" d="M1009.4,953l5.32,5.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1008,954.4l-5.32,5.315a0.991,0.991,0,0,1-1.4-1.4L1006.6,953l-5.32-5.315a0.991,0.991,0,0,1,1.4-1.4l5.32,5.315,5.31-5.315a1,1,0,0,1,1.41,0,0.987,0.987,0,0,1,0,1.4Z" transform="translate(-1001 -946)"></path></svg></span>',
3037      next:
3038        '<a title="' +
3039        BX.message("FANCY_NEXT") +
3040        '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3041      prev:
3042        '<a title="' +
3043        BX.message("FANCY_PREV") +
3044        '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3045    },
3046    touch: "enabled",
3047    buttons: [
3048      //"zoom",
3049      //"share",
3050      // "slideShow",
3051      //"fullScreen",
3052      //"download",
3053      //"thumbs",
3054      "close",
3055    ],
3056    backFocus: false,
3057    onActivate: function (instance) {
3058      InitFancyboxThumbnailsGallery(instance);
3059    },
3060    beforeShow: function (event) {
3061      if ($(".fancybox-thumbs .swiper").length) {
3062        const swiper = $(".fancybox-thumbs .swiper").data("swiper");
3063
3064        if (typeof event.current !== "undefined") {
3065          swiper.slideTo(event.current.index);
3066        }
3067      }
3068      var bCurrentSrc =
3069        typeof event.current !== "undefined" && event.current.contentType == "html" && $(event.current.src).length;
3070
3071      var video_block = [];
3072
3073      if (bCurrentSrc) {
3074        video_block = $(event.current.src).find("source.video-content");
3075      }
3076
3077      if (video_block.length) {
3078        if (video_block.attr("src") == "#") {
3079          var video_block_wrapper = video_block.closest("video");
3080          var video_block_clone = video_block_wrapper.clone();
3081
3082          video_block_clone.find("source").attr("src", video_block_clone.find("source").data("src"));
3083          video_block.attr("src", video_block.data("src"));
3084          video_block_clone.insertAfter(video_block_wrapper);
3085          video_block_clone.siblings("video").remove();
3086        }
3087      }
3088      var video_block_frame = [];
3089      if (bCurrentSrc) {
3090        video_block_frame = $(event.current.src).find(".company-item__video-iframe");
3091      }
3092
3093      if (video_block_frame.length) {
3094        var data_src_iframe = video_block_frame.attr("data-src");
3095        video_block_frame.attr("src", data_src_iframe);
3096        video_block_frame.attr("allow", "autoplay");
3097      }
3098    },
3099    afterShow: function (event) {
3100      if ($(".fancybox-overlay").css("opacity") == 0) {
3101        setTimeout(function () {
3102          $(".fancybox-overlay").css("opacity", 1);
3103          $("html").addClass("overflow_html");
3104        }, 200);
3105      }
3106
3107      $(".fancybox-nav").css("opacity", 0);
3108      setTimeout(function () {
3109        $(".fancybox-nav").css("opacity", 1);
3110      }, 150);
3111
3112      var bCurrentSrc =
3113        typeof event.current !== "undefined" && event.current.contentType == "html" && $(event.current.src).length;
3114      var companyVideo = [];
3115      if (bCurrentSrc) {
3116        companyVideo = event.current.src[0].getElementsByClassName("company-item__video");
3117      }
3118
3119      if (companyVideo.length) {
3120        setTimeout(function () {
3121          $(".fancybox-wrap video").resize();
3122          setTimeout(function () {
3123            $(".fancybox-wrap").addClass("show_video");
3124            if (companyVideo[0].currentTime === 0 || companyVideo[0].paused) {
3125              companyVideo[0].currentTime = 0;
3126              companyVideo[0].play();
3127            }
3128          }, 300);
3129        }, 150);
3130      } else if ($(".fancybox-wrap iframe").length) {
3131        $(".fancybox-inner").height("100%");
3132      }
3133    },
3134    beforeClose: function (event) {
3135      $(".fancybox-overlay").fadeOut();
3136      var bCurrentSrc =
3137        typeof event.current !== "undefined" && event.current.contentType == "html" && $(event.current.src).length;
3138      var companyVideo = [];
3139      if (bCurrentSrc) {
3140        companyVideo = event.current.src[0].getElementsByClassName("company-item__video");
3141      }
3142
3143      if (companyVideo.length) {
3144        companyVideo[0].currentTime = 0;
3145      }
3146
3147      $("html").removeClass("overflow_html");
3148      var video_block_frame = [];
3149      if (bCurrentSrc) {
3150        video_block_frame = $(event.current.src).find(".company-item__video-iframe");
3151      }
3152      if (video_block_frame.length) {
3153        video_block_frame.attr("src", "");
3154      }
3155    },
3156    onClosed: function (event) {
3157      var companyVideo = [];
3158      if (bCurrentSrc) {
3159        companyVideo = event.current.src[0].getElementsByClassName("company-item__video");
3160      }
3161
3162      if (companyVideo.length) {
3163        companyVideo[0].pause();
3164      }
3165    },
3166  });
3167};
3168
3169InitFancyBoxVideo = function () {
3170  if (typeof $.fn.fancybox !== "function") {
3171    return;
3172  }
3173
3174  if (!$(".video_link").length) {
3175    return;
3176  }
3177
3178  $(".video_link").fancybox({
3179    type: "iframe",
3180    iframe: {
3181      preload: false,
3182    },
3183    maxWidth: 800,
3184    maxHeight: 600,
3185    fitToView: false,
3186    width: "70%",
3187    height: "70%",
3188    autoSize: false,
3189    closeClick: false,
3190    opacity: true,
3191    tpl: {
3192      closeBtn:
3193        '<span title="' +
3194        BX.message("FANCY_CLOSE") +
3195        '" class="fancybox-item fancybox-close inline svg"><svg class="svg svg-close" width="14" height="14" viewBox="0 0 14 14"><path data-name="Rounded Rectangle 568 copy 16" d="M1009.4,953l5.32,5.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1008,954.4l-5.32,5.315a0.991,0.991,0,0,1-1.4-1.4L1006.6,953l-5.32-5.315a0.991,0.991,0,0,1,1.4-1.4l5.32,5.315,5.31-5.315a1,1,0,0,1,1.41,0,0.987,0.987,0,0,1,0,1.4Z" transform="translate(-1001 -946)"></path></svg></span>',
3196      next:
3197        '<a title="' +
3198        BX.message("FANCY_NEXT") +
3199        '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3200      prev:
3201        '<a title="' +
3202        BX.message("FANCY_PREV") +
3203        '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3204    },
3205    beforeShow: function (event) {
3206      /*if(!$('.cd-modal-bg').hasClass('is-visible')){
3207        var scaleValue = retrieveScale($('.cd-modal-bg'));
3208
3209        $('.cd-modal-bg').show().addClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){
3210          animateLayer($('.cd-modal-bg'), scaleValue, true);
3211        });
3212      }*/
3213    },
3214    afterShow: function () {
3215      if ($(".fancybox-overlay").css("opacity") == 0) {
3216        setTimeout(function () {
3217          $(".fancybox-overlay").css("opacity", 1);
3218          $("html").addClass("overflow_html");
3219        }, 200);
3220      }
3221
3222      $(".fancybox-nav").css("opacity", 0);
3223      setTimeout(function () {
3224        $(".fancybox-nav").css("opacity", 1);
3225      }, 150);
3226      if ($(".fancybox-wrap iframe").length) {
3227        $(".fancybox-inner").height("100%");
3228      }
3229    },
3230    beforeClose: function () {
3231      // closeModal();
3232      $(".fancybox-overlay").fadeOut();
3233      $("html").removeClass("overflow_html");
3234    },
3235  });
3236};
3237
3238CheckTopVisibleMenu = function (that) {
3239  var dropdownMenu = $(that).find(">.header-menu__dropdown-menu");
3240
3241  if (!dropdownMenu.length) {
3242    dropdownMenu = $(that).find(">.header-menu__wide-item-wrapper>.header-menu__wide-submenu");
3243  }
3244  if (!dropdownMenu.length) {
3245    dropdownMenu = $(that).find(">.header-menu__wide-submenu-item-inner>.submenu-wrapper>.header-menu__wide-submenu");
3246  }
3247
3248  if (!dropdownMenu.length) {
3249    return;
3250  }
3251
3252  // if( that !== undefined ) {
3253  // 	dropdownMenu.push($(that));
3254  // }
3255
3256  if (dropdownMenu.length) {
3257    dropdownMenu.each(function (i, el) {
3258      var dropdownMenuCurrent = $(el);
3259      dropdownMenuCurrent.find("a").css("white-space", "");
3260      dropdownMenuCurrent.css("left", "");
3261      dropdownMenuCurrent.css("right", "");
3262      dropdownMenuCurrent.removeClass("toright");
3263
3264      var dropdownMenuCurrent_left = dropdownMenuCurrent.offset().left;
3265
3266      if (typeof dropdownMenuCurrent_left != "undefined") {
3267        var menu = dropdownMenuCurrent.parents("header");
3268        if (!menu.length) menu = dropdownMenuCurrent.closest(".header__top-inner");
3269        var menu_width = menu.outerWidth();
3270        var menu_left = menu.offset().left;
3271        var menu_right = menu_left + menu_width;
3272        var isToRight = dropdownMenuCurrent.parents(".toright").length > 0;
3273        var parentsdropdownMenuCurrents = dropdownMenuCurrent.parents(".header-menu__dropdown-menu");
3274        var isHasParentdropdownMenuCurrent = parentsdropdownMenuCurrents.length > 0;
3275        if (isHasParentdropdownMenuCurrent) {
3276          var parentdropdownMenuCurrent_width = parentsdropdownMenuCurrents.first().outerWidth()
3277            ? parentdropdownMenuCurrent_width
3278            : 240;
3279          var parentdropdownMenuCurrent_left = parentsdropdownMenuCurrents.first().offset().left;
3280          var parentdropdownMenuCurrent_right = parentdropdownMenuCurrent_width + parentdropdownMenuCurrent_left;
3281        }
3282
3283        var emptyCurrentWidth = dropdownMenuCurrent.outerWidth() == 0;
3284
3285        var dropdownMenuCurrent_width = !emptyCurrentWidth ? dropdownMenuCurrent.outerWidth() : 240;
3286
3287        if (parentdropdownMenuCurrent_right + dropdownMenuCurrent_width > menu_right) {
3288          dropdownMenuCurrent.find("a").css("white-space", "normal");
3289        }
3290
3291        var dropdownMenuCurrent_right = dropdownMenuCurrent_left + dropdownMenuCurrent_width;
3292
3293        if (dropdownMenuCurrent_right > menu_right || isToRight) {
3294          var addleft = 0;
3295          addleft = menu_right - dropdownMenuCurrent_right;
3296          if (isHasParentdropdownMenuCurrent || isToRight) {
3297            dropdownMenuCurrent.css("left", "auto");
3298            dropdownMenuCurrent.css("right", "calc(100% + 8px)");
3299            dropdownMenuCurrent.addClass("toright");
3300          } else {
3301            var dropdownMenuCurrent_curLeft = parseInt(dropdownMenuCurrent.css("left"));
3302            dropdownMenuCurrent.css("left", dropdownMenuCurrent_curLeft + addleft + "px");
3303          }
3304        }
3305        var firstMenuItem = dropdownMenuCurrent.parent().hasClass("header-menu__item--first");
3306        if (!firstMenuItem) {
3307          if (dropdownMenuCurrent_right < 240 + menu_left) {
3308            dropdownMenuCurrent.css("left", "calc(100% + 8px)");
3309            dropdownMenuCurrent.css("right", "0");
3310            dropdownMenuCurrent.removeClass("toright");
3311          }
3312          /*
3313          var childDropDown = dropdownMenuCurrent.find(">.dropdown");
3314          if (childDropDown.length) {
3315            childDropDown.css("left", "");
3316            childDropDown.css("right", "");
3317          }
3318          if (emptyCurrentWidth && childDropDown.length && dropdownMenuCurrent_right < 480 + menu_left) {
3319            dropdownMenuCurrent.css("left", "calc(100% + 8px)");
3320            dropdownMenuCurrent.css("right", "0");
3321            dropdownMenuCurrent.removeClass("toright");
3322            childDropDown.css("left", "calc(100% + 8px)");
3323            childDropDown.css("right", "0");
3324          }
3325          */
3326        }
3327      }
3328    });
3329  }
3330};
3331
3332MegaMenuFixed = function () {
3333  var animationTime = 150;
3334  $megaFixedNlo = $(".mega-fixed-menu").find("[data-nlo]");
3335
3336  $(document).on("click", ".header .burger", function () {
3337    if ($megaFixedNlo.length) {
3338      if (!$megaFixedNlo.hasClass("nlo-loadings")) {
3339        $megaFixedNlo.addClass("nlo-loadings");
3340        setTimeout(function () {
3341          $.ajax({
3342            data: { nlo: $megaFixedNlo.attr("data-nlo") },
3343            error: function () {
3344              $megaFixedNlo.removeClass("nlo-loadings");
3345            },
3346            complete: function (jqXHR, textStatus) {
3347              if (textStatus === "success" || jqXHR.status == 404) {
3348                var ob = BX.processHTML($.trim(jqXHR.responseText));
3349                BX.ajax.processScripts(ob.SCRIPT);
3350                $megaFixedNlo.replaceWith(ob.HTML);
3351              }
3352            },
3353          });
3354        }, 300);
3355      }
3356    }
3357
3358    $(".mega-fixed-menu").fadeIn(animationTime);
3359    $(".mega-fixed-menu").css("display", "flex");
3360  });
3361
3362  $(".mega-fixed-menu__close").on("click", function () {
3363    $(this).closest(".mega-fixed-menu").fadeOut(animationTime);
3364  });
3365
3366  $(".mega-fixed-menu .dropdown-menu .arrow").on("click", function (e) {
3367    e.preventDefault();
3368    e.stopPropagation();
3369    $(this).closest(".dropdown-submenu").find(".dropdown-menu").slideToggle(animationTime);
3370    $(this).closest(".dropdown-submenu").addClass("opened");
3371  });
3372};
3373
3374CheckMainBannerSliderVText = function (slider) {
3375  /*if(slider.parents('.banners-big').length){
3376    var sh = slider.height();
3377    slider.find('.item').each(function() {
3378      var curSlideTextInner = $(this).find('.text .inner');
3379      if(curSlideTextInner.length){
3380        var ith = curSlideTextInner.actual('height');
3381        var p = (ith >= sh ? 0 : Math.floor((sh - ith) / 2));
3382        curSlideTextInner.css('padding-top', p + 'px');
3383      }
3384    });
3385  }*/
3386};
3387
3388footerInit = function (block) {
3389  if (block.hasClass("check-visible")) {
3390    const blockJsPadding = $(".js-check-padding");
3391    const blockJsHide = $(".js-check-hide");
3392
3393    if (blockJsPadding.length && blockJsHide.length && block.data("ajax-check-visible")) {
3394      const arCheckBlock = block.data("ajax-check-visible").split(",");
3395      let bHiddenBlocks = arCheckBlock.every(function (i) {
3396        return $('[data-ajax-load-block="' + i + '"]').hasClass("hidden") === true;
3397      });
3398
3399      if (bHiddenBlocks) {
3400        blockJsHide.addClass("hidden");
3401        blockJsPadding.addClass("js-padding");
3402      } else {
3403        blockJsHide.removeClass("hidden");
3404        blockJsPadding.removeClass("js-padding");
3405      }
3406    }
3407  }
3408};
3409
3410verticalAlign = function (class_name) {
3411  if (typeof class_name == "undefined") class_name = "auto_align";
3412  if ($("." + class_name).length) {
3413    maxHeight = 0;
3414    $("." + class_name).each(function () {
3415      if ($(this).height() > maxHeight) {
3416        maxHeight = $(this).height();
3417      }
3418    });
3419    $("." + class_name).each(function () {
3420      delta = Math.round((maxHeight - $(this).height()) / 2);
3421      $(this).css({ "padding-top": delta + "px", "padding-bottom": delta + "px" });
3422    });
3423  }
3424};
3425
3426getGridSize = function (counts, custom_counts) {
3427  var z = parseInt($(".body_media").css("top"));
3428  if (typeof custom_counts != "undefined") {
3429    if (window.matchMedia("(max-width: 700px)").matches) return counts[3] ? counts[3] : counts[2];
3430    else if (window.matchMedia("(max-width: 850px)").matches) return counts[2];
3431    else if (window.matchMedia("(max-width: 1100px)").matches) return counts[1];
3432    else return counts[0];
3433  } else {
3434    if (window.matchMedia("(max-width: 600px)").matches) {
3435      return counts[3] ? counts[3] : counts[2];
3436    } else return z == 2 ? counts[0] : z == 1 ? counts[1] : counts[2];
3437  }
3438};
3439
3440CheckFlexSlider = function () {
3441  $(".flexslider:not(.thmb):visible").each(function () {
3442    var slider = $(this);
3443    slider.resize();
3444    var counts = slider.data("flexslider").vars.counts,
3445      slide_counts = slider.data("flexslider").vars.slide_counts;
3446    if (typeof counts != "undefined") {
3447      var cnt = getGridSize(counts, slider.data("flexslider").vars.customGrid);
3448      var to0 =
3449        cnt != slider.data("flexslider").vars.minItems ||
3450        cnt != slider.data("flexslider").vars.maxItems ||
3451        cnt != slider.data("flexslider").vars.move;
3452      if (to0) {
3453        slider.data("flexslider").vars.minItems = cnt;
3454        slider.data("flexslider").vars.maxItems = cnt;
3455        if (typeof slide_counts != "undefined") slider.data("flexslider").vars.move = slide_counts;
3456        else slider.data("flexslider").vars.move = cnt;
3457
3458        slider.flexslider(0);
3459        slider.resize();
3460        slider.resize(); // twise!
3461      }
3462    }
3463  });
3464};
3465
3466CheckHeaderFixed = function () {
3467  var header = $("header .header__inner").first(),
3468    header_fixed = $("#headerfixed, body.simple_basket_mode .header_simple"),
3469    header_simple = $("body.simple_basket_mode .header_simple");
3470
3471  if (header_fixed.length) {
3472    if (header.length) {
3473      var isHeaderFixed = false,
3474        headerCanFix = true,
3475        headerFixedHeight = header_fixed.actual("outerHeight"),
3476        headerNormalHeight = header.actual("outerHeight"),
3477        headerDiffHeight = headerNormalHeight - headerFixedHeight,
3478        mobileBtnMenu = $(".btn.btn-responsive-nav"),
3479        headerTop = $("#panel:visible").actual("outerHeight"),
3480        topBlock = $(".TOP_HEADER").first(),
3481        $headerFixedNlo = header_fixed.find("[data-nlo]"),
3482        isNloLoaded = !$headerFixedNlo.length,
3483        OnHeaderFixedScrollHandler;
3484
3485      if (headerDiffHeight <= 0) headerDiffHeight = 0;
3486
3487      if (topBlock.length) headerTop += topBlock.actual("outerHeight");
3488
3489      $(window).scroll(
3490        (OnHeaderFixedScrollHandler = function () {
3491          var scrollTop = $(window).scrollTop();
3492          headerCanFix = !mobileBtnMenu.is(":visible");
3493
3494          if (!isHeaderFixed) {
3495            if (headerCanFix && scrollTop > headerNormalHeight + headerTop) {
3496              isHeaderFixed = true;
3497
3498              header_fixed.css("top", "-" + headerNormalHeight + "px");
3499              header_fixed.addClass("fixed");
3500
3501              BX.onCustomEvent('onAsproHeaderFixedAppear');
3502
3503              header_fixed.animate({ top: "0" }, { duration: 300, complete: function () {} });
3504
3505              if (header_simple.length) {
3506                headerSimpleHeight = header_simple.actual("outerHeight");
3507                header_simple.parent().css({ "margin-top": headerSimpleHeight });
3508              }
3509
3510              //CheckTopMenuDotted();
3511            }
3512          }
3513
3514          if (isHeaderFixed || !headerCanFix) {
3515            if (!headerCanFix || scrollTop <= headerDiffHeight + headerTop) {
3516              isHeaderFixed = false;
3517              header_fixed.removeClass("fixed");
3518
3519              if (header_simple.length) {
3520                header_simple.parent().css({ "margin-top": "" });
3521              }
3522            }
3523          }
3524
3525          BX.onCustomEvent('onAsproHeaderFixedScroll');
3526        })
3527      );
3528    }
3529  }
3530
3531  // mobile fixed
3532  var mfixed = $("body.mfixed_y.mfixed_view_scroll_top #mobileheader");
3533  if (mfixed.length) {
3534    var mheaderFixed = false,
3535      mheaderFixedHeight = mfixed.actual("outerHeight"),
3536      mheaderTop = $("#panel:visible").actual("outerHeight"),
3537      mheaderStartScroll = 0;
3538
3539    mfixed.css("--mobile-header-height", `${mheaderFixedHeight}px`);
3540
3541    $(window).scroll(function () {
3542      if (window.matchMedia("(max-width:991px)").matches) {
3543        var scrollTop = $(window).scrollTop();
3544        if (!mheaderFixed) {
3545          if (scrollTop > mheaderTop + mheaderFixedHeight && scrollTop < mheaderStartScroll) {
3546            mfixed.addClass("fixed");
3547            mheaderFixed = true;
3548          }
3549        } else {
3550          if (scrollTop <= mheaderTop || scrollTop > mheaderStartScroll) {
3551            mfixed.removeClass("fixed");
3552            mheaderFixed = false;
3553          }
3554        }
3555
3556        mheaderStartScroll = scrollTop;
3557      } else {
3558        mfixed.removeClass("fixed");
3559      }
3560    });
3561  }
3562};
3563
3564CheckObjectsSizes = function () {
3565  $(".container iframe,.container object,.container video").each(function () {
3566    var height_attr = $(this).attr("height");
3567    var width_attr = $(this).attr("width");
3568
3569    if (height_attr && width_attr) {
3570      $(this).css("height", ($(this).outerWidth() * height_attr) / width_attr);
3571    }
3572  });
3573};
3574
3575var isMobile = jQuery.browser.mobile;
3576var players = {};
3577
3578if (isMobile) {
3579  document.documentElement.className += " mobile";
3580}
3581
3582var timerScroll = false,
3583  ignoreScroll = [],
3584  documentScrollTopLast = $(document).scrollTop(),
3585  startScroll = 0;
3586
3587$.fn.equalizeHeights = function (outer, classNull, minHeight, autoHeightBlock) {
3588  var maxHeight = this.map(function (i, e) {
3589    var minus_height = 0,
3590      calc_height = 0;
3591    if (classNull !== false && $(e).find(classNull).is(":visible"))
3592      minus_height = parseInt($(e).find(classNull).actual("outerHeight"));
3593    if (minus_height) minus_height += 15;
3594    $(e).css("height", "");
3595    if (autoHeightBlock !== false) {
3596      var height_tmp = $(e).find(autoHeightBlock).css("height");
3597      $(e).find(autoHeightBlock).css("height", "");
3598    }
3599    if (outer === true) {
3600      calc_height = $(e).actual("outerHeight") - minus_height;
3601    } else {
3602      calc_height = $(e).actual("height") - minus_height;
3603    }
3604
3605    if (autoHeightBlock !== false) {
3606      $(e).find(autoHeightBlock).css("height", height_tmp);
3607    }
3608    if (minHeight !== false) {
3609      if (calc_height < minHeight) {
3610        calc_height += minHeight - calc_height;
3611      }
3612      if (window.matchMedia("(max-width: 520px)").matches) {
3613        calc_height = 300;
3614      }
3615      if (window.matchMedia("(max-width: 400px)").matches) {
3616        calc_height = 200;
3617      }
3618    }
3619    return calc_height;
3620  }).get();
3621
3622  for (var i = 0, c = maxHeight.length; i < c; ++i) {
3623    if (maxHeight[i] % 2) {
3624      --maxHeight[i];
3625    }
3626  }
3627
3628  return this.height(Math.max.apply(this, maxHeight));
3629};
3630
3631$.fn.getFloatWidth = function () {
3632  var width = 0;
3633
3634  if ($(this).length) {
3635    var rect = $(this)[0].getBoundingClientRect();
3636    if (!(width = rect.width)) {
3637      width = rect.right - rect.left;
3638    }
3639  }
3640
3641  return width;
3642};
3643
3644$.fn.sliceHeight2 = function (options) {
3645  function _slice(el) {
3646    el.each(function () {
3647      $(this).css("line-height", "");
3648      $(this).css("height", "");
3649    });
3650    if (typeof options.autoslicecount == "undefined" || options.autoslicecount !== false) {
3651      var elsw =
3652          typeof options.row !== "undefined" && options.row.length
3653            ? el.first().parents(options.row).getFloatWidth()
3654            : el.first().parents(".grid-list").getFloatWidth(),
3655        elw =
3656          typeof options.item !== "undefined" && options.item.length
3657            ? $(options.item).first().getFloatWidth()
3658            : el.first().hasClass("grid-list__item")
3659            ? el.first().getFloatWidth()
3660            : el.first().parents(".grid-list__item").getFloatWidth();
3661
3662      if (!elsw) {
3663        elsw = el.first().parents(".grid-list").getFloatWidth();
3664      }
3665      if (elw && options.fixWidth) elw -= options.fixWidth;
3666
3667      if (elsw && elw) {
3668        options.slice = Math.floor(elsw / elw);
3669      }
3670    }
3671    if (typeof options.typeResize == "undefined" || options.typeResize === false) {
3672      if (options.sliceEqualLength && el.closest(".flexslider").length) options.slice = el.length;
3673      if (options.slice >= 1) {
3674        for (var i = 0; i < el.length; i += options.slice) {
3675          $(el.slice(i, i + options.slice)).equalizeHeights(
3676            options.outer,
3677            options.classNull,
3678            options.minHeight,
3679            options.autoHeightBlock
3680          );
3681        }
3682      }
3683      if (options.lineheight) {
3684        var lineheightAdd = parseInt(options.lineheight);
3685        if (isNaN(lineheightAdd)) {
3686          lineheightAdd = 0;
3687        }
3688        el.each(function () {
3689          $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px");
3690        });
3691      }
3692    }
3693
3694    if (typeof options.callback == "function") options.callback(el);
3695  }
3696  var options = $.extend(
3697    {
3698      slice: null,
3699      outer: false,
3700      lineheight: false,
3701      autoslicecount: true,
3702      classNull: false,
3703      minHeight: false,
3704      row: false,
3705      item: false,
3706      typeResize: false,
3707      resize: true,
3708      typeValue: false,
3709      sliceEqualLength: false,
3710      fixWidth: 0,
3711      callback: false,
3712      autoHeightBlock: false,
3713    },
3714    options
3715  );
3716
3717  var el = $(this);
3718  ignoreResize.push(true);
3719  _slice(el);
3720  ignoreResize.pop();
3721
3722  if (options.resize !== false) {
3723    BX.addCustomEvent("onWindowResize", function (eventdata) {
3724      ignoreResize.push(true);
3725      _slice(el);
3726      ignoreResize.pop();
3727    });
3728  }
3729};
3730
3731function extendDepthObject(target, FromObj) {
3732  var to = Object.assign({}, target);
3733  for (var key in FromObj) {
3734    if (typeof FromObj[key] == "object") {
3735      to[key] = extendDepthObject(to[key], FromObj[key]);
3736    } else {
3737      to[key] = FromObj[key];
3738    }
3739  }
3740
3741  return to;
3742}
3743
3744$.fn.sliceHeight = function (options) {
3745  function _slice(el) {
3746    var arBreakpoints = Object.keys(options.breakpoint);
3747    var resizeOptionsTmp = {};
3748    if (arBreakpoints.length) {
3749      for (var key in arBreakpoints) {
3750        if (window.matchMedia(arBreakpoints[key].toString()).matches) {
3751          resizeOptionsTmp = options.breakpoint[arBreakpoints[key]];
3752        }
3753      }
3754    }
3755
3756    var resizeOptions = extendDepthObject(options, resizeOptionsTmp);
3757
3758    var blockNullClass =
3759      resizeOptions.blockNull !== undefined && resizeOptions.blockNull.class !== undefined
3760        ? resizeOptions.blockNull.class
3761        : false;
3762    var parent =
3763      typeof resizeOptions.row !== "undefined" && resizeOptions.row.length
3764        ? el.first().parents(resizeOptions.row)
3765        : el.first().parents(".items");
3766    var item = "";
3767
3768    if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length) {
3769      if (blockNullClass) {
3770        $(resizeOptions.item).each(function (i, element) {
3771          _element = $(element);
3772          if (!_element.hasClass(blockNullClass)) {
3773            item = _element;
3774          }
3775        });
3776        if (!item)
3777          // if only ignored blocks
3778          return false;
3779      } else {
3780        item = $(resizeOptions.item).first();
3781      }
3782    } else {
3783      if (el.first().hasClass("item")) {
3784        item = el.first();
3785      } else {
3786        item = el.first().parents(".item");
3787      }
3788    }
3789
3790    if (typeof resizeOptions.autoslicecount == "undefined" || resizeOptions.autoslicecount !== false) {
3791      var elsw = parent.getFloatWidth(),
3792        elw = item.getFloatWidth();
3793      if (!elsw) {
3794        elsw = el.first().parents(".row").getFloatWidth();
3795      }
3796      if (!elw) {
3797        if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length)
3798          elw = $(resizeOptions.item + ":eq(1)").getFloatWidth()
3799            ? $(resizeOptions.item + ":eq(1)").getFloatWidth()
3800            : $(resizeOptions.item + ":eq(2)").getFloatWidth();
3801        else elw = $(el[1]).getFloatWidth() ? $(el[1]).getFloatWidth() : $(el[2]).getFloatWidth();
3802      }
3803      if (elw && resizeOptions.fixWidth) elw -= resizeOptions.fixWidth;
3804
3805      elw = parseInt(elw * 100) / 100;
3806
3807      if (elsw && elw) {
3808        resizeOptions.slice = Math.floor(elsw / elw);
3809      }
3810    }
3811
3812    if (resizeOptions.customSlice) {
3813      //manual slice count
3814      var bSliceNext = false;
3815      if (resizeOptions.length) {
3816        elw =
3817          typeof resizeOptions.item !== "undefined" && resizeOptions.item.length
3818            ? $(resizeOptions.item).last().getFloatWidth()
3819            : el.last().hasClass("item")
3820            ? el.last().getFloatWidth()
3821            : el.last().parents(".item").getFloatWidth();
3822        if (elw) resizeOptions.sliceNext = Math.floor(elsw / elw);
3823
3824        bSliceNext = true;
3825      }
3826    }
3827
3828    elements = [];
3829    if (resizeOptions.classes !== undefined && resizeOptions.classes.length) {
3830      for (var i = 0; i < resizeOptions.classes.length; i++) {
3831        var items = $(resizeOptions.item).find(resizeOptions.classes[i]);
3832        elements.push(items);
3833      }
3834    }
3835    var elIndex = elements.push(el) - 1;
3836
3837    if (resizeOptions.mobile === true) {
3838      if (window.matchMedia("(max-width: 550px)").matches) {
3839        for (var block = 0; block < elements.length; block++) {
3840          var items = $(elements[block]);
3841          items.css({
3842            "line-height": "",
3843            height: "",
3844          });
3845        }
3846        return;
3847      }
3848    }
3849
3850    if (typeof resizeOptions.typeResize == "undefined" || resizeOptions.typeResize === false) {
3851      if (resizeOptions.slice) {
3852        for (var block = 0; block < elements.length; block++) {
3853          if (resizeOptions.currentRow) {
3854            var itemNumber = el.index(resizeOptions.currentItem);
3855            var rowCount = resizeOptions.slice;
3856            var rowNumber = Math.floor(itemNumber / rowCount);
3857
3858            var items = $(elements[block].slice(rowNumber * rowCount, rowNumber * rowCount + rowCount));
3859            var classNull = block == elIndex ? resizeOptions.classNull : false;
3860            items.css({
3861              "line-height": "",
3862              height: "",
3863            });
3864            items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
3865          } else {
3866            for (var i = 0; i < elements[block].length; ) {
3867              if (resizeOptions.customSlice && resizeOptions.sliceNext && bSliceNext && i)
3868                //manual slice count
3869                resizeOptions.slice = resizeOptions.sliceNext;
3870
3871              var slice = resizeOptions.slice;
3872              var items = $(elements[block].slice(i, i + slice));
3873              if (resizeOptions.blockNull !== undefined) {
3874                if (resizeOptions.blockNull.class !== undefined) {
3875                  var counts = 0;
3876                  items.each(function (i, item) {
3877                    var _item = $(item);
3878                    if (
3879                      _item.hasClass(resizeOptions.blockNull.class) ||
3880                      _item.closest("." + resizeOptions.blockNull.class).length
3881                    ) {
3882                      counts++;
3883                    }
3884                  });
3885                }
3886              }
3887              if (counts) {
3888                slice -= (resizeOptions.blockNull.width - 1) * counts;
3889              }
3890
3891              items = $(elements[block].slice(i, i + slice));
3892              if (items) {
3893                var classNull = block == elIndex ? resizeOptions.classNull : false;
3894
3895                items.css({
3896                  "line-height": "",
3897                  height: "",
3898                });
3899                items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
3900              }
3901              i += slice || 1;
3902            }
3903          }
3904        }
3905      }
3906      if (resizeOptions.lineheight) {
3907        var lineheightAdd = parseInt(resizeOptions.lineheight);
3908        if (isNaN(lineheightAdd)) {
3909          lineheightAdd = 0;
3910        }
3911        el.each(function () {
3912          $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px");
3913        });
3914      }
3915    }
3916  }
3917  var options = $.extend(
3918    {
3919      slice: null,
3920      sliceNext: null,
3921      outer: false,
3922      lineheight: false,
3923      autoslicecount: true,
3924      classNull: false,
3925      minHeight: false,
3926      row: false,
3927      item: false,
3928      typeResize: false,
3929      typeValue: false,
3930      fixWidth: 0,
3931      resize: true,
3932      mobile: false,
3933      customSlice: false,
3934      breakpoint: {},
3935      classes: [],
3936    },
3937    options
3938  );
3939
3940  var el = $(this);
3941
3942  ignoreResize.push(true);
3943  _slice(el);
3944  ignoreResize.pop();
3945
3946  if (options.resize) {
3947    BX.addCustomEvent("onWindowResize", function (eventdata) {
3948      try {
3949        ignoreResize.push(true);
3950        _slice(el);
3951      } catch (e) {
3952      } finally {
3953        ignoreResize.pop();
3954      }
3955    });
3956  } else {
3957    if (!ignoreResize.length) {
3958      // ignoreResize.push(true);
3959      _slice(el);
3960      // ignoreResize.pop();
3961    }
3962  }
3963};
3964
3965waitingExists = function (selector, delay, callback) {
3966  if (typeof callback !== "undefined" && selector.length && delay > 0) {
3967    delay = parseInt(delay);
3968    delay = delay < 0 ? 0 : delay;
3969
3970    if (!$(selector).length) {
3971      setTimeout(function () {
3972        waitingExists(selector, delay, callback);
3973      }, delay);
3974    } else {
3975      callback();
3976    }
3977  }
3978};
3979
3980waitingNotExists = function (selectorExists, selectorNotExists, delay, callback) {
3981  if (
3982    typeof callback !== "undefined" &&
3983    selectorExists.length &&
3984    $(selectorExists).length &&
3985    selectorNotExists.length &&
3986    !$(selectorNotExists).length &&
3987    delay > 0
3988  ) {
3989    delay = parseInt(delay);
3990    delay = delay < 0 ? 0 : delay;
3991
3992    setTimeout(function () {
3993      if (selectorExists.length && !$(selectorNotExists).length) {
3994        callback();
3995      }
3996    }, delay);
3997  }
3998};
3999
4000function onLoadjqm(name, hash, _this) {
4001  if (BX.Aspro.Utils.isFunction("onlyCatalogMenuClose")) {
4002    onlyCatalogMenuClose();
4003  }
4004
4005  BX.Aspro?.xPopover?.hide();
4006  BX.Aspro?.Map?.closeFullscreenMap();
4007
4008  if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
4009    $("body").addClass("jqm-initied");
4010  }
4011
4012  $("body").addClass("swipeignore");
4013
4014  if (typeof $(hash.t).data("ls") !== " undefined" && $(hash.t).data("ls")) {
4015    var ls = $(hash.t).data("ls"),
4016      ls_timeout = 0,
4017      v = "";
4018
4019    if ($(hash.t).data("ls_timeout")) ls_timeout = $(hash.t).data("ls_timeout");
4020
4021    ls_timeout = ls_timeout ? Date.now() + ls_timeout * 1000 : "";
4022
4023    if (typeof localStorage !== "undefined") {
4024      var val = localStorage.getItem(ls);
4025      try {
4026        v = JSON.parse(val);
4027      } catch (e) {
4028        v = val;
4029      }
4030      if (v != null) {
4031        localStorage.removeItem(ls);
4032      }
4033      v = {};
4034      v["VALUE"] = "Y";
4035      v["TIMESTAMP"] = ls_timeout; // default: seconds for 1 day
4036
4037      localStorage.setItem(ls, JSON.stringify(v));
4038    } else {
4039      var val = $.cookie(ls);
4040      if (!val) $.cookie(ls, "Y", { expires: ls_timeout }); // default: seconds for 1 day
4041    }
4042
4043    var dopClasses = hash.w.find(".marketing-popup").data("classes");
4044    if (dopClasses) {
4045      hash.w.addClass(dopClasses);
4046    }
4047  }
4048
4049  //update show password
4050  //show password eye
4051  if (hash.w.hasClass("auth_frame")) {
4052    hash.w.find(".form-group:not(.eye-password-ignore) [type=password]").each(function (item) {
4053      let inputBlock = $(this).closest(".input");
4054      if (inputBlock.length) {
4055        inputBlock.addClass("eye-password");
4056      } else {
4057        let labelBlock = passBlock.find(".label_block");
4058        let passBlock = $(this).closest(".form-group");
4059        if (labelBlock.length) {
4060          labelBlock.addClass("eye-password");
4061        } else {
4062          passBlock.addClass("eye-password");
4063        }
4064      }
4065    });
4066  }
4067
4068  $.each($(hash.t).get(0).attributes, function (index, attr) {
4069    if (/^data\-autoload\-(.+)$/.test(attr.nodeName)) {
4070      var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1];
4071      var el = $('input[name="' + key.toUpperCase() + '"]');
4072      if (!el.length) {
4073        //is form block
4074        el = $('input[data-sid="' + key.toUpperCase() + '"]');
4075      }
4076
4077      var value = $(hash.t).data("autoload-" + key);
4078      value = value.toString().replace(/%99/g, "\\"); // replace symbol \
4079
4080      el.val(BX.util.htmlspecialcharsback(value)).attr("readonly", "readonly");
4081      el.closest(".form-group").addClass("input-filed");
4082      el.attr("title", el.val());
4083    }
4084  });
4085
4086  //show gift block
4087  if (hash.w.hasClass("send_gift_frame")) {
4088    let imgHtml, priceHtml, propsHtml;
4089    imgHtml = priceHtml = propsHtml = "";
4090
4091    if ($('.detail-gallery-big link[itemprop="image"]').length) {
4092      imgHtml =
4093        '<img class="image-rounded-x" src="' +
4094        $('.detail-gallery-big link[itemprop="image"]').attr("href") +
4095        '" alt="" title="" />';
4096    }
4097
4098    if ($(".catalog-detail__buy-block .price__new").length) {
4099      priceHtml =
4100        '<div class="item-block-info__price color_222 fw-500">' +
4101        $(".catalog-detail__buy-block .price__new-val").text() +
4102        "</div>";
4103    }
4104
4105    if ($(".catalog-block__offers .sku-props__item").length) {
4106      propsHtml = '<div class="item-block-info__props font_13">';
4107      $(".catalog-block__offers .sku-props__item").each(function () {
4108        propsHtml += '<div class="item-block-info__props-item">' + $(this).find(".sku-props__title").text() + "</div>";
4109      });
4110      propsHtml += "</div>";
4111    }
4112
4113    $(
4114      '<div class="popup__item-block">' +
4115        '<div class="popup__item-block-info bordered outer-rounded-x grid-list gap gap--16">' +
4116        '<div class="item-block-info__image grid-list__item">' +
4117        imgHtml +
4118        "</div>" +
4119        '<div class="item-block-info__text grid-list__item">' +
4120        '<div class="name color_222 font_14">' +
4121        $("h1").text() +
4122        "</div>" +
4123        priceHtml +
4124        propsHtml +
4125        "</div>" +
4126        "</div>" +
4127        "</div>"
4128    ).prependTo(hash.w.find(".form-body"));
4129  }
4130
4131  if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
4132    $("body").css({ overflow: "hidden", height: "100vh" });
4133    hash.w.closest("#popup_iframe_wrapper").css({ "z-index": 3000, display: "flex" });
4134  }
4135
4136  var eventdata = { action: "loadForm" };
4137  BX.onCustomEvent("onCompleteAction", [eventdata, $(hash.t)[0]]);
4138
4139  if ($(hash.t).data("autohide")) {
4140    $(hash.w).data("autohide", $(hash.t).data("autohide"));
4141  }
4142
4143  if ($(hash.t).data("autoshow")) {
4144    eval($(hash.t).data("autoshow"));
4145  }
4146
4147  if (name == "order_product") {
4148    if ($(hash.t).data("product")) {
4149      $('input[name="PRODUCT"]').closest(".form-group").addClass("input-filed");
4150      $('input[name="PRODUCT"]')
4151        .val($(hash.t).data("product"))
4152        .attr("readonly", "readonly")
4153        .attr("title", $('input[name="PRODUCT"]').val());
4154    }
4155  }
4156  if (name == "question") {
4157    if ($(hash.t).data("product")) {
4158      $('input[name="NEED_PRODUCT"]').closest(".form-group").addClass("input-filed");
4159      $('input[name="NEED_PRODUCT"]')
4160        .val($(hash.t).data("product"))
4161        .attr("readonly", "readonly")
4162        .attr("title", $('input[name="NEED_PRODUCT"]').val());
4163    }
4164  }
4165
4166  //show one_click_buy block
4167  if (name === "ocb") {
4168    const parent = hash.w.find(".flexbox").first();
4169    const item = _this.closest(".js-popup-block");
4170    if (item.length) {
4171      var data = item.find("[data-item]").data("item");
4172      if (typeof data === "undefined" || !data) {
4173        data = {};
4174      }
4175
4176      parent.addClass("flexbox--direction-row-reverse");
4177      parent.find(".form.popup").addClass("flex-grow-1");
4178
4179      let goodsNode = '<div class="goods-popup"><div class="goods-popup__sticky">';
4180
4181      //image block
4182      let imageNode = '<div class="goods-popup__image image-list-wrapper">';
4183
4184      //stiker
4185      const $sticker = item.find(".catalog-detail__main .sticker");
4186      if ($sticker.length) {
4187        imageNode += `<div class="sticker">${$sticker.html()}</div>`;
4188      }
4189
4190      //image
4191      imageNode += '<div class="image">';
4192      imageNode +=
4193        '<img class="img-responsive" src="' +
4194        (item.find(".image-list__link link[itemprop=image]").length
4195          ? item.find(".image-list__link link[itemprop=image]:first").attr("href")
4196          : item.find(".image-list-wrapper img:first").length
4197          ? item.find(".image-list-wrapper img:first").attr("src")
4198          : arAsproOptions.SITE_TEMPLATE_PATH + "/images/svg/noimage_product.svg") +
4199        '" />';
4200      imageNode += "</div>";
4201      imageNode += "</div>";
4202      goodsNode += imageNode;
4203
4204      //info block
4205      let infoNode = '<div class="goods-popup__info">';
4206      //link
4207      if (item.find(".js-popup-title").attr("href")) {
4208        infoNode +=
4209          '<a class="dark_link switcher-title goods-popup__info-link font_15" href="' +
4210          item.find(".js-popup-title").attr("href") +
4211          '">';
4212        infoNode += data ? data.NAME : item.find(".js-popup-title").html();
4213        infoNode += "</a>";
4214      } else {
4215        infoNode += '<div class="color_222 switcher-title goods-popup__info-link font_15">';
4216        infoNode += data ? data.NAME : item.find(".js-popup-title").html();
4217        infoNode += "</div>";
4218      }
4219
4220      // status
4221      let status = "";
4222      if (item.find(".status-container").length) {
4223        status += '<div class="line-block__item font_13">';
4224        status += item.find(".status-container").wrap("<div></div>").parent().html();
4225        status += "</div>";
4226      }
4227
4228      //article
4229      let article = "";
4230      if (item.find(".js-popup-info .article").length) {
4231        article += '<div class="line-block__item font_13 secondary-color">';
4232        article += item.find(".js-popup-info .article").closest(".line-block__item").html();
4233        article += "</div>";
4234      }
4235
4236      if (article || status) {
4237        infoNode +=
4238          '<div class="line-block line-block--gap line-block--16 flexbox--wrap goods-popup__info-more">' +
4239          status +
4240          article +
4241          "</div>";
4242      }
4243
4244      infoNode += "</div>";
4245      goodsNode += infoNode;
4246
4247      //price block
4248      if (item.find(".js-popup-price .price").length) {
4249        let priceNode = '<div class="goods-popup__price">';
4250        priceNode += item.find(".js-popup-price").html();
4251        priceNode += "</div>";
4252        goodsNode += priceNode;
4253
4254        let $price = item.find(".js-popup-price .price__new-val");
4255        if ($price.length) {
4256          parent.find("input[name=PRODUCT_PRICE],input[data-sid=PRODUCT_PRICE]").val($price.text().trim());
4257        }
4258      }
4259
4260      goodsNode += "</div></div>";
4261
4262      $(goodsNode).appendTo(parent);
4263    } else {
4264      parent.closest(".jqmWindow").addClass("compact");
4265    }
4266  }
4267
4268  if (name == "fast_view" && $(".smart-filter-filter").length) {
4269    var navButtons =
4270      '<div class="navigation-wrapper-fast-view">' +
4271      '<div class="fast-view-nav prev bg-theme-hover" data-fast-nav="prev">' +
4272      '<i class="svg left">' +
4273      '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 12" width="6px" height="12px" fill="none" id="left-hollow"><path d="M5 1L1 6L5 11" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>' +
4274      "</i>" +
4275      "</div>" +
4276      '<div class="fast-view-nav next bg-theme-hover" data-fast-nav="next">' +
4277      '<i class="svg right">' +
4278      '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 12" width="6px" height="12px" fill="none" id="right-hollow"><path d="M1 1L5 6L1 11" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>
4278' +
4279      "</i>" +
4280      "</div>" +
4281      "</div>";
4282
4283    // hash.w.addClass("no_custom_scroll");
4284    hash.w.closest("#popup_iframe_wrapper").append(navButtons);
4285  }
4286
4287  var needScrollbar = true;
4288
4289  if (
4290    arAsproOptions["THEME"]["REGIONALITY_SEARCH_ROW"] == "Y" &&
4291    (hash.w.hasClass("city_chooser_frame") || hash.w.hasClass("city_chooser_small_frame"))
4292  ) {
4293    hash.w.addClass("small_popup_regions");
4294    hash.w.addClass("jqmWindow--overflow-visible");
4295    needScrollbar = false;
4296  }
4297
4298  /*if (!hash.w.hasClass("no_custom_scroll")) {
4299    hash.w.addClass("show srollbar-custom").css({ opacity: 1 });
4300    InitScrollBar();
4301  }*/
4302  hash.w.addClass("show").css({ opacity: 1 });
4303  if (needScrollbar) hash.w.find(">div").addClass("scrollbar");
4304}
4305
4306function onHidejqm(name, hash) {
4307  if ($(hash.w).data("autohide")) {
4308    eval($(hash.w).data("autohide"));
4309  }
4310
4311  // hash.w.css('opacity', 0).hide();
4312  hash.w.animate({ opacity: 0 }, 200, function () {
4313    // hash.w.removeClass("scroll-init srollbar-custom").mCustomScrollbar("destroy");
4314    hash.w.hide();
4315    hash.w.empty();
4316    hash.o.remove();
4317    hash.w.removeClass("show");
4318    hash.w.removeClass("success");
4319
4320    if (!hash.w.closest("#popup_iframe_wrapper").find(".jqmOverlay").length) {
4321      $("body").css({ overflow: "", height: "" });
4322      hash.w.closest("#popup_iframe_wrapper").css({ "z-index": "", display: "" });
4323    }
4324
4325    if (window.matchMedia("(max-width: 991px)").matches) {
4326      $("body").removeClass("all_viewed");
4327    }
4328    if (!$(".overlay").length && (!$(".jqmOverlay").length || $(".jqmOverlay.waiting").length)) {
4329      $("body").removeClass("jqm-initied");
4330    }
4331
4332    $("body").removeClass("swipeignore");
4333    $("body").removeClass("overflow-block");
4334
4335    if (name == "fast_view") {
4336      $(".fast_view_popup").remove();
4337
4338      var navButtons = hash.w.closest("#popup_iframe_wrapper").find(".navigation-wrapper-fast-view");
4339      navButtons.remove();
4340    }
4341
4342    if (name == "ocb") {
4343      hash.w.removeClass("compact");
4344    }
4345
4346    if (name == "stores") {
4347      window.GLOBAL_arMapObjects = {};
4348    }
4349  });
4350
4351  window.b24form = false;
4352}
4353
4354function parseUrlQuery() {
4355  var data = {};
4356  if (location.search) {
4357    var pair = location.search.substr(1).split("&");
4358    for (var i = 0; i < pair.length; i++) {
4359      var param = pair[i].split("=");
4360      data[param[0]] = param[1];
4361    }
4362  }
4363  return data;
4364}
4365
4366function scroll_block(block) {
4367  if (block.length) {
4368    var topPos = block.offset().top,
4369      headerH = $("header").outerHeight(true, true);
4370    if ($(".stores_tab").length) {
4371      $(".stores_tab").addClass("active").siblings().removeClass("active");
4372    } else {
4373      $(".prices_tab").addClass("active").siblings().removeClass("active");
4374      if ($(".prices_tab .opener").length && !$(".prices_tab .opener .opened").length) {
4375        var item = $(".prices_tab .opener").first();
4376        item.find(".opener_icon").addClass("opened");
4377        item.parents("tr").addClass("nb");
4378        item.parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200);
4379      }
4380    }
4381    $("html,body").animate({ scrollTop: topPos - 80 }, 150);
4382  }
4383}
4384
4385$.fn.jqmEx = function (onLoad, onHide) {
4386  $(this).each(function () {
4387    let $this = $(this);
4388    let name = $this.data("name");
4389    name = typeof name === "undefined" || !name.length ? "noname" : name;
4390
4391    let paramsStr = "";
4392    let trigger = $this;
4393
4394    // trigger attrs and params
4395    $.each($this.get(0).attributes, function (index, attr) {
4396      var attrName = attr.nodeName;
4397      var attrValue = $this.attr(attrName);
4398      if (/^data\-param\-(.+)$/.test(attrName)) {
4399        var key = attrName.match(/^data\-param\-(.+)$/)[1];
4400        if (key === "href") {
4401          paramsStr += key + "=" + encodeURIComponent(location.href.replace(location.origin, "")) + "&";
4402        } else {
4403          paramsStr += key + "=" + attrValue.replace(/ /g, "+") + "&";
4404        }
4405      }
4406    });
4407
4408    // one click buy with sale
4409    if (name == "ocb" && arAsproOptions.MODULES.sale) {
4410      const $buyAction = $this.closest(".js-popup-block").find('.buy_block .js-item-action[data-action="basket"]');
4411      if ($buyAction.length) {
4412        let action = JItemAction.factory($buyAction[0]);
4413        if (action.valid) {
4414          let dataItem = action.data;
4415          if (dataItem) {
4416            paramsStr += "ELEMENT_ID=" + dataItem.ID + "&";
4417            paramsStr += "IBLOCK_ID=" + dataItem.IBLOCK_ID + "&";
4418            paramsStr += "ELEMENT_QUANTITY=" + action.quantity + "&";
4419          }
4420
4421          let props = action.node.getAttribute("data-props") || "";
4422          try {
4423            props = props.length ? props.split(";") : [];
4424          } catch (e) {
4425            props = [];
4426          }
4427
4428          paramsStr += "OFFER_PROPS=" + JSON.stringify(props) + "&";
4429        }
4430      }
4431    }
4432
4433    // popup url
4434    let script = arAsproOptions["SITE_DIR"] + "ajax/form.php";
4435    if (name == "auth") {
4436      script += "?" + paramsStr + "auth=Y";
4437    } else {
4438      script += "?" + paramsStr;
4439    }
4440
4441    // ext frame class
4442    let extClass = "";
4443    if ($this.closest("#fast_view_item").length) {
4444      extClass = "fast_view_popup";
4445    }
4446
4447    // use overlay?
4448    var noOverlay = $this.data("noOverlay") == "Y";
4449
4450    // call counter
4451    if (typeof $.fn.jqmEx.counter === "undefined") {
4452      $.fn.jqmEx.counter = 0;
4453    } else {
4454      ++$.fn.jqmEx.counter;
4455    }
4456
4457    // unique frame to each trigger
4458    if (noOverlay) {
4459      var frame = $(
4460        '<div class="' +
4461          name +
4462          "_frame " +
4463          extClass +
4464          ' jqmWindow jqmWindow--mobile-fill popup" data-popup="' +
4465          $.fn.jqmEx.counter +
4466          '"></div>'
4467      ).appendTo("body");
4468    } else {
4469      var frame = $(
4470        '<div class="' +
4471          name +
4472          "_frame " +
4473          extClass +
4474          ' jqmWindow jqmWindow--mobile-fill popup" data-popup="' +
4475          $.fn.jqmEx.counter +
4476          '"></div>'
4477      ).appendTo("#popup_iframe_wrapper");
4478    }
4479
4480    frame.jqm({
4481      ajax: script,
4482      trigger: trigger,
4483      noOverlay: noOverlay,
4484      onLoad: function (hash) {
4485        onLoadjqm(name, hash, $this);
4486
4487        if (typeof onLoad === "function") {
4488          onLoad(name, hash, $this);
4489        }
4490      },
4491      onHide: function (hash) {
4492        onHidejqm(name, hash, $this);
4493
4494        if (typeof onHide === "function") {
4495          onHide(name, hash, $this);
4496        }
4497      },
4498    });
4499  });
4500};
4501
4502InitOwlSlider = function () {
4503  $(".owl-carousel:not(.owl-loaded):not(.appear-block)").each(function () {
4504    var slider = $(this);
4505    var options;
4506    var svg =
4507      '<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 1L1 6L6 11" stroke="#333333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>';
4508    var defaults = {
4509      navText: [
4510        '<i class="owl-carousel__button owl-carousel__button--left colored_theme_bg_hover">' + svg + "</i>",
4511        '<i class="owl-carousel__button owl-carousel__button--right colored_theme_bg_hover">' + svg + "</i>",
4512      ],
4513      dotsContainer: slider.siblings(".owl-carousel__dots"),
4514    };
4515    var config = $.extend({}, defaults, options, slider.data("plugin-options"));
4516
4517    slider.siblings(".owl-carousel__dots").on("click", ".owl-carousel__dot", function () {
4518      var _this = $(this);
4519      var sliderData = slider.data("owl.carousel");
4520
4521      slider.trigger("to.owl.carousel", [_this.index(), 300]);
4522      if (sliderData.settings.autoplayHoverPause) {
4523        slider.trigger("mouseover.owl.autoplay");
4524      }
4525    });
4526
4527    if (slider.hasClass("destroyed")) {
4528      slider.owlCarousel(config);
4529      slider.removeClass("destroyed");
4530      return;
4531    }
4532
4533    slider.on("initialized.owl.carousel", function (event) {
4534      var eventdata = { slider: $(event.target), data: event };
4535
4536      BX.onCustomEvent("onSliderInitialized", [eventdata]);
4537      BX.onCustomEvent("onSlide", [eventdata]);
4538
4539      $(event.target).removeClass("loading-state");
4540      $(event.target).find(".owl-item:first").addClass("current");
4541
4542      if (typeof sliceItemBlockSlide === "function") {
4543        sliceItemBlockSlide();
4544      }
4545    });
4546
4547    // if slider was inited on animated scrolling to block, than need rescroll
4548    if ($("body.scrolling-state").length) {
4549      slider.on("initialized.owl.carousel", function (event) {
4550        setTimeout(function () {
4551          scrollToBlock.rescroll();
4552        }, 100);
4553      });
4554    }
4555
4556    slider.on("change.owl.carousel", function (event) {
4557      // var eventdata = {slider: $(event.target)};
4558      // BX.onCustomEvent('onSlide', [eventdata]);
4559    });
4560
4561    slider.owlCarousel(config);
4562
4563    slider.on("resized.owl.carousel", function (event) {
4564      if (typeof sliceItemBlockSlide === "function") {
4565        sliceItemBlockSlide({ resize: false });
4566      }
4567    });
4568
4569    slider.on("mouseover.owl.autoplay", function (event) {
4570      var slider = $(event.target).closest(".owl-carousel");
4571      var sliderData = slider.data("owl.carousel");
4572      var dots = slider.siblings(".owl-carousel__dots--autoplay");
4573      if (typeof sliderData !== "undefined") {
4574        var bNeedStopDotsAnimation =
4575          sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length;
4576        if (bNeedStopDotsAnimation) {
4577          var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie");
4578          if (animationBlock.length) {
4579            animationBlock.css("animation-play-state", "paused");
4580          }
4581        }
4582      }
4583    });
4584
4585    slider.on("mouseleave.owl.autoplay", function (event) {
4586      var slider = $(event.target).closest(".owl-carousel");
4587      var sliderData = slider.data("owl.carousel");
4588      var dots = slider.siblings(".owl-carousel__dots--autoplay");
4589      if (typeof sliderData !== "undefined") {
4590        var bNeedStopDotsAnimation =
4591          sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length;
4592        var rotating = sliderData._states.current.rotating;
4593        if (bNeedStopDotsAnimation && rotating) {
4594          var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie");
4595          if (animationBlock.length) {
4596            animationBlock.css("animation-play-state", "");
4597          }
4598        }
4599      }
4600    });
4601
4602    slider.on("stop.owl.autoplay", function (event) {
4603      var slider = $(event.target);
4604      var sliderData = slider.data("owl.carousel");
4605      var dots = slider.siblings(".owl-carousel__dots--autoplay");
4606      if (typeof sliderData !== "undefined") {
4607        var bNeedStopDotsAnimation =
4608          sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length;
4609        if (bNeedStopDotsAnimation) {
4610          var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie");
4611          if (animationBlock.length) {
4612            dots.find(".owl-carousel__dot.active").addClass("reset-animation");
4613            animationBlock.css("animation-play-state", "paused");
4614          }
4615        }
4616      }
4617    });
4618
4619    slider.on("play.owl.autoplay", function (event) {
4620      var slider = $(event.target);
4621      var sliderData = slider.data("owl.carousel");
4622      var dots = slider.siblings(".owl-carousel__dots--autoplay");
4623      if (typeof sliderData !== "undefined") {
4624        var bNeedStopDotsAnimation =
4625          sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length;
4626        dots.find(".owl-carousel__dot.reset-animation").removeClass("reset-animation");
4627        if (bNeedStopDotsAnimation && !slider.is(":hover") && !dots.is(":hover")) {
4628          var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie");
4629          if (animationBlock.length) {
4630            animationBlock.css("animation-play-state", "");
4631          }
4632        }
4633      }
4634    });
4635
4636    slider.on("touchstart.owl.core", function (event) {
4637      slider.trigger("stop.owl.autoplay");
4638    });
4639
4640    slider.siblings(".owl-carousel__dots--autoplay").on("mouseover", function (event) {
4641      var sliderData = slider.data("owl.carousel");
4642      if (sliderData.settings.autoplayHoverPause) {
4643        slider.trigger("mouseover.owl.autoplay");
4644      }
4645    });
4646
4647    slider.on("changed.owl.carousel", function (event) {
4648      var $slider = $(event.target);
4649      var sliderData = $slider.data("owl.carousel");
4650      var pluginOptions = $slider.data("pluginOptions");
4651
4652      var eventdata = { slider: $slider, data: event };
4653      BX.onCustomEvent("onSlide", [eventdata]);
4654
4655      if (pluginOptions) {
4656        // click .ajax_load_btn
4657        if ($slider.parent().find(".ajax_load_btn").length) {
4658          if (sliderData._current + 1 + sliderData.settings.items >= sliderData._items.length) {
4659            $slider.parent().find(".ajax_load_btn").trigger("click");
4660          }
4661        }
4662        if (typeofExt(pluginOptions) === "object") {
4663          if ("index" in pluginOptions) {
4664            if ($(".gallery-view_switch").length) {
4665              $(".gallery-view_switch__count-wrapper--big .gallery-view_switch__count-value").text(
4666                event.item.index + 1 + "/" + event.item.count
4667              );
4668            }
4669          }
4670
4671          if ("relatedTo" in pluginOptions) {
4672            var relatedClass = pluginOptions.relatedTo,
4673              relatedBlock = $(relatedClass);
4674
4675            if (relatedBlock.length && sliderData) {
4676              if (!sliderData.loop) {
4677                var current = event.item.index;
4678              } else {
4679                var count = event.item.count - 1;
4680                var current = Math.round(event.item.index - event.item.count / 2 - 0.5);
4681
4682                if (current < 0) current = count;
4683
4684                if (current > count) current = 0;
4685              }
4686
4687              relatedBlock.find(".owl-item").removeClass("current").eq(current).addClass("current");
4688
4689              var onscreen = relatedBlock.find(".owl-item.active").length - 1;
4690              var start = relatedBlock.find(".owl-item.active").first().index();
4691              var end = relatedBlock.find(".owl-item.active").last().index();
4692
4693              if (current > end) relatedBlock.data("owl.carousel").to(current, 100, true);
4694
4695              if (current < start) relatedBlock.data("owl.carousel").to(current - onscreen, 100, true);
4696              // $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel])
4697            }
4698          }
4699        }
4700      }
4701    });
4702
4703    slider.on("translated.owl.carousel", function (event) {});
4704
4705    if ("clickTo" in config) {
4706      var relatedClass = config.clickTo,
4707        magnifier = "magnifier" in config;
4708
4709      slider.on("click", ".owl-item", function (e) {
4710        e.preventDefault();
4711        var _this = $(this),
4712          number = _this.index();
4713
4714        if (magnifier) {
4715          if ($(relatedClass).closest(".product-container").find(".zoom_picture").length) {
4716            $(relatedClass)
4717              .closest(".product-container")
4718              .find(".zoom_picture")
4719              .attr("data-large", _this.find(".product-detail-gallery__item").data("big"));
4720            $(relatedClass)
4721              .closest(".product-container")
4722              .find(".zoom_picture")
4723              .attr("xoriginal", _this.find(".product-detail-gallery__item").data("big"));
4724            $(relatedClass)
4725              .closest(".product-container")
4726              .find(".zoom_picture")
4727              .attr("src", _this.find(".product-detail-gallery__item img").attr("src"));
4728          }
4729          _this.siblings("").removeClass("current");
4730          _this.addClass("current");
4731        } else {
4732          $(relatedClass).data("owl.carousel").to(number, 300, true);
4733        }
4734      });
4735    }
4736  });
4737};
4738
4739InitFlexSlider = function () {};
4740
4741InitFlexSliderClass = function (class_name) {};
4742
4743InitFlexSliderMin = function () {};
4744
4745InitAppear = function () {
4746  // progress bar
4747  $("[data-appear-progress-animation]").iAppear(
4748    function () {
4749      var $this = $(this);
4750
4751      var delay = $this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1;
4752      if (delay > 1) $this.css("animation-delay", delay + "ms");
4753      $this.addClass($this.attr("data-appear-animation"));
4754
4755      setTimeout(function () {
4756        $this.animate(
4757          {
4758            width: $this.attr("data-appear-progress-animation"),
4759          },
4760          1500,
4761          "easeOutQuad",
4762          function () {
4763            $this.find(".progress-bar-tooltip").animate(
4764              {
4765                opacity: 1,
4766              },
4767              500,
4768              "easeOutQuad"
4769            );
4770          }
4771        );
4772      }, delay);
4773    },
4774    {
4775      rootMargin: "-50px 0px -50px 0px",
4776      accX: 0,
4777      accY: -50,
4778    }
4779  );
4780
4781  // portfolio item
4782  $(".item.animated-block").iAppear(function () {
4783    $(this).addClass($(this).data("animation")).addClass("visible");
4784  });
4785
4786  // flexslider appear
4787  $(".appear-block").iAppear(function () {
4788    const eventdata = { target: this };
4789    BX.onCustomEvent("onAppearBlockShow", [eventdata]);
4790
4791    $(this).removeClass("appear-block");
4792    CheckFlexSlider();
4793    InitFlexSlider();
4794    InitOwlSlider();
4795    initSwiperSlider();
4796  });
4797};
4798
4799SliceHeightBlocks = function () {
4800  $('*[data-slice="Y"]').each(function () {
4801    var slice_els = $(this).find('*[data-slice-block="Y"]');
4802    if (slice_els.length) {
4803      var slice_params = {};
4804      if (slice_els.data("slice-params")) slice_params = slice_els.data("slice-params");
4805      slice_els.sliceHeight(slice_params);
4806    }
4807  });
4808};
4809
4810createTableCompare = function (originalTable, appendDiv, cloneTable) {
4811  try {
4812    if ($(".tarifs .head-block:visible").length) {
4813      var clone = originalTable.clone().addClass("clone");
4814      if (cloneTable.length) {
4815        cloneTable.remove();
4816        appendDiv.html("");
4817        appendDiv.html(clone);
4818      } else {
4819        appendDiv.append(clone);
4820      }
4821    }
4822  } catch (e) {
4823  } finally {
4824  }
4825};
4826
4827InitTopestMenuGummi = function () {
4828  if (!isOnceInited) {
4829    function _init() {
4830      var arItems = $menuTopest.find(".menu-topest__item");
4831      var cntItems = arItems.length;
4832      if (cntItems) {
4833        var itemsWidth = 0;
4834        for (var i = 0; i < cntItems; ++i) {
4835          var item = arItems.eq(i);
4836          var itemWidth = item.actual("outerWidth", { includeMargin: true });
4837
4838          arItemsHideWidth[i] = (itemsWidth += itemWidth) + (i == cntItems - 1 ? 0 : moreWidth);
4839        }
4840      }
4841    }
4842
4843    function _gummi() {
4844      var rowWidth = $menuTopest.actual("innerWidth");
4845      var arItems = $menuTopest.find(".menu-topest__item");
4846      var cntItems = arItems.length;
4847      var arItemsToRemove = [];
4848
4849      if (cntItems) {
4850        var bMore = false;
4851        var moreItems = [];
4852        for (var i = cntItems - 1; i >= 0; --i) {
4853          var item = arItems.eq(i);
4854          var bInMore = item.parents(".menu-topest__more").length > 0;
4855          if (!bInMore) {
4856            if (arItemsHideWidth[i] > rowWidth + 1) {
4857              if (!bMore) {
4858                bMore = true;
4859                more.removeClass("hidden");
4860              }
4861              var clone = item.clone();
4862              clone.find(">a").addClass("dark_font");
4863              moreItems.push(clone[0]);
4864              arItemsToRemove.push(i);
4865            } else {
4866              break;
4867            }
4868          }
4869        }
4870        $(moreItems).prependTo(moreDropdown);
4871
4872        if (!bMore) {
4873          for (var i = 0; i < cntItems; ++i) {
4874            var item = arItems.eq(i);
4875            var bInMore = item.parents(".menu-topest__more li").length > 0;
4876            if (bInMore) {
4877              if (arItemsHideWidth[i] <= rowWidth) {
4878                if (i === cntItems - 1) {
4879                  bMore = false;
4880                  more.addClass("hidden");
4881                }
4882                var clone = item.clone();
4883                clone.find(">a").removeClass("dark_font");
4884                clone.insertBefore(more);
4885                item.addClass("cloned");
4886              }
4887            }
4888          }
4889        }
4890
4891        if (arItemsToRemove.length) {
4892          arItemsToRemove.map(function (elIndex) {
4893            $(arItems[elIndex]).remove();
4894          });
4895        }
4896
4897        $menuTopest.find(".menu-topest__item.cloned").remove();
4898        $menuTopest.closest(".menu-topest__wrapper").addClass("dotted-complete");
4899        var wrapper = $menuTopest.closest(".hide-dotted");
4900        if (wrapper.length) {
4901          wrapper.addClass("dotted-complete");
4902        }
4903      }
4904    }
4905
4906    var $menuTopest = $(".menu-topest");
4907    if ($menuTopest.length) {
4908      var more = $menuTopest.find(".menu-topest__more");
4909      var moreDropdown = more.find(">.dropdown");
4910      var moreWidth = more.actual("outerWidth", { includeMargin: true });
4911      var arItemsHideWidth = [];
4912
4913      ignoreResize.push(true);
4914      _init();
4915      _gummi();
4916      ignoreResize.pop();
4917
4918      BX.addCustomEvent("onWindowResize", function (eventdata) {
4919        try {
4920          ignoreResize.push(true);
4921          _gummi();
4922        } catch (e) {
4923        } finally {
4924          ignoreResize.pop();
4925        }
4926      });
4927    }
4928  }
4929};
4930
4931CheckHeaderFixedMenu = function () {
4932  if (
4933    arAsproOptions["THEME"]["HEADER_FIXED"] == 2 &&
4934    $("#headerfixed .js-nav").length &&
4935    window.matchMedia("(min-width: 992px)").matches
4936  ) {
4937    $("#headerfixed .js-nav").css("width", "0");
4938    var all_width = 0,
4939      cont_width = $("#headerfixed .maxwidth-theme").actual("width"),
4940      padding_menu =
4941        $("#headerfixed .logo-row.v2 .menu-block").actual("outerWidth") -
4942        $("#headerfixed .logo-row.v2 .menu-block").actual("width");
4943    $("#headerfixed .logo-row.v2 > .inner-table-block").each(function () {
4944      if (!$(this).hasClass("menu-block")) all_width += $(this).actual("outerWidth");
4945    });
4946    $("#headerfixed .js-nav").width(cont_width - all_width - padding_menu);
4947  }
4948};
4949
4950/*function CheckTopMenuPadding() {
4951  if ($(".logo_and_menu-row .right-icons .wrap_icon").length && $(".logo_and_menu-row .menu-row").length) {
4952    var menuPosition = $(".menu-row .menu-only").position().left,
4953      maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 32,
4954      leftPadding = 0,
4955      rightPadding = 0;
4956
4957    $(".logo_and_menu-row .menu-row>div")
4958      .each(function (indx) {
4959        if (!$(this).hasClass("menu-only")) {
4960          var elementPosition = $(this).position().left,
4961            elementWidth = $(this).outerWidth();
4962
4963          if (elementPosition > menuPosition) {
4964            rightPadding += elementWidth;
4965          } else {
4966            leftPadding += elementWidth;
4967          }
4968        }
4969      })
4970      .promise()
4971      .done(function () {
4972        $(".logo_and_menu-row .menu-only").css({ "padding-left": leftPadding, "padding-right": rightPadding + 1 });
4973      });
4974  }
4975};*/
4976
4977/*function CheckTopMenuOncePadding() {
4978  if ($(".menu-row.sliced .right-icons .wrap_icon").length) {
4979    var menuPosition = $(".menu-row .menu-only").position().left,
4980      maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 32,
4981      leftPadding = 0,
4982      rightPadding = 0;
4983
4984    $(".menu-row.sliced .maxwidth-theme>div>div")
4985      .each(function (indx) {
4986        if (!$(this).hasClass("menu-only")) {
4987          var elementPosition = $(this).position().left,
4988            elementWidth = $(this).outerWidth();
4989
4990          if (elementPosition > menuPosition) {
4991            rightPadding += elementWidth;
4992          } else {
4993            leftPadding += elementWidth;
4994          }
4995        }
4996      })
4997      .promise()
4998      .done(function () {
4999        $(".menu-row.sliced .menu-only").css({ "padding-left": leftPadding, "padding-right": rightPadding + 1 });
5000      });
5001  }
5002};
5003*/
5004
5005CheckSearchWidth = function () {
5006  if ($(".logo_and_menu-row .search_wrap").length) {
5007    var searchPosition = $(".logo_and_menu-row .search_wrap").position().left,
5008      maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 32;
5009    width = 0;
5010
5011    $(".logo_and_menu-row .maxwidth-theme>div")
5012      .each(function () {
5013        if (!$(this).hasClass("search_wrap")) {
5014          var elementWidth = $(this).outerWidth();
5015
5016          width = width ? width - elementWidth : maxWidth - elementWidth;
5017        }
5018      })
5019      .promise()
5020      .done(function () {
5021        $(".logo_and_menu-row .search_wrap").outerWidth(width).css({ opacity: 1, visibility: "visible" });
5022      });
5023  }
5024};
5025
5026var scrollToTopAnimateClassIn = false;
5027var scrollToTopAnimateClassOut = false;
5028
5029var $body = {};
5030var isOnceInited = false;
5031
5032if (navigator.userAgent.indexOf("Edge") != -1) document.documentElement.className += " edge";
5033
5034initFull = function () {
5035  checkMobileRegion();
5036};
5037
5038var isFrameDataReceived = false;
5039if (typeof window.frameCacheVars !== "undefined") {
5040  BX.addCustomEvent(window, "onFrameDataRequestFail", function (response) {
5041    // console.log(response);
5042  });
5043
5044  BX.addCustomEvent("onFrameDataReceivedBefore", function () {
5045    // stop ya metrika webvisor DOM indexer
5046    pauseYmObserver();
5047  });
5048
5049  BX.addCustomEvent("onFrameDataReceived", function (json) {
5050    initFull();
5051
5052    // resume ya metrika webvisor
5053    // (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload)
5054    setTimeout(resumeYmObserver, 400);
5055
5056    isFrameDataReceived = true;
5057  });
5058} else {
5059  $(document).ready(initFull);
5060}
5061
5062scrollPreviewBlock = function () {
5063  scrollToBlock($.cookie("scroll_block"));
5064  $.cookie("scroll_block", null);
5065};
5066
5067checkMobileRegion = function () {
5068  if ($(".confirm_region").length) {
5069    if (!$(".top_mobile_region").length)
5070      $('<div class="top_mobile_region"><div class="confirm_region"></div></div>').insertBefore($(".body"));
5071    $(".top_mobile_region .confirm_region").html($(".regions .confirm_region").html());
5072  }
5073};
5074
5075const CloseMobileSearch = function () {
5076  const $body = document.querySelector("body");
5077  const $header = document.querySelector('[data-ajax-block="HEADER"]');
5078  const $mobileHeader = document.querySelector("#mobileheader");
5079
5080  $body.classList.remove("header--mobile-search-active", "jqm-initied", "overflow-block");
5081  $header.classList.remove("filter-none");
5082};
5083
5084// on submit form
5085BX.addCustomEvent("onSubmitForm", function (eventdata) {
5086  try {
5087    if (typeof eventdata === "object" && eventdata && eventdata.form) {
5088      if (!(eventdata.form instanceof Node)) {
5089        eventdata.form = eventdata.form[0];
5090      }
5091
5092      if (!eventdata.novalidate) {
5093        BX.Aspro?.Validation?.appendFields?.(eventdata.form);
5094      }
5095
5096      new Promise((resolve, reject) => {
5097        if (BX.Aspro?.Captcha) {
5098          BX.Aspro.Captcha.onSubmit(eventdata)
5099            .then((result) => {
5100              resolve(result);
5101            })
5102            .catch((e) => {
5103              reject(e);
5104            });
5105
5106          return;
5107        }
5108
5109        resolve(true);
5110      }).then((result) => {
5111        if (result) {
5112          eventdata.form.submit();
5113          if (eventdata.form.closest(".form")) {
5114            eventdata.form.closest(".form").classList.add("sending");
5115          }
5116        }
5117      });
5118    }
5119  } catch (e) {
5120    console.error(e);
5121  }
5122});
5123
5124$(document).ready(function () {
5125  typeof scrollToTop === "function" && scrollToTop();
5126
5127  InitScrollBar();
5128
5129  // ripple effect for buttons
5130  $.ripple(".btn:not(.btn--no-ripple)", {
5131    debug: false, // Turn Ripple.js logging on/off
5132    on: "mousedown", // The event to trigger a ripple effect
5133    opacity: 0.4, // The opacity of the ripple
5134    color: "auto", // Set the background color. If set to "auto", it will use the text color
5135    multi: true, // Allow multiple ripples per element
5136    duration: 0.6, // The duration of the ripple
5137    easing: "linear", // The CSS3 easing function of the ripple
5138  });
5139
5140  if (!jQuery.browser.safari) {
5141    CheckTopMenuPadding();
5142    CheckTopMenuOncePadding();
5143    CheckHeaderFixed();
5144    CheckTopMenuDotted();
5145    MegaMenuFixed();
5146    CheckSearchWidth();
5147    InitTopestMenuGummi();
5148    isOnceInited = true;
5149    /*
5150    setTimeout(function () {
5151      $(window).resize(); // need to check resize flexslider & menu
5152    }, 350);
5153    */
5154
5155    setTimeout(function () {
5156      $(window).scroll();
5157    }, 250); // need to check position fixed ask block
5158  } else {
5159    setTimeout(function () {
5160      $(window).resize(); // need to check resize flexslider & menu
5161
5162      setTimeout(function () {
5163        CheckTopMenuPadding();
5164        CheckTopMenuOncePadding();
5165        CheckHeaderFixed();
5166        CheckTopMenuDotted();
5167        MegaMenuFixed();
5168        CheckSearchWidth();
5169        InitTopestMenuGummi();
5170        isOnceInited = true;
5171
5172        setTimeout(function () {
5173          $(window).scroll();
5174        }, 50);
5175      }, 50);
5176    }, 350);
5177  }
5178
5179  // change type2 menu for fixed
5180  if ($("#headerfixed .js-nav").length) {
5181    if (arAsproOptions["THEME"]["HEADER_FIXED"] == 2) CheckHeaderFixedMenu();
5182
5183    setTimeout(function () {
5184      $("#headerfixed .js-nav").addClass("opacity1");
5185    }, 350);
5186  }
5187
5188  // close search block
5189  $("html, body").on("mousedown", function (e) {
5190    if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) {
5191      e.stopPropagation();
5192      var search_target = $(e.target).closest(".search-result");
5193
5194      if (isMobile) {
5195        if (search_target.length) location.href = search_target.attr("href");
5196      }
5197
5198      if (!$(e.target).closest(".hint.active").length) {
5199        $(".hint.active .hint__icon").trigger("click");
5200      }
5201
5202      var class_name = $(e.target).attr("class");
5203      if (typeof class_name == "undefined" || class_name.indexOf("tooltip") < 0)
5204        //tooltip link
5205        $(".tooltip-link").tooltip("hide");
5206    }
5207  });
5208  $(".inline-search-block")
5209    .find("*")
5210    .on("mousedown", function (e) {
5211      e.stopPropagation();
5212    });
5213
5214  $(".filter-action").on("click", function () {
5215    $(this).toggleClass("active");
5216    $(this).find(".svg").toggleClass("white");
5217    if ($(".introtext").length) {
5218      var top_pos = $(".filters-wrap").position();
5219      $(".bx_filter").css({ top: top_pos.top + 40 });
5220    }
5221    $(".bx_filter").slideToggle();
5222  });
5223
5224  // -- scroll after apply option
5225  scrollPreviewBlock();
5226
5227  // expand/hide filter values
5228  $(document).on("click", ".expand_block", function () {
5229    togglePropBlock($(this));
5230  });
5231
5232  // popup img list
5233  $(document).on("click", ".fancy-js", function () {
5234    const parent = $(this).closest(".image-list");
5235    let arItems = [];
5236    let index = 0;
5237    parent.find("[data-big]").each(function () {
5238      let _this = $(this);
5239      let obItem = {
5240        src: _this.data("big"),
5241        opts: {
5242          caption: _this.attr("alt"),
5243        },
5244      };
5245      arItems.push(obItem);
5246    });
5247    index = parent.find(".active").index();
5248    if (arItems.length) {
5249      if (typeof $.fn.fancybox === "function") {
5250        $.fancybox.open(arItems, { loop: false }, index);
5251      }
5252    }
5253  });
5254
5255  InitOwlSlider();
5256  InitFlexSlider();
5257  InitFlexSliderMin();
5258
5259  InitFancyBox();
5260  InitFancyBoxVideo();
5261
5262  // for check flexslider bug in composite mode
5263  waitingNotExists(".detail .galery #slider", ".detail .galery #slider .flex-viewport", 1000, function () {
5264    InitOwlSlider();
5265    InitFlexSlider();
5266    setTimeout(function () {
5267      $(window).resize();
5268    }, 350);
5269  });
5270
5271  // change view type catalog
5272  $(".view-button").on("click", function () {
5273    $(this).siblings().removeClass("cur");
5274    $(this).addClass("cur");
5275  });
5276
5277  // -- escape close popup form
5278  $(document).on("keydown", function (e) {
5279    if (e.keyCode == 27) {
5280      if ($(".main-user-consent-request-popup:visible").length) {
5281        BX.onCustomEvent("onUserConsentHide", []);
5282        return;
5283      }
5284
5285      BX.onCustomEvent("onAsproEscapeButton");
5286
5287      if ($(".jqmWindow.show").length) {
5288        $(".jqmWindow.show:last").jqmHide();
5289      }
5290
5291      if ($(".mega-fixed-menu").is(":visible")) {
5292        $(".mega-fixed-menu .mega-fixed-menu__close").click();
5293      }
5294    }
5295  });
5296
5297  $(document).on("click", '*[data-event="jqm"]', function (e) {
5298    e.preventDefault();
5299    e.stopPropagation();
5300    if (!$(this).hasClass("clicked")) {
5301      $(this).addClass("clicked");
5302      $(this).jqmEx();
5303      $(this).trigger("click");
5304    }
5305  });
5306
5307  $(document).on("click", ".animate-load", function (e) {
5308    $(this).parent().addClass("loadings");
5309  });
5310
5311  BX.addCustomEvent("onCompleteAction", function (eventdata, _this) {
5312    try {
5313      if (eventdata.action === "loadForm") {
5314        $(_this).parent().removeClass("loadings");
5315        $(_this).removeClass("clicked");
5316      } else if (eventdata.action === "loadBasket") {
5317      } else if (eventdata.action === "loadRSS") {
5318      } else if (eventdata.action === "jsLoadBlock") {
5319        InitScrollBar();
5320      } else if (eventdata.action === "ajaxContentLoaded") {
5321      }
5322    } catch (e) {
5323      console.error(e);
5324    }
5325  });
5326
5327  BX.addCustomEvent(window, "onAjaxSuccess", function (e) {
5328    if (e != "OK") {
5329      InitOwlSlider();
5330      InitFlexSlider();
5331      InitFlexSliderMin();
5332    }
5333  });
5334
5335  // show print
5336  if (arAsproOptions["THEME"]["PRINT_BUTTON"] == "Y") {
5337    setTimeout(function () {
5338      if ($(".page-top .rss-block.top").length) {
5339        $('<div class="print-link"><i class="svg svg-print"></i></div>').insertBefore(
5340          $(".page-top .rss-block.top .shares-block")
5341        );
5342      } else if ($(".page-top .rss").length) {
5343        $('<div class="print-link"><i class="svg svg-print"></i></div>').insertAfter($(".page-top .rss"));
5344      } else if ($(".page-top h1").length)
5345        $('<div class="print-link"><i class="svg svg-print"></i></div>').insertBefore($(".page-top h1"));
5346      // else
5347      // $('footer .print-block').html('<div class="print-link"><i class="svg svg-print"><svg id="Print.svg" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
5347ox="0 0 16 16"><path class="cls-1" d="M1553,287h-2v3h-8v-3h-2a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h2v-4h8v4h2a2,2,0,0,1,2,2v5A2,2,0,0,1,1553,287Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1539 -274)"/></svg></i></div>');
5348    }, 150);
5349  }
5350
5351  $(document).on("click", ".print-link", function () {
5352    window.print();
5353  });
5354
5355  $(".head-block .item-link").on("click", function () {
5356    var _this = $(this);
5357    _this.siblings().removeClass("active");
5358    _this.addClass("active");
5359  });
5360
5361  //alert(navigator.userAgent);
5362  $("table.table").each(function () {
5363    var _this = $(this),
5364      first_td = _this.find("thead tr th");
5365    if (!first_td.length) first_td = _this.find("thead tr td");
5366    if (first_td.length) {
5367      _this.find("tbody tr:not(.nomobile)").each(function (i) {
5368        $(this)
5369          .find("td")
5370          .each(function (i) {
5371            if (typeof first_td[i] !== "undefined")
5372              $('<div class="th-mobile">' + first_td[i].textContent + "</div>").appendTo($(this));
5373          });
5374      });
5375    }
5376  });
5377
5378  if ($("a.fancybox").length) {
5379    if (typeof $.fn.fancybox == "function") {
5380      $("a.fancybox").fancybox();
5381    }
5382  }
5383
5384  // flex pagination
5385  $(document).on("mouseenter", ".flex-viewport .item", function () {
5386    $(this).closest(".flexslider").find(".flex-control-nav").toggleClass("noz");
5387    $(this).closest(".flexslider").find(".flex-control-nav").css("z-index", "0");
5388  });
5389  $(document).on("mouseleave", ".flex-viewport .item", function () {
5390    $(this).closest(".flexslider").find(".flex-control-nav").toggleClass("noz");
5391    $(this).closest(".flexslider").find(".flex-control-nav").css("z-index", "2");
5392  });
5393
5394  // ajax more items
5395  $(document).on("click", ".ajax_load_btn", function () {
5396    var url = $(this).closest(".bottom_nav").find(".module-pagination-next").attr("href"),
5397      th = $(this).find(".more_text_ajax"),
5398      _this = $(this),
5399      bottom_nav = $(this).closest(".bottom_nav");
5400
5401    if (!th.hasClass("loadings")) {
5402      th.addClass("loadings");
5403
5404      var objUrl = parseUrlQuery(),
5405        obData = { AJAX_REQUEST: "Y", ajax_get: "Y", bitrix_include_areas: "N" };
5406
5407      if ("clear_cache" in objUrl && objUrl.clear_cache == "Y") {
5408        obData.clear_cache = "Y";
5409      }
5410
5411      //index page
5412      if ($(".body.index").length) {
5413        var class_block = th.closest(".drag-block").data("class").replace("_drag", "");
5414        class_block = class_block.replace(/\s/g, "");
5415        obData.BLOCK = class_block;
5416
5417        // get mainblock action file
5418        let $dragBlock = th.closest(".drag-block");
5419        if ($dragBlock.length) {
5420          $jsParamsBlock = $dragBlock[0].querySelector(".js-request-data");
5421          if ($jsParamsBlock) {
5422            if ($jsParamsBlock.dataset.action) {
5423              let action = new URL(window.location.origin + url);
5424              url = window.location.origin + $jsParamsBlock.dataset.action + action.search;
5425            }
5426          }
5427        }
5428      }
5429
5430      if (_this.closest(".ajax-pagination-wrapper").length) {
5431        obData.BLOCK = _this.closest(".ajax-pagination-wrapper").data("class");
5432      }
5433
5434      if ($(".banners-small.front").length) {
5435        obData.MD = $(".banners-small.front").find(".items").data("colmd");
5436        obData.SM = $(".banners-small.front").find(".items").data("colsm");
5437      }
5438
5439      // tabs block
5440      if (_this.closest(".tab-content-block").length) {
5441        var filter = th.closest(".tab-content-block").data("filter");
5442        obData.GLOBAL_FILTER = filter;
5443      }
5444
5445      $.ajax({
5446        url: url,
5447        data: BX.ajax.prepareData(obData),
5448        success: function (html) {
5449          var html = html.trim();
5450          var mobileBottomClicked = bottom_nav.hasClass("mobile_slider");
5451          var hasMobileBottomNav = $(html).find(".bottom_nav.mobile_slider");
5452          var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find(".bottom_nav");
5453          var bottomNavHtml = bottomNav.html();
5454          var bottomNavScrollClass = bottomNav.data("scroll-class");
5455          var hasBottomNav = $(html).find(".ajax_load_btn").length;
5456
5457          var eventdata = { action: "ajaxContentLoaded", content: html };
5458
5459          if ($(".banners-small.front").length) {
5460            $(".banners-small .items.row").append(html);
5461            $(".bottom_nav").html($(".banners-small .items.row .bottom_nav").html());
5462            $(".banners-small .items.row .bottom_nav").remove();
5463          } else if (bottom_nav.data("append") !== undefined && bottom_nav.data("parent") !== undefined) {
5464            var $slider = th.closest(bottom_nav.data("parent")).find(".owl-carousel");
5465            if ($slider.length) {
5466              var obData = BX.processHTML(html);
5467              html = obData.HTML;
5468
5469              var $slides = $("<div>" + html + "</div>").find(">*");
5470              $slides.each(function () {
5471                if (!$(this).hasClass("wrap_nav")) {
5472                  $slider.trigger("add.owl.carousel", [$(this).wrap("<div></div>").parent().html()]);
5473                }
5474              });
5475              $slider.trigger("refresh.owl.carousel");
5476
5477              setTimeout(function () {
5478                BX.ajax.processScripts(obData.SCRIPT);
5479              }, 100);
5480            } else {
5481              var target = html;
5482              if (bottom_nav.data("target") !== undefined) {
5483                target = $(html).find(bottom_nav.data("target"));
5484              }
5485              if (mobileBottomClicked || hasMobileBottomNav.length) {
5486                var mobileSliderNav = th.closest(bottom_nav.data("parent")).find(".bottom_nav.mobile_slider");
5487                if (mobileSliderNav.length) {
5488                  mobileSliderNav.before(target);
5489                } else {
5490                  bottom_nav.before(target);
5491                }
5492              } else {
5493                th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).append(target);
5494              }
5495              th.closest(bottom_nav.data("parent"))
5496                .find(bottom_nav.data("append"))
5497                .find(".bottom_nav_wrapper")
5498                .remove();
5499
5500              if (hasBottomNav) {
5501                if (bottomNavScrollClass !== undefined) {
5502                  th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).addClass("has-bottom-nav");
5503                }
5504                th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).addClass("has-bottom-nav");
5505              } else {
5506                if (bottomNavScrollClass !== undefined) {
5507                  th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).removeClass("has-bottom-nav");
5508                }
5509                th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).removeClass("has-bottom-nav");
5510              }
5511            }
5512
5513            bottom_nav = th.closest(bottom_nav.data("parent")).find(".bottom_nav");
5514            bottom_nav.html(bottomNavHtml);
5515            var icon = bottom_nav.find(".svg-inline-bottom_nav-icon");
5516            icon.css("display", "");
5517
5518            eventdata.container = th.closest(bottom_nav.data("parent"));
5519          } else {
5520            $(html).insertBefore($(".blog .bottom_nav"));
5521            $(".bottom_nav").html($(".blog .bottom_nav:hidden").html());
5522            $(".blog .bottom_nav:hidden").remove();
5523          }
5524
5525          setTimeout(function () {
5526            BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
5527            $(".banners-small .item.normal-block").sliceHeight();
5528            th.removeClass("loading");
5529          }, 100);
5530        },
5531      });
5532    }
5533  });
5534
5535  // bug fix in ff
5536  $("img").removeAttr("draggable");
5537
5538  // Responsive Menu Events
5539  var addActiveClass = false;
5540  $("#mainMenu li.dropdown > a > i, #mainMenu li.dropdown-submenu > a > i").on("click", function (e) {
5541    e.preventDefault();
5542    if ($(window).width() > 979) return;
5543    addActiveClass = $(this).closest("li").hasClass("resp-active");
5544    // $('#mainMenu').find('.resp-active').removeClass('resp-active');
5545    if (!addActiveClass) {
5546      $(this).closest("li").addClass("resp-active");
5547    } else {
5548      $(this).closest("li").removeClass("resp-active");
5549    }
5550  });
5551
5552  // animate increment
5553  if ($(".spincrement").length) {
5554    $(".spincrement").counterUp({
5555      delay: 80,
5556      time: 1000,
5557    });
5558  }
5559
5560  $(document).on("paste, change, keyup", ".form.blog-comment-fields input[required]", function () {
5561    let value = $(this).val();
5562
5563    if (value.length) {
5564      $(this).closest(".form-group").find("label.error").remove();
5565    }
5566  });
5567
5568  $(".toggle .more_items").on("click", function () {
5569    $(this).closest(".toggle").find(".collapsed").fadeToggle();
5570    $(this).remove();
5571    if (typeof $(this).data("resize") !== "undefined" && $(this).data("resize")) $(window).resize();
5572  });
5573  $(".toggle_menu .more_items").on("click", function () {
5574    $(this).closest(".toggle_menu").find(".collapsed").addClass("clicked_exp");
5575    $(this).remove();
5576  });
5577
5578  $(document).on("click", ".jqmOverlay.mobp", function (e) {
5579    HideOverlay();
5580  });
5581
5582  if ($(".styled-block .row > div.col-md-3").length) {
5583    BX.addCustomEvent("onWindowResize", function (eventdata) {
5584      try {
5585        ignoreResize.push(true);
5586        $(".styled-block .row > div.col-md-3").each(function () {
5587          $(this).css({ height: "", "line-height": "" });
5588          var z = parseInt($(".body_media").css("top"));
5589          if (z > 0) {
5590            var rowHeight = $(this).parents(".row").first().actual("outerHeight");
5591            $(this).css({ height: rowHeight + "px", "line-height": rowHeight + "px" });
5592          }
5593        });
5594      } catch (e) {
5595      } finally {
5596        ignoreResize.pop();
5597      }
5598    });
5599  }
5600
5601  if ($(".order-block").length) {
5602    BX.addCustomEvent("onWindowResize", function (eventdata) {
5603      try {
5604        ignoreResize.push(true);
5605        $(".order-block").each(function () {
5606          var cols = $(this).find(".row > div");
5607          if (cols.length) {
5608            var colFirst = cols.first();
5609            var colLast = cols.last();
5610            var colText = colFirst.find(".text");
5611            var bText = colText.length;
5612            var bOnlyText = cols.length === 1 && bText;
5613            var bPrice = colFirst.find(".price").length;
5614            var z = parseInt($(".body_media").css("top"));
5615
5616            cols.css({ height: "", "padding-top": "", "padding-bottom": "" });
5617            colText.css({ height: "", "padding-top": "", "padding-bottom": "" });
5618            if ((!bPrice && z > 0) || (bPrice && z > 1)) {
5619              var minHeight = 83;
5620
5621              if (!bOnlyText) {
5622                var colLast_height = colLast.outerHeight();
5623                colLast_height = colLast_height >= minHeight ? colLast_height : minHeight;
5624              }
5625
5626              if (bText) {
5627                var colFirst_height = colFirst.outerHeight();
5628                colFirst_height = colFirst_height >= minHeight ? colFirst_height : minHeight;
5629              }
5630
5631              var colMax_height = bText
5632                ? !bOnlyText
5633                  ? colLast_height >= colFirst_height
5634                    ? colLast_height
5635                    : colFirst_height
5636                  : colLast_height
5637                : colFirst_height;
5638
5639              if (!bOnlyText) {
5640                var textPadding = 41 + (colMax_height - colFirst.outerHeight()) / 2;
5641                colLast.find(".btns").css({
5642                  "padding-top": textPadding + "px",
5643                  "padding-bottom": textPadding + "px",
5644                  height: colMax_height + "px",
5645                });
5646              }
5647              if (bText) {
5648                colLast.css({ height: colMax_height + "px" });
5649                var textPadding = 41 + (colMax_height - colText.outerHeight()) / 2;
5650                colText.css({
5651                  "padding-top": textPadding + "px",
5652                  "padding-bottom": textPadding + "px",
5653                  height: colMax_height + "px",
5654                });
5655              }
5656            }
5657          }
5658        });
5659      } catch (e) {
5660      } finally {
5661        ignoreResize.pop();
5662      }
5663    });
5664  }
5665
5666  if ($(".equal-padding").length) {
5667    BX.addCustomEvent("onWindowResize", function (eventdata) {
5668      try {
5669        ignoreResize.push(true);
5670        $(".equal-padding").each(function () {
5671          $(this).find(".text").css({ "padding-top": "0px", "padding-bottom": "0px" });
5672          var equal_block = $(this).siblings(".equals"),
5673            height = $(this).actual("outerHeight");
5674
5675          delta = Math.round((equal_block.actual("outerHeight") - height) / 2);
5676          if (delta)
5677            $(this)
5678              .find(".text")
5679              .css({ "padding-top": delta + "px", "padding-bottom": delta + "px" });
5680        });
5681      } catch (e) {
5682      } finally {
5683        ignoreResize.pop();
5684      }
5685    });
5686  }
5687
5688  $(document).on("click", ".mega-menu .dropdown-menu", function (e) {
5689    e.stopPropagation();
5690  });
5691
5692  $(document).on("click", ".mega-menu .dropdown-toggle.more-items", function (e) {
5693    e.preventDefault();
5694  });
5695
5696  // $(".table-menu .dropdown,.table-menu .dropdown-submenu,.table-menu .dropdown-toggle").on("mouseenter", function () {
5697  //   CheckTopVisibleMenu();
5698  // });
5699
5700  $(document).on(
5701    "mouseenter",
5702    ".header-menu__wrapper .header-menu__item--dropdown:not(.header-menu__item--wide), .header-menu__wrapper .header-menu__item--dropdown:not(.header-menu__item--wide) .header-menu__dropdown-item.header-menu__dropdown-item--with-dropdown, .header-menu__wrapper .header-menu__item--more-items, .header-menu__wrapper .header-menu__item--more-items .header-menu__dropdown-item--with-dropdown, .header-menu__wrapper .header-menu__item--more-items .header-menu__item--dropdown.header-menu__item--wide, .header-menu__wrapper .header-menu__item--more-items .header-menu__item--dropdown.header-menu__item--wide .header-menu__dropdown-item--with-dropdown, .header-menu__wrapper .header-menu__item--more-items .header-menu__item--dropdown.header-menu__item--wide .header-menu__dropdown-item--with-dropdown .header-menu__wide-submenu-item--with-dropdown",
5703    function (e) {
5704      CheckTopVisibleMenu($(e.currentTarget));
5705    }
5706  );
5707
5708  $(document).on(
5709    "mouseenter",
5710    ".header-menu__item--wide, .header-menu__item--wide .header-menu__dropdown-menu",
5711    function () {
5712      var bannerMenu = $(this).find(".side_banners .owl-carousel-hover");
5713      if (bannerMenu.length) {
5714        bannerMenu.removeClass("owl-carousel-hover").addClass("owl-carousel");
5715        setTimeout(function () {
5716          InitOwlSlider();
5717          bannerMenu.removeClass("loading-state");
5718        }, 1);
5719      }
5720    }
5721  );
5722
5723  $(document).on("mouseenter", ".menu-side-column__item--wide", function () {
5724    var bannerMenu = $(".bottom-banners .owl-carousel-hover");
5725    if (bannerMenu.length) {
5726      bannerMenu.removeClass("owl-carousel-hover").addClass("owl-carousel");
5727      setTimeout(function () {
5728        InitOwlSlider();
5729        bannerMenu.removeClass("loading-state");
5730      }, 1);
5731    }
5732  });
5733  $(".mega-menu .search-item .search-icon, .menu-row #title-search .fa-close").on("click", function (e) {
5734    e.preventDefault();
5735    $(".menu-row #title-search").toggleClass("hide");
5736  });
5737
5738  $(".mega-menu ul.nav .search input").on("keyup", function (e) {
5739    var inputValue = $(this).val();
5740    $(".menu-row > .search input").val(inputValue);
5741    if (e.keyCode == 13) {
5742      $(".menu-row > .search form").submit();
5743    }
5744  });
5745
5746  $(".menu-row > .search input").on("keyup", function (e) {
5747    var inputValue = $(this).val();
5748    $(".mega-menu ul.nav .search input").val(inputValue);
5749    if (e.keyCode == 13) {
5750      $(".menu-row > .search form").submit();
5751    }
5752  });
5753
5754  $(".mega-menu ul.nav .search button").on("click", function (e) {
5755    e.preventDefault();
5756    var inputValue = $(this).parents(".search").find("input").val();
5757    $(".menu-and-search .search input").val(inputValue);
5758    $(".menu-row > .search form").submit();
5759  });
5760
5761  $(".filter .calendar").on("click", function () {
5762    var button = $(this).next();
5763    if (button.hasClass("calendar-icon")) {
5764      button.trigger("click");
5765    }
5766  });
5767
5768  // sliceheights
5769  if ($(".banners-small .item.normal-block").length) $(".banners-small .item.normal-block").sliceHeight();
5770  if ($(".teasers .item").length) $(".teasers .item").sliceHeight();
5771  if ($(".wrap-portfolio-front .row.items > div").length)
5772    $(".wrap-portfolio-front .row.items > div").sliceHeight({ row: ".row.items", item: ".item1" });
5773
5774  SliceHeightBlocks();
5775
5776  InitAppear();
5777
5778  // js-load-block appear
5779  if ($(".js-load-block").length) {
5780    var objUrl = parseUrlQuery();
5781    var bClearCache = false;
5782    if ("clear_cache" in objUrl) {
5783      if (objUrl.clear_cache == "Y") {
5784        bClearCache = true;
5785      }
5786    }
5787
5788    var items = [];
5789    var bIdle = true;
5790    var insertNextBlockContent = function () {
5791      if (bIdle) {
5792        if (items.length) {
5793          bIdle = false;
5794          var item = items.pop();
5795
5796          item.content = $.trim(item.content);
5797
5798          // remove /bitrix/js/main/core/core_window.js if it was loaded already
5799          if (item.content.indexOf("/bitrix/js/main/core/core_window.") !== -1 && BX.WindowManager) {
5800            item.content = item.content.replace(
5801              /<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm,
5802              ""
5803            );
5804          }
5805
5806          // remove /bitrix/js/currency/core_currency.js if it was loaded already
5807          if (
5808            item.content.indexOf("/bitrix/js/currency/core_currency.") !== -1 &&
5809            typeof BX.Currency === "object" &&
5810            BX.Currency.defaultFormat
5811          ) {
5812            item.content = item.content.replace(
5813              /<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm,
5814              ""
5815            );
5816          }
5817
5818          // remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already
5819          if (item.content.indexOf("/bitrix/js/main/pageobject/pageobject.") !== -1 && BX.PageObject) {
5820            item.content = item.content.replace(
5821              /<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm,
5822              ""
5823            );
5824          }
5825
5826          // remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need
5827          if (
5828            item.content.indexOf("/bitrix/js/main/polyfill/promise/js/promise.") !== -1 &&
5829            typeof window.Promise !== "undefined" &&
5830            window.Promise.toString().indexOf("[native code]") !== -1
5831          ) {
5832            item.content = item.content.replace(
5833              /<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm,
5834              ""
5835            );
5836          }
5837
5838          var ob = BX.processHTML(item.content);
5839
5840          // stop ya metrika webvisor DOM indexer
5841          pauseYmObserver();
5842
5843          item.block.removeAttr("data-file").removeClass("loader_circle");
5844
5845          if (item.block.data("appendTo")) {
5846            item.block.find(item.block.data("appendTo"))[0].innerHTML = ob.HTML;
5847          } else {
5848            const nodeAjaxContainer = item.block.find(".ajax-container")[0];
5849            if (nodeAjaxContainer) {
5850              nodeAjaxContainer.innerHTML = ob.HTML;
5851
5852              let loadedState = parseInt(getComputedStyle(nodeAjaxContainer).getPropertyValue("--loaded"));
5853              let interval = setInterval(() => {
5854                loadedState = parseInt(getComputedStyle(nodeAjaxContainer).getPropertyValue("--loaded"));
5855                if (loadedState) {
5856                  nodeAjaxContainer.nextElementSibling?.remove();
5857                  nodeAjaxContainer.removeAttribute("hidden");
5858                  clearInterval(interval);
5859                }
5860              }, 100);
5861            } else {
5862              if (item.block.find('> div[id*="bx_incl_"]').length) {
5863                item.block.find('> div[id*="bx_incl_"]')[0].innerHTML = ob.HTML;
5864              } else {
5865                item.block[0].innerHTML = ob.HTML;
5866              }
5867            }
5868          }
5869
5870          BX.ajax.processScripts(ob.SCRIPT);
5871
5872          var eventdata = { action: "jsLoadBlock" };
5873          BX.onCustomEvent("onCompleteAction", [eventdata, item.block]);
5874
5875          // resume ya metrika webvisor
5876          // 500ms
5877          setTimeout(resumeYmObserver, 500);
5878
5879          bIdle = true;
5880          insertNextBlockContent();
5881        }
5882      }
5883    };
5884
5885    $(".js-load-block").iAppear(
5886      function () {
5887        var $this = $(this);
5888
5889        if ($this.data("file")) {
5890          var add_url = bClearCache ? "?clear_cache=Y" : "";
5891          if ($this.data("block")) {
5892            add_url += (bClearCache ? "&" : "?") + "BLOCK=" + $this.data("block");
5893          }
5894
5895          // get content
5896          $.get($this.data("file") + add_url).done(function (html) {
5897            items.push({
5898              block: $this,
5899              content: html,
5900            });
5901
5902            if (items.length == 1) {
5903              setTimeout(insertNextBlockContent, 100);
5904            }
5905          });
5906        }
5907      },
5908      {
5909        rootMargin: isMobile ? "300px 0px 300px 0px" : "150px 0px 150px 0px",
5910        accX: 0,
5911        accY: isMobile ? 300 : 150,
5912      }
5913    );
5914  }
5915
5916  $("a[rel=tooltip]").tooltip();
5917  $("span[data-toggle=tooltip]").tooltip();
5918
5919  $("select.sort").on("change", function () {
5920    location.href = $(this).val();
5921  });
5922
5923  setTimeout(function (th) {
5924    $(".catalog.group.list .item").each(function () {
5925      var th = $(this);
5926      if ((tmp = th.find(".image").outerHeight() - th.find(".text_info").outerHeight()) > 0) {
5927        th.find(".text_info .titles").height(th.find(".text_info .titles").outerHeight() + tmp);
5928      }
5929    });
5930  }, 50);
5931
5932  // ajax tabs
5933
5934  // tabs on front in mobile
5935  $(".items-link-mobile").each(function () {
5936    var _this = $(this),
5937      selectOption = _this.find("option"),
5938      selectOptionLength = selectOption.length,
5939      selectedOption = selectOption.filter(":selected"),
5940      duration = 200; //
5941
5942    _this.hide();
5943    _this.wrap('<div class="select"></div>');
5944    $("<div>", {
5945      class: "new-select",
5946      text: _this.children("option:disabled").text(),
5947    }).insertAfter(_this);
5948
5949    var selectHead = _this.next(".new-select");
5950    $("<div>", {
5951      class: "new-select__list",
5952    }).insertAfter(selectHead);
5953
5954    var selectList = selectHead.next(".new-select__list");
5955    for (var i = 1; i < selectOptionLength; i++) {
5956      $("<div>", {
5957        class: "new-select__item",
5958        html: $("<span>", {
5959          text: selectOption.eq(i).text(),
5960        }),
5961      })
5962        .attr("data-value", selectOption.eq(i).val())
5963        .appendTo(selectList);
5964    }
5965
5966    var selectItem = selectList.find(".new-select__item");
5967    var selectItemFirst = selectList.find(".new-select__item:first-child");
5968    selectList.slideUp();
5969    selectHead.on("click", function () {
5970      if (!$(this).hasClass("on")) {
5971        $(this).addClass("on");
5972        selectList.slideDown(duration);
5973
5974        selectItemCur = selectList.find(".new-select__item.active");
5975
5976        if (!selectItem.hasClass("active")) {
5977          selectItemFirst.addClass("active");
5978          selectItemCur = selectItemFirst;
5979        }
5980
5981        selectItem.on("click", function () {
5982          selectItemCur.removeClass("active");
5983          var chooseItem = $(this).data("value");
5984
5985          $("select").val(chooseItem).attr("selected", "selected");
5986          selectHead.text($(this).find("span").text());
5987          selectHead.attr("data-value", $(this).attr("data-value"));
5988          $(this).addClass("active");
5989          var _this = $(this);
5990          selectList.slideUp(150, function () {
5991            selectHead.removeClass("on");
5992
5993            var index = _this.index();
5994            var curHeadBlock = _this.closest(".head-block");
5995            var indexTab = curHeadBlock.find(".items-link .item-link.active");
5996            var indexActiveTab = indexTab.index();
5997
5998            if (indexActiveTab != index) {
5999              curHeadBlock.find(".items-link .item-link").eq(index).trigger("click");
6000            }
6001          });
6002        });
6003      } else {
6004        $(this).removeClass("on");
6005        selectList.slideUp(duration);
6006      }
6007    });
6008  });
6009
6010  // gallery in list
6011  $(document).on("mouseenter", ".section-gallery-wrapper .section-gallery-wrapper__item", function () {
6012    const _this = $(this);
6013    const index = _this.index();
6014    const $nav_items = _this.closest(".image-list-wrapper").find(".section-gallery-nav .section-gallery-nav__item");
6015
6016    _this.siblings().removeClass("active");
6017    _this.addClass("active");
6018
6019    $nav_items.removeClass("active");
6020    $nav_items.filter(":eq(" + index + ")").addClass("active");
6021  });
6022
6023  // return to the first image
6024  $(document).on("mouseleave", ".section-gallery-wrapper", function () {
6025    const _this = $(this);
6026    const $elements = $(this).find(".section-gallery-wrapper__item");
6027    const $nav_items = _this.closest(".image-list-wrapper").find(".section-gallery-nav .section-gallery-nav__item");
6028
6029    if ($elements.length) {
6030      $elements.removeClass("active");
6031      $($elements[0]).addClass("active");
6032      $nav_items.removeClass("active");
6033      $($nav_items[0]).addClass("active");
6034    }
6035  });
6036
6037  $(document).on("click", ".section-gallery-nav .section-gallery-nav__item", function () {
6038    const _this = $(this);
6039    const index = _this.index();
6040    const items = _this.closest(".image-list-wrapper").find(".section-gallery-wrapper .section-gallery-wrapper__item");
6041
6042    _this.siblings().removeClass("active");
6043    _this.addClass("active");
6044
6045    items.removeClass("active");
6046    items.filter(":eq(" + index + ")").addClass("active");
6047  });
6048
6049  // item galery
6050  $(".thumbs .item a").on("click", function (e) {
6051    e.preventDefault();
6052    $(".thumbs .item").removeClass("current");
6053    $(this).closest(".item").toggleClass("current");
6054    $(".slides li" + $(this).attr("href"))
6055      .addClass("current")
6056      .siblings()
6057      .removeClass("current");
6058  });
6059
6060  $("header.fixed .btn-responsive-nav").on("click", function () {
6061    $("html, body").animate({ scrollTop: 0 }, 400);
6062  });
6063
6064  $("body").on("click", ".form .refresh-page", function () {
6065    location.href = location.href;
6066  });
6067
6068  // show props
6069  $(document).on("click", ".show_props", function () {
6070    $(this).prev(".props_list").stop().slideToggle(333);
6071    $(this).find(".char_title").toggleClass("opened");
6072  });
6073
6074  // animated labels
6075  $(document)
6076    .on("focus", ".fill-animate input,.fill-animate textarea", function () {
6077      $(this).addClass("input-filed");
6078    })
6079    .on("focusout", ".fill-animate input,.fill-animate textarea", function () {
6080      if ("" != $(this).val()) {
6081        $(this).addClass("input-filed");
6082      } else {
6083        $(this).removeClass("input-filed");
6084      }
6085    });
6086
6087  $(document).on("click", ".reload-page", function () {
6088    location.reload(true);
6089  });
6090
6091  $("select.region").on("change", function () {
6092    var val = parseInt($(this).val());
6093    if ($("select.city").length) {
6094      if (val) {
6095        $("select.city").removeAttr("disabled");
6096        $("select.city option").hide();
6097        $("select.city option[data-parent_section=" + val + "]").show();
6098      } else $("select.city").attr("disabled", "disabled");
6099    }
6100  });
6101
6102  $("select.city, select.region").on("change", function () {
6103    var _this = $(this),
6104      val = parseInt(_this.val());
6105    if (_this.hasClass("region")) {
6106      $("select.city option:eq(0)").show();
6107      $("select.city").val(0);
6108    }
6109
6110    if ((_this.hasClass("region") && !val) || _this.hasClass("city")) {
6111      $.ajax({
6112        type: "POST",
6113        data: { ID: val },
6114      }).done(function (html) {
6115        var ob = BX.processHTML(html);
6116        $(".ajax_items")[0].innerHTML = ob.HTML;
6117        BX.ajax.processScripts(ob.SCRIPT);
6118      });
6119    }
6120  });
6121
6122  $(document).on("click", ".print", function () {
6123    window.print();
6124  });
6125
6126  BX.bindDelegate(document, "click", { class: "choise" }, function () {
6127    var $this = $(this);
6128    if (typeof $this.data("block") !== "undefined") {
6129      var block = $this.attr("data-block");
6130
6131      try {
6132        var $block = BX(block) ? $("#" + block) : $(".detail-block." + block);
6133      } catch (e) {
6134        var $block = $(block);
6135      }
6136
6137      if ($block.length) {
6138        if ($block.closest(".tab-pane").length) {
6139          var offset = -206;
6140          if (typeof arAsproOptions !== "undefined") {
6141            offset = window.matchMedia("(max-width:991px)").matches
6142              ? arAsproOptions.THEME.HEADER_MOBILE_FIXED !== "Y" || arAsproOptions.THEME.HEADER_MOBILE_SHOW !== "ALWAYS"
6143                ? -187 + 62
6144                : -187
6145              : arAsproOptions.THEME.TOP_MENU_FIXED !== "Y"
6146              ? -206 + 81
6147              : -206;
6148          }
6149
6150          $block.data("offset", offset);
6151          $('.ordered-block a[href="#' + $block.closest(".tab-pane").attr("id") + '"]').click();
6152        }
6153
6154        scrollToBlock($block);
6155      }
6156    }
6157  });
6158
6159  // touch event
6160  document.addEventListener(
6161    "touchend",
6162    function (event) {
6163      if (!$(event.target).closest(".menu-item").length && !$(event.target).hasClass("menu-item")) {
6164        $(".mega-menu .dropdown-menu").css({ display: "none", opacity: 0 });
6165        $(".menu-item").removeClass("hover");
6166      }
6167      if (!$(event.target).closest(".menu.topest").length) {
6168        $(".menu.topest").css({ overflow: "hidden" });
6169        $(".menu.topest > li").removeClass("hover");
6170      }
6171      if (!$(event.target).closest(".full.has-child").length) {
6172        $(".menu_top_block.catalog_block li").removeClass("hover");
6173      }
6174      // if(!$(event.target).closest('.basket_block').length){
6175      //   $('.basket_block .link').removeClass('hover');
6176      //   $('.basket_block .basket_popup_wrapp').slideUp();
6177      // }
6178      // if(!$(event.target).closest('.catalog_item').length){
6179      //   var tabsContentUnhoverHover = $('.tab:visible').attr('data-unhover') * 1;
6180      //   $('.tab:visible').stop().animate({'height': tabsContentUnhoverHover}, 100);
6181      //   $('.tab:visible').find('.catalog_item').removeClass('hover');
6182      //   $('.tab:visible').find('.catalog_item .buttons_block').stop().fadeOut(233);
6183      //   if($('.catalog_block').length){
6184      //     $('.catalog_block').find('.catalog_item_wrapp').removeClass('hover');
6185      //     $('.catalog_block').find('.catalog_item').removeClass('hover');
6186      //   }
6187      // }
6188    },
6189    false
6190  );
6191
6192  touchMenu(".mega-menu .menu-item");
6193  touchTopMenu(".menu.topest li");
6194});
6195
6196function touchMenu(selector) {
6197  if (isMobile) {
6198    if ($(selector).length) {
6199      $(selector).each(function () {
6200        var th = $(this);
6201        th.on("touchend", function (e) {
6202          var _th = $(e.target).closest(".menu-item");
6203
6204          $(".menu.topest > li").removeClass("hover");
6205          $(".menu_top_block.catalog_block li").removeClass("hover");
6206
6207          if (_th.find(".dropdown-menu").length && !_th.hasClass("hover")) {
6208            e.preventDefault();
6209            e.stopPropagation();
6210            _th.siblings().removeClass("hover");
6211            _th.addClass("hover");
6212            $(".menu-row .dropdown-menu").css({ display: "none", opacity: 0 });
6213            if (_th.hasClass("menu-item")) {
6214              _th.closest(".dropdown-menu").css({ display: "block", opacity: 1 });
6215            }
6216            if (_th.find("> .wrap > .dropdown-menu")) {
6217              _th.find("> .wrap > .dropdown-menu").css({ display: "block", opacity: 1 });
6218            } else if (_th.find("> .dropdown-menu")) {
6219              _th.find("> .dropdown-menu").css({ display: "block", opacity: 1 });
6220            }
6221            CheckTopVisibleMenu();
6222          } else {
6223            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
6224            if (href && href !== "undefined") location.href = href;
6225          }
6226        });
6227      });
6228    }
6229  } else {
6230    $(selector).off();
6231  }
6232}
6233
6234function touchTopMenu(selector) {
6235  if (isMobile) {
6236    if ($(selector).length) {
6237      $(selector).each(function () {
6238        var th = $(this);
6239        th.on("touchend", function (e) {
6240          var _th = $(e.target).closest("li");
6241
6242          $(".menu-item").removeClass("hover");
6243          $(".menu-item .dropdown-menu").css({ display: "none", opacity: 0 });
6244          $(".menu_top_block.catalog_block li").removeClass("hover");
6245
6246          if (_th.hasClass("more") && !_th.hasClass("hover")) {
6247            e.preventDefault();
6248            e.stopPropagation();
6249            _th.siblings().removeClass("hover");
6250            _th.addClass("hover");
6251            $(".menu.topest").css({ overflow: "visible" });
6252          } else {
6253            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
6254            if (href && href !== "undefined") location.href = href;
6255          }
6256        });
6257      });
6258    }
6259  } else {
6260    $(selector).off();
6261  }
6262}
6263
6264scrollToBlock = function (block) {
6265  if ($(block).length) {
6266    scrollToBlock.last = block;
6267
6268    if (typeof $(block).data("toggle") !== "undefined") {
6269      $(block).click();
6270    }
6271
6272    var offset = -81 - 64;
6273    if (typeof $(block).data("offset") !== "undefined") {
6274      offset = $(block).data("offset");
6275    } else {
6276      if (typeof arAsproOptions !== "undefined") {
6277        offset = window.matchMedia("(max-width:991px)").matches
6278          ? arAsproOptions.THEME.HEADER_MOBILE_FIXED !== "Y" || arAsproOptions.THEME.HEADER_MOBILE_SHOW !== "ALWAYS"
6279            ? -43
6280            : -62 - 43
6281          : arAsproOptions.THEME.TOP_MENU_FIXED !== "Y"
6282          ? -43
6283          : -81 - 43;
6284
6285        if ($(block).hasClass("drag-block")) {
6286          offset += 43;
6287        }
6288      }
6289    }
6290
6291    offset = $(block).offset().top + offset;
6292
6293    $("body").addClass("scrolling-state");
6294    $("body, html").animate({ scrollTop: offset }, 500);
6295    setTimeout(function () {
6296      $("body").removeClass("scrolling-state");
6297    }, 500);
6298  }
6299};
6300
6301scrollToBlock.rescroll = function () {
6302  if (typeof scrollToBlock.last !== "undefined") {
6303    scrollToBlock(scrollToBlock.last);
6304  }
6305};
6306
6307/*hover basket*/
6308if (!BX.Aspro.Utils.isFunction("basketTop")) {
6309  var basketTop = function basketTop(action, hoverBlock) {
6310    hoverBlock = $("#headerfixed .basket-dropdown, header .basket-dropdown");
6311
6312    hoverBlock.removeClass("loaded");
6313    var firstTime = hoverBlock.find("div").length ? "false" : "true";
6314    var params = $("#basket_form").find("input#fly_basket_params").val();
6315    var postData = {
6316      firstTime: firstTime,
6317    };
6318    if (params !== undefined) {
6319      postData.PARAMS = params;
6320    }
6321
6322    $.post(
6323      arAsproOptions["SITE_DIR"] + "ajax/showBasketHover.php",
6324      postData,
6325      $.proxy(function (data) {
6326        var ob = BX.processHTML(data);
6327
6328        // inject
6329        hoverBlock.html(ob.HTML);
6330        BX.ajax.processScripts(ob.SCRIPT);
6331
6332        if (window.matchMedia("(min-width: 992px)").matches) {
6333          hoverBlock.addClass("loaded");
6334        }
6335      })
6336    );
6337  };
6338}
6339
6340$(document).on("mouseenter", ".header-cart .top.basket", function () {
6341  var _this = $(this);
6342  var parent = _this.closest("header, #headerfixed");
6343  var hover_block = parent.find(".basket-dropdown");
6344
6345  if (!hover_block.hasClass("loaded")) {
6346    BX.loadExt(["aspro_prices", "aspro_dropdown-products"]);
6347    basketTop("", hover_block);
6348  }
6349});
6350/*end hover basket*/
6351
6352CheckTabActive = function () {};
6353
6354/* parallax bg */
6355ParallaxBg = function () {
6356  if ($("*[data-type=parallax-bg]").length) {
6357    var x = $(window).scrollTop() / $(document).height();
6358    x = parseInt(-x * 280);
6359    $("*[data-type=parallax-bg]")
6360      .stop()
6361      .animate({ "background-position-y": x + "px" }, 400, "swing");
6362  }
6363};
6364
6365// Events
6366var timerScroll = false,
6367  ignoreScroll = [],
6368  documentScrollTopLast = $(document).scrollTop(),
6369  documentScrollTop = documentScrollTopLast;
6370$(window).scroll(function () {
6371  documentScrollTop = $(document).scrollTop();
6372
6373  if (!ignoreScroll.length) {
6374    if (timerScroll) {
6375      clearTimeout(timerScroll);
6376      timerScroll = false;
6377    }
6378    timerScroll = setTimeout(function () {
6379      BX.onCustomEvent("onWindowScroll", false);
6380    }, 100);
6381  }
6382
6383  documentScrollTopLast = $(document).scrollTop();
6384});
6385
6386var timerResize = false,
6387  ignoreResize = [];
6388
6389$(window).resize(function () {
6390  documentScrollTop = $(document).scrollTop();
6391
6392  CheckTopMenuPadding();
6393  CheckTopMenuOncePadding();
6394  CheckSearchWidth();
6395
6396  if (!ignoreResize.length) {
6397    if (timerResize) {
6398      clearTimeout(timerResize);
6399      timerResize = false;
6400    }
6401    timerResize = setTimeout(function () {
6402      BX.onCustomEvent("onWindowResize", false);
6403    }, 100);
6404  }
6405
6406  documentScrollTopLast = $(document).scrollTop();
6407});
6408
6409BX.addCustomEvent("onWindowScroll", function (eventdata) {
6410  try {
6411    ignoreScroll.push(true);
6412    ParallaxBg();
6413
6414    //CheckTopMenuDotted();
6415  } catch (e) {
6416  } finally {
6417    ignoreScroll.pop();
6418  }
6419});
6420
6421BX.addCustomEvent("onWindowResize", function (eventdata) {
6422  try {
6423    ignoreResize.push(true);
6424
6425    CheckHeaderFixedMenu();
6426    CheckTopMenuDotted();
6427    CheckTopVisibleMenu();
6428    CheckFlexSlider();
6429    CheckMainBannerSliderVText($(".banners-big .flexslider"));
6430    CheckObjectsSizes();
6431
6432    if (BX.Aspro.Utils.isFunction("CoverPlayer")) {
6433      CoverPlayer();
6434    }
6435
6436    verticalAlign();
6437    CheckTabActive();
6438    setTimeout(function () {
6439      createTableCompare(
6440        $(".main-block .items .title-block:not(.clone) .item"),
6441        $(".prop_title_table"),
6442        $(".main-block .prop_title_table .item.clone")
6443      );
6444    }, 100);
6445    SliceHeightBlocks();
6446
6447    if (BX.Aspro.Utils.isFunction("checkMobileFilter")) {
6448      checkMobileFilter();
6449    }
6450  } catch (e) {
6451  } finally {
6452    ignoreResize.pop();
6453  }
6454});
6455
6456BX.addCustomEvent("onSlide", function (eventdata) {
6457  try {
6458    ignoreResize.push(true);
6459
6460    if (eventdata) {
6461      var slider = eventdata.slider;
6462      var slideClass = ".banners-big__item";
6463      var jsDots = $(slider).siblings(".owl-carousel__dots--line");
6464      if (jsDots.length) {
6465        if (eventdata.data) {
6466          if (eventdata.data.relatedTarget) {
6467            var dotScroll = jsDots.find(".owl-carousel__dot-scroll");
6468            var dotsWidth = jsDots.width();
6469            if (dotScroll.length) {
6470              var owlOptions = eventdata.data.relatedTarget;
6471
6472              if (owlOptions) {
6473                var itemsCount = owlOptions._items.length;
6474                var itemsInRow = owlOptions.settings.items;
6475                var currentItem = owlOptions._current; // + 1;
6476
6477                //orig old
6478                //currentItem = currentItem < itemsInRow  ? itemsCount + itemsInRow - 1 : currentItem;
6479                //var offset = ((currentItem - itemsInRow) / itemsCount) * dotsWidth;
6480
6481                //new by use count clones in slider
6482                var clonesInStart = Math.ceil(itemsCount / 2);
6483                currentItem = currentItem < clonesInStart ? itemsCount + clonesInStart - 1 : currentItem;
6484                currentItem = currentItem === itemsCount + clonesInStart ? clonesInStart : currentItem;
6485                var offset = ((currentItem - clonesInStart) / itemsCount) * dotsWidth;
6486
6487                var styles = {
6488                  width: dotsWidth / itemsCount + "px",
6489                  display: "block",
6490                  left: offset,
6491                };
6492
6493                dotScroll.css(styles);
6494              }
6495            }
6496          }
6497        }
6498      }
6499      if (slider) {
6500        // add classes .curent & .shown to slide
6501        slider.find(slideClass).removeClass("current");
6502        var curSlideIndex = eventdata.data.item.index;
6503        var curSlide = slider.find(".owl-item:eq(" + curSlideIndex + ")" + " " + slideClass);
6504
6505        curSlide.addClass("current");
6506        curSlide.addClass("shown");
6507        slider.resize();
6508
6509        if (slider.closest(".blocks").length)
6510          slider.closest(".blocks").find(".flex-direction-nav li").addClass("initied");
6511
6512        if (slider.closest(".wraps").length)
6513          slider.closest(".wraps").find(".flex-direction-nav li").addClass("initied");
6514
6515        if (!slider.find(".flex-control-nav li").length && slider.hasClass("normal")) {
6516          slider.find(".flex-direction-nav li a").addClass("flex-disabled");
6517        }
6518
6519        if (slider.closest(".banners-big").length) {
6520          //nav flex color
6521          slider.find(".flex-control-nav li").removeClass();
6522
6523          // header color
6524          $("header").removeClass("light dark");
6525          if (typeof curSlide.data("color") != "undefined") {
6526            $("header").addClass(curSlide.data("color"));
6527          }
6528
6529          // logo color
6530          if (typeof window.headerLogo !== "undefined") {
6531            window.headerLogo.setColorOfBanner(curSlide[0]);
6532          }
6533        }
6534
6535        if (
6536          !slider.hasClass("flexslider-init-slice") &&
6537          slider.hasClass("nav-title") &&
6538          $(".gallery-block").closest(".tab-pane").hasClass("active")
6539        ) {
6540          slider.find(".item").sliceHeight({ lineheight: -3 });
6541          slider.addClass("flexslider-init-slice");
6542        }
6543
6544        if (slider.find(".flex-direction-nav").length) {
6545          if (slider.find(".flex-direction-nav").find("a.flex-disabled").length)
6546            slider.find(".flex-direction-nav").removeClass("opacity1").addClass("opacity0");
6547          else slider.find(".flex-direction-nav").removeClass("opacity0").addClass("opacity1");
6548        }
6549      }
6550    }
6551  } catch (e) {
6552  } finally {
6553    ignoreResize.pop();
6554  }
6555});
6556
6557BX.addCustomEvent("onSlideBefore", function (eventdata) {
6558  try {
6559    ignoreResize.push(true);
6560    if (eventdata) {
6561      var slider = eventdata.slider;
6562      if (slider) {
6563        if (slider.closest(".banners-big").length) {
6564          setTimeout(function () {
6565            var curSlide = slider.find(".banners-big__item.current");
6566
6567            //nav flex color
6568            slider.find(".flex-control-nav li").removeClass();
6569
6570            // header color
6571            $("header").removeClass("light dark");
6572            if (typeof curSlide.data("color") != "undefined") {
6573              slider.find(".flex-control-nav li").addClass(curSlide.data("color"));
6574              $("header").addClass(curSlide.data("color"));
6575            }
6576
6577            // logo color
6578            if (typeof window.headerLogo !== "undefined") {
6579              window.headerLogo.setColorOfBanner(curSlide[0]);
6580            }
6581          }, 100);
6582        } else if (slider.hasClass("top-bigs")) {
6583          setTimeout(function () {
6584            var index = slider.find(".item.flex-active-slide").data("slide_key");
6585            $(".bxSlider.top-small .slides").data("bxSlider").goToSlide(index);
6586            $(".bxSlider.top-small .slides li").removeClass("flex-active-slide");
6587            $('.bxSlider.top-small .slides li[data-slide_key="' + index + '"]').addClass("flex-active-slide");
6588          }, 100);
6589        }
6590      }
6591    }
6592  } catch (e) {
6593  } finally {
6594    ignoreResize.pop();
6595  }
6596});
6597
6598BX.addCustomEvent("onSlideEnd", function (eventdata) {
6599  try {
6600    ignoreResize.push(true);
6601    if (eventdata) {
6602      var slider = eventdata.slider;
6603    }
6604  } catch (e) {
6605  } finally {
6606    ignoreResize.pop();
6607  }
6608});
6609
6610/* End */
6611;
6612; /* Start:"a:4:{s:4:"full";s:60:"/bitrix/templates/aspro-premier/js/mobile.js?177459632629822";s:6:"source";s:44:"/bitrix/templates/aspro-premier/js/mobile.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
6613BX.Aspro.Utils.readyDOM(function () {
6614  //  --- Bind mobile menu  ---
6615  let $mobileMenu = $("#mobilemenu");
6616  let $mobileMenuNlo;
6617  if ($mobileMenu.length) {
6618    $mobileMenu.isOpen = $mobileMenu.hasClass("show");
6619    $mobileMenu.isLeftSide = $("body").hasClass("mmenu_leftside");
6620    $mobileMenuNlo = $mobileMenu.find("[data-nlo]");
6621
6622    BX.bindDelegate(document, 'click', {class: 'js-burger'}, function () {
6623      SwipeMobileMenu();
6624      CloseMobilePhone();
6625    });
6626
6627    BX.bindDelegate(document, 'click', {class: 'mobilemenu__close'}, function() {
6628      CloseMobileMenu();
6629      $(".mobilemenu__menu-item").removeClass("mobilemenu__menu-item--expanded");
6630    });
6631
6632    $(document).on("click", ".mobilemenu__menu .toggle_block", function (e) {
6633      e.stopPropagation();
6634
6635      var $this = $(this);
6636      var $item = $this.closest(".mobilemenu__menu-item");
6637
6638      if ($item.hasClass("mobilemenu__menu-item--parent")) {
6639        e.preventDefault();
6640
6641        $item.addClass("mobilemenu__menu-item--expanded");
6642        MoveMobileMenuWrapNext();
6643      }
6644    });
6645
6646    BX.bindDelegate(document, 'click', {class: 'mobilemenu__menu-item-back'}, function() {
6647      const nodeItemExpanded = this.closest('.mobilemenu__menu-item--expanded');
6648      MoveMobileMenuWrapPrev();
6649
6650      if (nodeItemExpanded) {
6651        setTimeout(function () {
6652          nodeItemExpanded.classList.remove("mobilemenu__menu-item--expanded");
6653        }, 400);
6654      }
6655    });
6656
6657    $(document).on("click", ".mobilemenu__menu a", function (e) {
6658      var $this = $(this);
6659      var $item = $this.closest(".mobilemenu__menu-item");
6660
6661      const href = $this.attr("href");
6662      if (typeof href !== "undefined") {
6663        if (href.length) {
6664          window.location.href = href;
6665          return;
6666        }
6667
6668        if ($item.hasClass("mobilemenu__menu-item--parent")) {
6669          e.preventDefault();
6670
6671          $item.addClass("mobilemenu__menu-item--expanded");
6672          MoveMobileMenuWrapNext();
6673
6674          return;
6675        }
6676
6677        if ($item.hasClass("mobilemenu__menu-item--title")) {
6678          e.preventDefault();
6679
6680          return;
6681        }
6682      }
6683
6684      CloseMobileMenu();
6685    });
6686
6687    if ($mobileMenu.isLeftSide) {
6688      $mobileMenu.parent().append('<div class="mobilemenu__overlay"></div>');
6689      var $mobileMenuOverlay = $(".mobilemenu__overlay");
6690
6691      $mobileMenuOverlay.click(function () {
6692        if ($mobileMenu.isOpen) {
6693          CloseMobileMenu();
6694        }
6695      });
6696    } else {
6697      $(document).on("click", "#mobileheader", function (e) {
6698        if (
6699          !$(e.target).closest("#mobilemenu").length &&
6700          !$(e.target).closest(".burger").length &&
6701          $mobileMenu.isOpen
6702        ) {
6703          CloseMobileMenu();
6704        }
6705      });
6706    }
6707
6708    $(document).on('click', '.mobilemenu__menu--regions .menu_autocomplete .clean_icon', function (e) {
6709      $(this).closest('.wrapper').find('input[type=text]').val('').trigger('change');
6710      $(this).hide();
6711    });
6712
6713    $(document).on('keyup change paste', '.mobilemenu__menu--regions .menu_autocomplete input[type=text]', function (e) {
6714      let $btn = $(this).closest('.wrapper').find('.clean_icon');
6715
6716      if ($(this).val().length) {
6717        $btn.show();
6718      }
6719      else {
6720        $btn.hide();
6721
6722        // hide finded cities
6723        $(this).closest('.dropdown').find('.mobile-cities').show().siblings().hide().empty();
6724      }
6725    });
6726
6727		$(document).on('click', '.mobilemenu__menu-item--city a', function(e) {
6728			e.preventDefault();
6729
6730			var _this = $(this);
6731
6732			let regionId = _this.data('id');
6733      if (regionId) {
6734				setCookieOnDomains('current_region', regionId);
6735
6736				let locationId = _this.data('locid');
6737				if (locationId) {
6738					setCookieOnDomains('current_location', locationId);
6739				}
6740				else {
6741					setCookieOnDomains('current_location', '', {expires: -1});
6742				}
6743			}
6744
6745			location.href = _this.attr("href");
6746		});
6747
6748    OpenMobileMenu = function () {
6749      if (!$mobileMenu.isOpen) {
6750        // hide styleswitcher
6751        if ($(".style-switcher").hasClass("active")) {
6752          $(".style-switcher .switch").trigger("click");
6753        }
6754        $(".style-switcher .switch").hide();
6755        $(".style-switcher .switch_presets").hide();
6756
6757        if ($mobileMenu.isLeftSide) {
6758          setTimeout(function () {
6759            // hide body scroll
6760            $("body").addClass("overflow-block");
6761
6762            // blur body
6763            $("#mobileheader").addClass("filter-none");
6764            $("#mobilemenu").addClass("filter-none");
6765            $("body").addClass("jqm-initied");
6766
6767            // show overlay
6768            $mobileMenuOverlay.fadeIn("fast");
6769          }, 100);
6770        } else {
6771          // hide body scroll
6772          $("body").addClass("overflow-block");
6773
6774          // set menu top = bottom of header
6775          $mobileMenu.css({
6776            top: +($("#mobileheader")[0].getBoundingClientRect().top + $("#mobileheader").height()) + "px",
6777          });
6778
6779          // change burger icon
6780          // $('#mobileheader .burger').addClass('c');
6781        }
6782
6783        // show menu
6784        $mobileMenu.addClass("show");
6785        $mobileMenu.isOpen = true;
6786
6787        var $inner = $mobileMenu.find(".mobilemenu__inner");
6788        var params = $inner.data("params");
6789        if (typeof params === "undefined") {
6790          params = {
6791            depth: 0,
6792            scroll: {},
6793            height: {},
6794          };
6795        }
6796        $inner.data("params", params);
6797
6798        if ($mobileMenuNlo.length) {
6799          if (!$mobileMenuNlo.hasClass("nlo-loadings")) {
6800            $mobileMenuNlo.addClass("nlo-loadings");
6801            setTimeout(function () {
6802              $.ajax({
6803                data: { nlo: $mobileMenuNlo.attr("data-nlo") },
6804                error: function () {
6805                  $mobileMenuNlo.removeClass("nlo-loadings");
6806                },
6807                complete: function (jqXHR, textStatus) {
6808                  if (textStatus === "success" || jqXHR.status == 404) {
6809                    var ob = BX.processHTML($.trim(jqXHR.responseText));
6810                    BX.ajax.processScripts(ob.SCRIPT);
6811                    $mobileMenuNlo.replaceWith(ob.HTML);
6812                  }
6813                },
6814              });
6815            }, 300);
6816          }
6817        }
6818      }
6819    };
6820
6821    CloseMobileMenu = function () {
6822      if ($mobileMenu.isOpen) {
6823        // hide menu
6824        $mobileMenu.removeClass("show");
6825        $mobileMenu.isOpen = false;
6826
6827        $mobileMenu.find(".mobilemenu__menu-item--expanded").removeClass("mobilemenu__menu-item--expanded");
6828
6829        // show styleswitcher
6830        $(".style-switcher .switch").show();
6831        $(".style-switcher .switch_presets").show();
6832
6833        if ($mobileMenu.isLeftSide) {
6834          setTimeout(function () {
6835            // hide overlay
6836            $mobileMenuOverlay.fadeOut("fast");
6837
6838            // show body scroll
6839            $("body").removeClass("overflow-block");
6840
6841            // unblur body
6842            $("body").removeClass("jqm-initied");
6843            $("#mobilemenu").removeClass("filter-none");
6844            $("#mobileheader").removeClass("filter-none");
6845          }, 100);
6846        } else {
6847          // change burger icon
6848          // $('#mobileheader .burger').removeClass('c');
6849
6850          // show body scroll
6851          $("body").removeClass("overflow-block");
6852        }
6853
6854        setTimeout(function () {
6855          var $scroller = $mobileMenu.find(".mobilemenu");
6856          var $inner = $mobileMenu.find(".mobilemenu__inner");
6857          var params = $inner.data("params");
6858          params.depth = 0;
6859          $inner.data("params", params).attr("style", "");
6860          $mobileMenu.scrollTop(0);
6861          $scroller.css("height", "");
6862        }, 400);
6863      }
6864    };
6865
6866    SwipeMobileMenu = function () {
6867      if ($mobileMenu.isOpen) {
6868        CloseMobileMenu();
6869      } else {
6870        OpenMobileMenu();
6871      }
6872    };
6873
6874    CheckMobileMenu = function () {
6875      CloseMobileMenu();
6876    };
6877
6878    function MoveMobileMenuWrapNext() {
6879      var $scroller = $mobileMenu.find(".mobilemenu");
6880      var $inner = $mobileMenu.find(".mobilemenu__inner");
6881      if ($inner.length) {
6882        var params = $inner.data("params");
6883        var $dropdownNext = $mobileMenu
6884          .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown")
6885          .eq(params.depth);
6886        if ($dropdownNext.length) {
6887          var bMobileRegions = $dropdownNext.closest('.mobilemenu__menu--regions').length;
6888          if (bMobileRegions) {
6889            var $fixedCities = $dropdownNext.find('.menu-item-fixed');
6890          }
6891
6892          // save scroll position
6893          params.scroll[params.depth] = parseInt($mobileMenu.scrollTop());
6894
6895          // height while move animating
6896          params.height[params.depth + 1] = Math.max(
6897            $dropdownNext.height(),
6898            !params.depth
6899              ? $inner.height()
6900              : $mobileMenu
6901                  .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown")
6902                  .eq(params.depth - 1)
6903                  .height()
6904          );
6905          $scroller.css("height", params.height[params.depth + 1] + "px");
6906
6907          // inc depth
6908          ++params.depth;
6909
6910          // translateX for move
6911          $inner.css("transform", "translateX(" + -100 * params.depth + "%)");
6912
6913          // scroll to top
6914          setTimeout(function () {
6915            $mobileMenu.animate({ scrollTop: 0 }, 200);
6916          }, 100);
6917
6918          if (bMobileRegions) {
6919            $fixedCities.css('height', ($mobileMenu.height() - $fixedCities.position().top) + 'px');
6920          }
6921
6922          // height on enimating end
6923          var h = $dropdownNext.outerHeight();
6924					setTimeout(function () {
6925						if (h) {
6926							$scroller.css("height", h + "px");
6927						} else {
6928							$scroller.css("height", "");
6929						}
6930
6931						if (bMobileRegions) {
6932							setTimeout(function () {
6933								// show cities scroll
6934								$fixedCities.css('overflow', '');
6935							}, 200);
6936
6937							initMobileRegions();
6938						}
6939					}, 200);
6940        }
6941
6942        $inner.data("params", params);
6943      }
6944    }
6945
6946    function MoveMobileMenuWrapPrev() {
6947      var $scroller = $mobileMenu.find(".mobilemenu");
6948      var $inner = $mobileMenu.find(".mobilemenu__inner");
6949      if ($inner.length) {
6950        var params = $inner.data("params");
6951        if (params.depth > 0) {
6952          var $dropdown = $mobileMenu
6953            .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown")
6954            .eq(params.depth - 1);
6955          if ($dropdown.length) {
6956            // height while move animating
6957            $scroller.css("height", params.height[params.depth] + "px");
6958
6959            // dec depth
6960            --params.depth;
6961
6962            // translateX for move
6963            $inner.css("transform", "translateX(" + -100 * params.depth + "%)");
6964
6965            // restore scroll position
6966            setTimeout(function () {
6967              $mobileMenu.animate({ scrollTop: params.scroll[params.depth] }, 200);
6968            }, 100);
6969
6970            if ($dropdown.closest('.mobilemenu__menu--regions').length) {
6971              // hide cities scroll
6972              $dropdown.find('.menu-item-fixed').css('overflow', 'hidden');
6973
6974              // scroll cities to top
6975              setTimeout(function () {
6976                $dropdown.find('.menu-item-fixed').animate({ scrollTop: 0 }, 200);
6977              }, 100);
6978            }
6979
6980            // height on enimating end
6981            var h = !params.depth
6982              ? false
6983              : $mobileMenu
6984                  .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown")
6985                  .eq(params.depth - 1)
6986                  .outerHeight();
6987            setTimeout(function () {
6988              if (h) {
6989                $scroller.css("height", h + "px");
6990              } else {
6991                $scroller.css("height", "");
6992              }
6993            }, 200);
6994          }
6995        }
6996
6997        $inner.data("params", params);
6998      }
6999    }
7000
7001    function initMobileRegions() {
7002      if (!initMobileRegions.inited) {
7003        initMobileRegions.inited = true;
7004
7005        BX.loadExt(
7006          [
7007            'aspro_set_cookie_on_domains',
7008            'aspro_ui'
7009          ]
7010        ).then(
7011          () => {
7012            function getMainCities() {
7013              let componentAction = 'getMainCities';
7014              let componentName = 'aspro:regionality.list.premier';
7015              let sessid = BX.message('bitrix_sessid');
7016              let lang = BX.message('LANGUAGE_ID');
7017              let siteId = BX.message('SITE_ID');
7018              let url = location.pathname + location.search;
7019              let lastId = getMainCities.lastId;
7020              let $loadings = $('.mobilemenu__menu--regions .dropdown .loadings').closest('li');
7021
7022              BX.ajax({
7023                url: '/bitrix/services/main/ajax.php?mode=ajax&c=' + encodeURIComponent(componentName) +'&action=' + componentAction + '&sessid=' + sessid + '&SITE_ID=' + siteId + '&siteId=' + siteId + '&url=' + encodeURIComponent(url) + '&lastId=' + lastId + '&lang=' + lang,
7024                method: 'POST',
7025                async: true,
7026                processData: true,
7027                scriptsRunFirst: true,
7028                emulateOnload: true,
7029                start: true,
7030                cache: false,
7031                dataType: 'json',
7032                onsuccess: function(response){
7033                  if (
7034                    typeof response === 'object' &&
7035                    response &&
7036                    typeof response.data === 'object' &&
7037                    response.data
7038                  ) {
7039                    if (typeof response.data.lastId !== 'undefined') {
7040                      getMainCities.lastId = response.data.lastId;
7041                    }
7042
7043                    if (
7044                      response.data.cities &&
7045                      Object.values(response.data.cities).length
7046                    ) {
7047                      let itemsHtml = '';
7048
7049                      for (let i in response.data.cities) {
7050                        let item = response.data.cities[i];
7051                        let bCurrent = item.CURRENT == 1;
7052
7053                        itemsHtml += `
7054                          <li class="mobilemenu__menu-item mobilemenu__menu-item--city main-city` + (bCurrent ? ' mobilemenu__menu-item--selected stroke-dark-light-block stroke-dark-parent-all' : '') + `">
7055                            <div class="link-wrapper bg-opacity-theme-parent-hover fill-theme-parent-all">
7056                              <a href="${item.URL}" rel="nofollow" data-id="${item.ID}" data-locid="${(item.LOCATION_ID ? item.LOCATION_ID : '')}" class="dark_link">
7057                                <span class="line-block line-block--gap line-block--justify-between line-block--align-flex-start">
7058                                  <span class="line-block__item">
7059                                    <span class="font_15">${item.NAME}</span>
7060                                    ${(item.PATH ? `<div class="secondary-color font_13">${item.PATH}</div>` : '')}
7061                                  </span>
7062                                  ${
7063                                    bCurrent
7064                                    ? `<span class="line-block__item">
7065                                        <i class="svg inline icon-block__icon icon-block__icon--sm stroke-dark-target inline mt mt--6" aria-hidden="true">
7066                                          <svg width="10" height="7">
7067                                            <use xlink:href="${arAsproOptions.SITE_TEMPLATE_PATH}/images/svg/form_icons.svg#checkmark"></use>
7068                                          </svg>
7069                                        </i>
7070                                      </span>`
7071                                    : ''
7072                                  }
7073                                </span>
7074                              </a>
7075                            </div>
7076                          </li>
7077                        `;
7078                      }
7079
7080                      $(itemsHtml).insertBefore($loadings);
7081
7082                      if (response.data.more) {
7083                        getMainCities.observer.observe($loadings[0]);
7084                      }
7085                      else {
7086                        $loadings.remove();
7087                      }
7088                    }
7089                  }
7090                },
7091                onfailure: function(){
7092                  $loadings.remove();
7093                }
7094              });
7095            }
7096
7097            $("#mobile-region-search").autocomplete({
7098              minLength: 2,
7099              appendTo : $('.mobilemenu__menu--regions .dropdown .mobile-cities').closest('.menu-item-fixed'),
7100              source: function(request, callback){
7101                let componentAction = 'searchCities';
7102                let componentName = 'aspro:regionality.list.premier';
7103                let sessid = BX.message('bitrix_sessid');
7104                let lang = BX.message('LANGUAGE_ID');
7105                let siteId = BX.message('SITE_ID');
7106                let url = location.pathname + location.search;
7107
7108                BX.ajax({
7109                  url: '/bitrix/services/main/ajax.php?mode=ajax&c=' + encodeURIComponent(componentName) +'&action=' + componentAction + '&sessid=' + sessid + '&SITE_ID=' + siteId + '&siteId=' + siteId + '&url=' + encodeURIComponent(url) + '&term=' + encodeURIComponent(request.term) + '&lang=' + lang,
7110                  method: 'POST',
7111                  async: true,
7112                  processData: true,
7113                  scriptsRunFirst: true,
7114                  emulateOnload: true,
7115                  start: true,
7116                  cache: false,
7117                  dataType: 'json',
7118                  onsuccess: function(response){
7119                    if (
7120                      typeof response === 'object' &&
7121                      response &&
7122                      typeof response.data === 'object' &&
7123                      response.data
7124                    ) {
7125                      let cities = Object.values(response.data.cities);
7126                      $("#mobile-region-search").data('cities', cities);
7127
7128                      if (cities.length) {
7129                        callback(response.data.cities);
7130                      }
7131                      else {
7132                        $('.mobilemenu__menu--regions .dropdown .mobile-cities').hide().siblings().empty().show();
7133                      }
7134                    }
7135                  },
7136                  onfailure: function(){
7137                  }
7138                });
7139              },
7140              select: function(event, ui) {
7141                let regionId = ui.item.ID;
7142                if (regionId) {
7143                  setCookieOnDomains('current_region', regionId);
7144
7145                  let locationId = ui.item.LOCATION_ID;
7146                  if (locationId) {
7147                    setCookieOnDomains('current_location', locationId);
7148                  }
7149                  else {
7150                    setCookieOnDomains('current_location', '', {expires: -1});
7151                  }
7152                }
7153
7154                $('#mobile-region-search').val(ui.item.label);
7155
7156                return false;
7157              },
7158              focus: function(event, ui) {
7159                // !!!hack do not remove
7160                setTimeout(function() {
7161                  $("#mobile-region-search").val(ui.item.NAME);
7162
7163                  // highlight
7164                  let cities = $("#mobile-region-search").data('cities');
7165                  if (typeof cities === 'object' && cities) {
7166                    cities.every((item, i) => {
7167                      if (item.NAME == ui.item.NAME) {
7168                        $('.mobilemenu__menu--regions .ui-autocomplete .mobilemenu__menu-item').eq(i).addClass('selected').siblings().removeClass('selected');
7169
7170                        return false;
7171                      }
7172
7173                      return true;
7174                    });
7175                  }
7176                }, 0);
7177              },
7178              open: function(event, ui) {
7179                $('.mobilemenu__menu--regions .dropdown .mobile-cities').hide().siblings().show();
7180              },
7181              close: function(event, ui) {
7182                // do not hide finded citties! Hide it only on empty phrase!
7183                $('.mobilemenu__menu--regions .dropdown .mobile-cities').siblings().show();
7184              }
7185            }).data('ui-autocomplete')._renderItem = function(ul, item){
7186              let html = `
7187                <li class="mobilemenu__menu-item mobilemenu__menu-item--city">
7188                  <div class="link-wrapper bg-opacity-theme-parent-hover fill-theme-parent-all">
7189                    <a href="` + item.URL + `" rel="nofollow" data-id="` + item.ID + `" data-locid="` + (item.LOCATION_ID ? item.LOCATION_ID : '') + `" class="dark_link"><span class="font_15">` + item.NAME + `</span>` + (item.PATH ? '<div class="secondary-color font_13">' + item.PATH + '</div>' : '') + `</a>
7190                  </div>
7191                </li>
7192              `;
7193
7194              return $(html).appendTo(ul);
7195            }
7196
7197            if ($('.mobilemenu__menu--regions .dropdown .loadings').length) {
7198              getMainCities.lastId = 0;
7199              getMainCities.observer = new IntersectionObserver((entries, observer) => {
7200                entries.forEach(entry => {
7201                  if (entry.isIntersecting) {
7202                    getMainCities.observer.unobserve(entry.target);
7203                    getMainCities();
7204                  }
7205                })
7206              }, {
7207                root: null,
7208                rootMargin: '0px',
7209                threshold: 0.5,
7210              });
7211
7212              getMainCities();
7213            }
7214          }
7215        );
7216      }
7217    }
7218  }
7219  //  --- END Bind mobile menu  ---
7220
7221  //  --- Bind mobile phone ---
7222  if ($("#mobilephones").length) {
7223    $(document).on("click", ".mobileheader .phones__inner .icon-block__only-icon", function (e) {
7224      e.stopPropagation();
7225      SwipeMobilePhone();
7226    });
7227
7228    $(document).on("click", ".mobilephones__menu-item a,.mobilephones__close", function (e) {
7229      e.stopPropagation();
7230      CloseMobilePhone();
7231    });
7232  }
7233
7234  SwipeMobilePhone = function () {
7235    if ($("#mobilephones.show").length) {
7236      CloseMobilePhone();
7237    } else {
7238      OpenMobilePhone();
7239    }
7240  };
7241
7242  OpenMobilePhone = function () {
7243    if (!$("#mobilephones.show").length) {
7244      CloseMobileMenu();
7245
7246      // show overlay
7247      $('<div class="jqmOverlay mobp"></div>').appendTo("body");
7248
7249      // blur body
7250      $("#mobileheader").addClass("filter-none");
7251      $("body").addClass("jqm-initied");
7252
7253      // toggle phones
7254      setTimeout(function () {
7255        $("#mobilephones").slideDown("fast", function () {
7256          $("#mobilephones").addClass("show");
7257        });
7258      }, 100);
7259    }
7260  };
7261
7262  CloseMobilePhone = function () {
7263    if ($("#mobilephones.show").length) {
7264      // toggle phones
7265      setTimeout(function () {
7266        $("#mobilephones").slideUp("fast", function () {
7267          $("#mobilephones").removeClass("show");
7268
7269          // unblur body
7270          $("body").removeClass("jqm-initied");
7271          $("#mobileheader").removeClass("filter-none");
7272
7273          // hide overlay
7274          $(".jqmOverlay.mobp").remove();
7275        });
7276      }, 100);
7277    }
7278  };
7279
7280  checkMobilePhone = function () {
7281    CloseMobilePhone();
7282  };
7283  //  --- END Bind mobile phone ---
7284
7285  /*  --- Bind mobile filter  --- */
7286  var $mobilefilter = $("#mobilefilter");
7287  var $mobiledMenu = $("#mobilemenu");
7288  if ($mobilefilter.length) {
7289    $mobilefilter.isOpen = $mobiledMenu.hasClass("show");
7290    $mobilefilter.isAppendLeft = false;
7291    $mobilefilter.isWrapFilter = false;
7292    $mobilefilter.isHorizontalOrCompact = $(".filter_horizontal").length || $(".bx_filter_vertical.compact").length;
7293    $mobilefilter.close = '<i class="svg svg-close close-icons"></i>';
7294
7295    $(document).on("click", ".bx-filter-title", function () {
7296      OpenMobileFilter();
7297    });
7298
7299    $(document).on("click", "#mobilefilter .svg-close.close-icons", function () {
7300      CloseMobileFilter();
7301    });
7302
7303    $(document).on("click", ".bx_filter_select_block", function (e) {
7304      var bx_filter_select_container = $(e.target).parents(".bx_filter_select_container");
7305      if (bx_filter_select_container.length) {
7306        var prop_id = bx_filter_select_container.closest(".bx_filter_parameters_box").attr("data-property_id");
7307        if ($("#smartFilterDropDown" + prop_id).length) {
7308          $("#smartFilterDropDown" + prop_id).css({
7309            "max-width": bx_filter_select_container.width(),
7310            "z-index": "3020",
7311          });
7312        }
7313      }
7314    });
7315
7316    $(document).on("click", ".bx_filter_search_button", function (e) {
7317      // if ($(e.target).hasClass("bx_filter_search_button")) {
7318        CloseMobileFilter();
7319      // }
7320    });
7321
7322    $(document).on("mouseup", ".bx_filter_parameters_box_title", function (e) {
7323      $("[id^='smartFilterDropDown']").hide();
7324      if ($(e.target).hasClass("close-icons")) {
7325        CloseMobileFilter();
7326      }
7327    });
7328
7329    $mobilefilter.parent().append('<div id="mobilefilter-overlay"></div>');
7330    var $mobilefilterOverlay = $("#mobilefilter-overlay");
7331
7332    $mobilefilterOverlay.click(function () {
7333      if ($mobilefilter.isOpen) {
7334        CloseMobileFilter();
7335        //e.stopPropagation();
7336      }
7337    });
7338
7339    mobileFilterNum = function (num, def) {
7340      if (def) {
7341        $(".bx_filter_search_button").val(num);
7342      } else {
7343        var str = "";
7344        var $prosLeng = $(".bx_filter_parameters_box > span");
7345
7346        str +=
7347          $prosLeng.data("f") +
7348          " " +
7349          num
7350          // " " +
7351          // declOfNumFilter(num, [$prosLeng.data("fi"), $prosLeng.data("fr"), $prosLeng.data("frm")]);
7352        $(".bx_filter_search_button").val(str);
7353      }
7354    };
7355
7356    declOfNumFilter = function (number, titles) {
7357      cases = [2, 0, 1, 1, 1, 2];
7358      return titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[number % 10 < 5 ? number % 10 : 5]];
7359    };
7360
7361    OpenMobileFilter = function () {
7362      if (!$mobilefilter.isOpen) {
7363        $("body").addClass("jqm-initied wf");
7364
7365        $(".bx_filter_vertical .slide-block__head.filter_title").removeClass("closed");
7366
7367        $(".bx_filter_vertical .slide-block__head.filter_title + .slide-block__body").show();
7368
7369        if (!$mobilefilter.isAppendLeft) {
7370          if (!$mobilefilter.isWrapFilter) {
7371            $(".bx_filter").wrap("<div id='wrapInlineFilter'></div>");
7372            $mobilefilter.isWrapFilter = true;
7373          }
7374          $(".bx_filter").appendTo($("#mobilefilter"));
7375          var helper = $("#filter-helper");
7376          if (helper.length) {
7377            helper.prependTo($("#mobilefilter .bx_filter_parameters"));
7378          }
7379          $mobilefilter.isAppendLeft = true;
7380        }
7381        if (typeof checkFilterLandgings === "function") {
7382          checkFilterLandgings();
7383        }
7384
7385        $("#mobilefilter .bx_filter_parameters").addClass("mobile-scroll scrollbar");
7386
7387        $(".bx_filter_button_box.ajax-btns").addClass("colored_theme_bg");
7388        $(".bx_filter_button_box.ajax-btns .filter-bnt-wrapper").removeClass("hidden");
7389
7390        // show overlay
7391        setTimeout(function () {
7392          $mobilefilterOverlay.fadeIn("fast");
7393        }, 100);
7394
7395        // fix body
7396        $("body").css({ overflow: "hidden", height: "100vh" });
7397
7398        // show mobile filter
7399        $mobilefilter.addClass("show");
7400        $mobilefilter.find(".bx_filter").css({ display: "block" });
7401        $mobilefilter.isOpen = true;
7402
7403        $("#mobilefilter .bx_filter_button_box.btns.ajax-btns").removeClass("hidden");
7404
7405        var init = $mobilefilter.data("init");
7406        if (typeof init === "undefined") {
7407          $mobilefilter.scroll(function () {
7408            $(".bx_filter_section .bx_filter_select_container").each(function () {
7409              var prop_id = $(this).closest(".bx_filter_parameters_box").attr("data-property_id");
7410              if ($("#smartFilterDropDown" + prop_id).length) {
7411                $("#smartFilterDropDown" + prop_id).hide();
7412              }
7413            });
7414          });
7415
7416          $mobilefilter.data("init", "Y");
7417        }
7418         BX.onCustomEvent('showVisibleProps');
7419      }
7420    };
7421
7422    CloseMobileFilter = function (append) {
7423      $mobilefilter.find(".bx_filter_parameters").removeClass("scrollbar");
7424
7425      $("body").removeClass("jqm-initied wf");
7426
7427      $(".bx_filter:not(.n-ajax) .bx_filter_button_box.ajax-btns .filter-bnt-wrapper").addClass("hidden");
7428
7429      if ($mobilefilter.isOpen) {
7430        // scroll to top
7431        $mobilefilter.find(".bx_filter_parameters").scrollTop(0);
7432
7433        // unfix body
7434        $("body").css({ overflow: "", height: "" });
7435
7436        // hide overlay
7437        setTimeout(function () {
7438          $mobilefilterOverlay.fadeOut("fast");
7439        }, 100);
7440
7441        // hide mobile filter
7442        $mobilefilter.removeClass("show");
7443        $mobilefilter.isOpen = false;
7444      }
7445
7446      if (append && $mobilefilter.isAppendLeft) {
7447        $mobilefilter.find('.bx_filter_parameters_box_title:not(.no-html-close)').removeClass("opened");
7448        $mobilefilter.find('.bx_filter_block.dropdown-menu-wrapper').hide();
7449
7450        $(".bx_filter").appendTo($("#wrapInlineFilter")).show();
7451        var helper = $("#filter-helper");
7452        if (helper.length) {
7453          helper.appendTo($("#filter-helper-wrapper"));
7454        }
7455        $mobilefilter.isAppendLeft = false;
7456        $mobilefilter.removeData("init");
7457      }
7458    };
7459
7460    checkMobileFilter = function () {
7461      if (
7462        (!window.matchMedia("(max-width: 991px)").matches && !$mobilefilter.isHorizontalOrCompact) ||
7463        (!window.matchMedia("(max-width: 767px)").matches && $mobilefilter.isHorizontalOrCompact)
7464      ) {
7465        CloseMobileFilter(true);
7466      }
7467    };
7468  }
7469  /*  --- END Bind mobile filter  --- */
7470});
7471
7472/* End */
7473;
7474; /* Start:"a:4:{s:4:"full";s:58:"/bitrix/templates/aspro-premier/js/custom.js?1774596326100";s:6:"source";s:44:"/bitrix/templates/aspro-premier/js/custom.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7475/*
7476You can use this file with your scripts.
7477It will not be overwritten when you upgrade solution.
7478*/
7479/* End */
7480;
7481; /* Start:"a:4:{s:4:"full";s:70:"/bitrix/templates/aspro-premier/js/metrika.goals.min.js?17745963267001";s:6:"source";s:55:"/bitrix/templates/aspro-premier/js/metrika.goals.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7482function checkCounters(name){return void 0!==name?"google"==name&&"Y"==arAsproOptions.COUNTERS.GOOGLE_ECOMERCE&&arAsproOptions.COUNTERS.GOOGLE_COUNTER>0||"yandex"==name&&"Y"==arAsproOptions.COUNTERS.YANDEX_ECOMERCE&&arAsproOptions.COUNTERS.YANDEX_COUNTER>0:"Y"==arAsproOptions.COUNTERS.YANDEX_ECOMERCE&&arAsproOptions.COUNTERS.YANDEX_COUNTER>0||"Y"==arAsproOptions.COUNTERS.GOOGLE_ECOMERCE&&arAsproOptions.COUNTERS.GOOGLE_COUNTER>0}function waitLayer(delay,callback){"undefined"!=typeof dataLayer&&"function"==typeof callback?callback():setTimeout((function(){waitLayer(delay,callback)}),delay)}function addBasketCounter(id,callback){checkCounters()&&$.ajax({url:arAsproOptions.SITE_DIR+"ajax/goals.php",dataType:"json",type:"POST",data:{ID:id},success:function(item){if(item&&item.ID){let ecommerce={items:[{item_name:item.NAME,item_id:item.ID,price:parseFloat(item.PRICE),item_brand:item.BRAND,item_category:item.CATEGORY,item_list_name:"List Results",item_list_id:item.IBLOCK_SECTION_ID,affiliation:item.SHOP_NAME,index:1,quantity:parseFloat(item.QUANTITY)}]};"v3"===arAsproOptions.COUNTERS.GA_VERSION&&(ecommerce={currencyCode:item.CURRENCY,add:{products:[{id:item.ID,name:item.NAME,price:parseFloat(item.PRICE),brand:item.BRAND,category:item.CATEGORY,quantity:parseFloat(item.QUANTITY)}]}}),waitLayer(100,(function(){dataLayer.push({ecommerce:null}),dataLayer.push({event:arAsproOptions.COUNTERS.GOOGLE_EVENTS.ADD2BASKET,currency:item.CURRENCY,value:parseFloat(item.PRICE),ecommerce:ecommerce}),"function"==typeof callback&&callback()}))}}})}function delFromBasketCounter(id,callback){checkCounters()&&$.ajax({url:arAsproOptions.SITE_DIR+"ajax/goals.php",dataType:"json",type:"POST",data:{ID:id},success:function(item){if(item.ID){let ecommerce={items:[{item_name:item.NAME,item_id:item.ID,price:parseFloat(item.PRICE),item_brand:item.BRAND,item_category:item.CATEGORY,affiliation:item.SHOP_NAME,item_list_name:"List Results"}]};"v3"===arAsproOptions.COUNTERS.GA_VERSION&&(ecommerce={remove:{products:[{id:item.ID,name:item.NAME,category:item.CATEGORY}]}}),waitLayer(100,(function(){dataLayer.push({ecommerce:null}),dataLayer.push({event:arAsproOptions.COUNTERS.GOOGLE_EVENTS.REMOVE_BASKET,currency:item.CURRENCY,value:parseFloat(item.PRICE),ecommerce:ecommerce}),"function"==typeof callback&&callback()}))}}})}function viewItemCounter(id,price_id){checkCounters()&&$.ajax({url:arAsproOptions.SITE_DIR+"ajax/goals.php",dataType:"json",type:"POST",data:{PRODUCT_ID:id,PRICE_ID:price_id},success:function(item){if(item.ID){let ecommerce={items:[{item_name:item.NAME,item_id:item.ID,price:parseFloat(item.PRICE),item_brand:item.BRAND,item_category:item.CATEGORY,item_list_name:"List Results",item_list_id:item.IBLOCK_SECTION_ID,affiliation:item.SHOP_NAME,index:1,quantity:parseFloat(item.QUANTITY)}]};
7482"v3"===arAsproOptions.COUNTERS.GA_VERSION&&(ecommerce={detail:{products:[{id:item.ID,name:item.NAME,price:parseFloat(item.PRICE),brand:item.BRAND,category:item.CATEGORY}]}}),waitLayer(100,(function(){dataLayer.push({ecommerce:null}),dataLayer.push({event:"view_item",currency:item.CURRENCY,value:parseFloat(item.PRICE),ecommerce:ecommerce})}))}}})}function purchaseCounter(order_id,type,callback){checkCounters()&&$.ajax({url:arAsproOptions.SITE_DIR+"ajax/goals.php",dataType:"json",type:"POST",data:{ORDER_ID:order_id,TYPE:type},success:function(order){var products=[];const items=[];if(order.ITEMS)for(var i in order.ITEMS)products.push({id:order.ITEMS[i].ID,sku:order.ITEMS[i].ID,name:order.ITEMS[i].NAME,price:order.ITEMS[i].PRICE,brand:order.ITEMS[i].BRAND,category:order.ITEMS[i].CATEGORY,quantity:order.ITEMS[i].QUANTITY}),items.push({item_id:order.ITEMS[i].ID,item_name:order.ITEMS[i].NAME,price:parseFloat(order.ITEMS[i].PRICE),item_brand:order.ITEMS[i].BRAND,item_category:order.ITEMS[i].CATEGORY,affiliation:order.SHOP_NAME,quantity:parseFloat(order.ITEMS[i].QUANTITY)});if(order.ID){let ecommerce={transaction_id:order.ACCOUNT_NUMBER,affiliation:order.SHOP_NAME,value:order.PRICE,tax:order.TAX_VALUE,shipping:order.PRICE_DELIVERY,currency:order.CURRENCY,items:items};"v3"===arAsproOptions.COUNTERS.GA_VERSION&&(ecommerce={purchase:{actionField:{id:order.ACCOUNT_NUMBER,shipping:order.PRICE_DELIVERY,tax:order.TAX_VALUE,list:type,revenue:order.PRICE},products:products}}),waitLayer(100,(function(){dataLayer.push({ecommerce:null}),dataLayer.push({event:arAsproOptions.COUNTERS.GOOGLE_EVENTS.PURCHASE,ecommerce:ecommerce}),void 0!==callback&&callback(ecommerce)}))}else void 0!==callback&&callback()},error:function(){void 0!==callback&&callback()}})}function checkoutCounter(step,option,callback){checkCounters("google")&&$.ajax({url:arAsproOptions.SITE_DIR+"ajax/goals.php",dataType:"json",type:"POST",data:{BASKET:"Y"},success:function(basket){var products=[];const items=[];let summ=0,currency="RUB";if(basket.ITEMS)for(var i in basket.ITEMS)products.push({id:basket.ITEMS[i].ID,name:basket.ITEMS[i].NAME,price:basket.ITEMS[i].PRICE,brand:basket.ITEMS[i].BRAND,category:basket.ITEMS[i].CATEGORY,quantity:basket.ITEMS[i].QUANTITY}),items.push({item_id:basket.ITEMS[i].ID,item_name:basket.ITEMS[i].NAME,price:parseFloat(basket.ITEMS[i].PRICE),item_brand:basket.ITEMS[i].BRAND,item_category:basket.ITEMS[i].CATEGORY,affiliation:basket.SHOP_NAME,quantity:parseFloat(basket.ITEMS[i].QUANTITY)}),summ+=basket.ITEMS[i].PRICE,currency=basket.ITEMS[i].CURRENCY;if(products){let ecommerce={items:items};"v3"===arAsproOptions.COUNTERS.GA_VERSION&&(ecommerce={checkout:{actionField:{step:step,option:option},products:products}}),waitLayer(100,(function(){dataLayer.push({ecommerce:null}),dataLayer.push({event:arAsproOptions.COUNTERS.GOOGLE_EVENTS.CHECKOUT_ORDER,currency:currency,value:parseFloat(summ),ecommerce:ecommerce}),void 0!==callback&&"function"==typeof callback&&callback()}))}}})}function waitCounter(idCounter,delay,callback){var obCounter;"object"==typeof window["yaCounter"+idCounter]?"function"==typeof callback&&callback():setTimeout((function(){waitCounter(idCounter,delay,callback)}),delay)}BX.addCustomEvent("onCounterGoals",(function(eventdata){if("object"!=typeof eventdata&&(eventdata={goal:"undefined"}),"string"!=typeof eventdata.goal&&(eventdata.goal="undefined"),"goal_basket_add"===eventdata.goal?"object"==typeof eventdata.params&&eventdata.params&&eventdata.params.id&&addBasketCounter(eventdata.params.id):"goal_basket_remove"===eventdata.goal&&"object"==typeof eventdata.params&&eventdata.params&&eventdata.params.id&&delFromBasketCounter(eventdata.params.id),"Y"===arAsproOptions.THEME.YA_GOALS&&arAsproOptions.THEME.YA_COUNTER_ID){var idCounter=arAsproOptions.THEME.YA_COUNTER_ID;if(idCounter=parseInt(idCounter))try{waitCounter(idCounter,50,(function(){var obCounter=window["yaCounter"+idCounter];"object"==typeof obCounter&&obCounter.reachGoal(eventdata.goal)}))}catch(e){console.error(e)}else console.info("Bad counter id!",idCounter)}})),readyDOM((function(){"Y"===arAsproOptions.THEME.USE_DEBUG_GOALS?$.cookie("_ym_debug","1"):$.cookie("_ym_debug",null)}));
7483/* End */
7484;
7485; /* Start:"a:4:{s:4:"full";
7485s:61:"/bitrix/templates/aspro-premier/js/logo.min.js?17745963263052";s:6:"source";s:46:"/bitrix/templates/aspro-premier/js/logo.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7486if(void 0===window.JLogo){window.JLogo=function(e,o){var t={inited:!1};Object.defineProperties(this,{inited:{get:function(){return t.inited},set:function(e){e&&(t.inited=!0)}},node:{get:function(){return e}},img:{get:function(){return e?e.querySelector("img"):null}},svg:{get:function(){return e?e.querySelector("svg"):null}}}),this.params=function(e){if("object"==typeof o&&void 0!==e&&Object.keys(o).indexOf(e)>-1)return o[e]},this.init()},window.JLogo.prototype={get src(){return this.img?this.img.getAttribute("src"):""},set src(e){this.img&&this.img.setAttribute("src",e)},get srcDark(){return arAsproOptions.THEME.LOGO_IMAGE},get srcLight(){return arAsproOptions.THEME.LOGO_IMAGE_WHITE?arAsproOptions.THEME.LOGO_IMAGE_WHITE:arAsproOptions.THEME.LOGO_IMAGE},get color(){if(this.img){let e=this.src;return e===this.srcDark?"dark":e===this.srcLight?"light":""}return""},set color(e){this.canChangeColor&&this.color!==e&&(this.src="light"===e?this.srcLight:this.srcDark)},get isMainLogo(){return Boolean(this.node.closest("header"))},get canChangeColor(){let e=!1;return this.img&&(this.isMainLogo&&this.node.closest(".header_opacity")||(e=!0)),e},setColorOfBanner:function(e){this.img&&e&&void 0!==window.headerLogo&&(value=BX.data(e,"color"),value=value||"dark",this.color!==value&&this.node.setAttribute("src","light"===value?this.srcLight:this.srcDark))},get isPreferColor(){return BX.hasClass(document.body,"theme-default")},get preferColor(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"},get themeColor(){return this.isPreferColor?this.preferColor:BX.hasClass(document.body,"theme-dark")?"dark":"light"},init:function(){this.inited||(this.inited=!0,this.img&&(this.color=this.getInvertedColor(this.themeColor),this.bindEvents()))},getInvertedColor:function(e){return"default"===e&&(e=this.preferColor),"light"===e?"dark":"dark"===e?"light":""},bindEvents:function(){"function"==typeof this.handlers.onChangePrefersColorScheme&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",BX.proxy(this.handlers.onChangePrefersColorScheme,this)),"function"==typeof this.handlers.onChangeThemeColor&&BX.addCustomEvent("onChangeThemeColor",BX.proxy(this.handlers.onChangeThemeColor,this))},unbindEvents:function(){},handlers:{onChangePrefersColorScheme:function(e){e||(e=window.event);let o=e.matches?"dark":"light";this.isPreferColor&&(this.color=this.getInvertedColor(o)),BX.setCookie("prefers-color-scheme",o)},onChangeThemeColor:function(e){"object"==typeof e&&e&&"value"in e&&(this.color=this.getInvertedColor(e.value))}}},("function"==typeof readyDOM?readyDOM:BX.ready)((function(){window.headerLogo=new JLogo(document.querySelector("header .logo")),window.headerfixedLogo=new JLogo(document.querySelector("#headerfixed .header .logo")),window.mobileheaderLogo=new JLogo(document.querySelector("#mobileheader .mobileheader .logo")),window.mobilemenuLogo=new JLogo(document.querySelector("#mobilemenu .mobilemenu .logo")),BX.setCookie("prefers-color-scheme",window.headerLogo.preferColor)}))}
7487/* End */
7488;
7489; /* Start:"a:4:{s:4:"full";s:69:"/bitrix/templates/aspro-premier/js/item-action.min.js?177876543729303";s:6:"source";s:53:"/bitrix/templates/aspro-premier/js/item-action.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7490void 0===window.JItemAction&&(JItemAction=function(t,e){t="object"==typeof t&&t&&t instanceof Node?t:null,e="object"==typeof e&&e?e:{},this.node=t;var o={inited:!1};let i=JSON.stringify(e);Object.defineProperties(this,{inited:{get:function(){return o.inited},set:function(t){t&&(o.inited=!0)}},config:{get:function(){return JSON.parse(i)}}}),this.init()},JItemAction.prototype={constructor:JItemAction,busy:!1,parentNode:null,xhr:null,get class(){return this.constructor.name},get action(){return""},get requestUrl(){return arAsproOptions.SITE_DIR+"ajax/item.php"},get valid(){return this.node&&this.action},get idle(){return!1},activeStateClass:"active",get state(){return this.valid&&BX.hasClass(this.node,this.activeStateClass)},set state(t){this.valid&&t!=this.state&&(this.changeStateClass(t),this.switch&&(this.switch.checked=t,BX.fireEvent(this.switch,"change")),this.changeStateAttributes(t))},prevState:null,get data(){let t={};if(this.valid){let e="";if(e=this.node.classList.contains("js-external-button")?document.querySelector(".catalog-detail"):this.node.closest(".
7490js-popup-block"),e){let o=e.querySelector("[data-item]");if(o&&(t="function"==typeof jQuery?jQuery(o).data("item"):BX.data(o,"item"),void 0!==t&&"object"!=typeof t&&t))try{t=JSON.parse(t.toString())}catch(e){t={}}}}return"object"==typeof t&&t?t:{}},_switch:null,get switch(){return this._switch||(this._switch=this.getSwitch()),this._switch},init:function(){this.inited||(this.inited=!0,this.valid&&(this.node.itemAction=this,this.parentNode=this.node.parentElement,this.bindEvents()))},changeStateClass(t){const e=document.querySelectorAll(`.js-item-action[data-action="${this.action}"][data-id="${this.data.ID}"]`);e.length&&e.forEach((e=>{e.classList.toggle(this.activeStateClass,t),e.parentElement&&e.parentElement.classList.toggle(this.activeStateClass,t)}))},changeStateAttributes(t){const e=document.querySelectorAll(`.js-item-action[data-action="${this.action}"][data-id="${this.data.ID}"]`),o=this.getStateTitle(t);e.length&&e.forEach((t=>{t.setAttribute("title",o);let e=t.querySelector(".info-buttons__item-text");e&&e.setAttribute("title",o),this.isActionRequiresTextChange()&&(t.textContent=o)}))},bindEvents:function(){this.valid&&BX.Type.isFunction(this.handlers.onChangeSwitch)&&this.switch&&BX.bind(this.switch,"change",BX.proxy(this.handlers.onChangeSwitch,this))},unbindEvents:function(){this.valid&&BX.Type.isFunction(this.handlers.onChangeSwitch)&&this.switch&&BX.unbind(this.switch,"change",BX.proxy(this.handlers.onChangeSwitch,this))},fireEvent:function(t){if(this.valid&&!this.busy&&"object"==typeof t&&t){let e=t.type;e&&"click"===e&&BX.proxy(this.handlers.onClickNode,this)(t)}},isStateChanged:function(){return null!==this.prevState&&this.prevState!=this.state},getStateTitle:function(t){return this.valid?t?this.node.getAttribute("data-title_added")||"":this.node.getAttribute("data-title")||"":""},getStateGoalCode:function(t){return"goal_"+this.action+(t?"_add":"_remove")},showStateNotice:function(t,e){if(this.valid&&"function"==typeof JNoticeSurface){let o=JNoticeSurface.get(),i="onAdd2"+this.action.replace(/^\w/,(t=>t.toUpperCase()));i&&"function"==typeof o[i]&&o[i](t,e)}},mkStateNoticeItems:function(t){return[this.node]},getCustomEventName:function(t){if(this.action){return(t||"on")+("JItemAction"+this.action.replace(/^\w/,(t=>t.toUpperCase())))}return""},updateState:function(t){this.valid&&(this.xhr&&this.abortPrevRequest(),this.busy||(this.node.blur(),this.prevState=void 0!==t?t:this.state,this.idle?this.parentNode&&BX.removeClass(this.parentNode,"loadings"):(this.busy=!0,this.sendRequest())))},collectRequestData:async function(){let t=new FormData;t.set("is_ajax_post","Y"),t.set("sessid",BX.bitrix_sessid()),t.set("lang",BX.message("LANGUAGE_ID")),t.set("action",this.action),t.set("state",this.state?1:0),t.set("SITE_ID",BX.message("SITE_ID"));let e=this.data;return e&&(t.set("ID",e.ID),t.set("IBLOCK_ID",e.IBLOCK_ID)),t},makeRequestConfig:async function(){return this.collectRequestData().then(BX.proxy((function(t){let e=this.getCustomEventName("onCollectRequestData");return e&&BX.onCustomEvent(e,[{action:this.action,id:this.node.getAttribute("data-id"),data:t}]),{url:this.requestUrl,data:t,method:"POST",dataType:"json",async:!0,processData:!0,preparePost:!1,scriptsRunFirst:!0,emulateOnload:!0,start:!0,cache:!1}}),this)).catch((function(t){throw t}))},sendRequest:function(){this.valid&&this.makeRequestConfig().then(BX.proxy((function(t){t.onsuccess=BX.proxy((function(e){this.xhr&&this.xhr.status&&("function"==typeof this.onRequestSuccess&&this.onRequestSuccess(e),"function"==typeof this.onRequestComplete&&this.onRequestComplete(t))}),this),t.onfailure=BX.proxy((function(){"function"==typeof this.onRequestFailure&&this.onRequestFailure(),"function"==typeof this.onRequestComplete&&this.onRequestComplete(t)}),this),this.xhr=BX.ajax(t)}),this)).catch(BX.proxy((function(t){setTimeout(BX.proxy((function(){this.isStateChanged()&&(this.state=this.prevState,this.prevState=null),this.parentNode&&BX.removeClass(this.parentNode,"loadings"),this.busy=!1}),this),0)}),this))},onRequestComplete:function(t){setTimeout((()=>{this.parentNode&&BX.removeClass(this.parentNode,"loadings"),this.busy=!1,this.xhr=null}),0)},onRequestSuccess:function(t){let e="object"==typeof t&&t?t:{};if(e.success){if(this.action){let t=this.action.toUpperCase();"object"!=typeof arAsproCounters&&(arAsproCounters={}),"object"!=typeof arAsproCounters[t]&&(arAsproCounters[t]={}),"items"in e&&(arAsproCounters[t].ITEMS=e.items),"count"in e&&(arAsproCounters[t].COUNT=e.count),"title"in e&&(arAsproCounters[t].TITLE=e.title),this.class&&"function"==typeof window[this.class]&&"function"==typeof window[this.class].markBadges&&window[this.class].markBadges();let o=this.state;if(this.class&&"function"==typeof window[this.class]&&"function"==typeof window[this.class].markItems&&window[this.class].markItems(),this.isStateChanged()){let t=this.mkStateNoticeItems(e);void 0!==this.node.dataset.notice&&0==this.node.dataset.notice||this.showStateNotice(t,o),BX.onCustomEvent("onCounterGoals",[{goal:this.getStateGoalCode(o),params:{id:this.node.getAttribute("data-id")}}])}if("reload"in e)for(reloadAction in e.reload){let t=reloadAction.toUpperCase();"items"in e.reload[reloadAction]&&(arAsproCounters[t].ITEMS=e.reload[reloadAction].items),"count"in e.reload[reloadAction]&&(arAsproCounters[t].COUNT=e.reload[reloadAction].count),"title"in e.reload[reloadAction]&&(arAsproCounters[t].TITLE=e.reload[reloadAction].title);let o="JItemAction"+reloadAction.replace(/^\w/,(t=>t.toUpperCase()));"function"==typeof window[o]&&(this.class&&"function"==typeof window[o]&&"function"==typeof window[o].markBadges&&window[o].markBadges(),this.class&&"function"==typeof window[o]&&"function"==typeof window[o].markItems&&window[o].markItems())}}}else if(console.error(e.error),this.isStateChanged()&&(this.state=this.prevState),"function"==typeof JNoticeSurface){JNoticeSurface.get().onResultError(e)}this.finalRequestActions()},onRequestFailure:function(){if(this.isStateChanged()&&(this.state=this.prevState),"function"==typeof JNoticeSurface){JNoticeSurface.get().onRequestError(this.xhr)}},abortPrevRequest:function(){return this.xhr&&this.busy&&(this.xhr.abort(),this.busy=!1,this.xhr=null),this},finalRequestActions:function(){this.valid&&"subscribe"!==this.action&&this.updateDropdownBlocks(this.action)},updateDropdownBlocks:function(t){t||(t="basket");let e=Array.prototype.slice.call(document.querySelectorAll(`.${t}-dropdown`));if(e.length)for(let t in e)BX.removeClass(e[t],"loaded")},getSwitch:function(){let t=null;if(this.valid){let e=this.data;if(e){let o=e.ID;if(o){let e=this.node;for(;e&&!t;)t=e.querySelector(`.js-item-action-switch[data-action="${this.action}"][data-id="${o}"]`),e=e.parentElement}}}return t},isActionRequiresTextChange:function(){return BX.hasClass(this.node,"btn")&&!BX.hasClass(this.node,"item-action__inner--only-icon")},handlers:{onClickNode:function(t){t||(t=window.event);let e=t.target||t.srcElement;void 0!==e&&e&&this.valid&&(this.busy||(this.busy=!0,this.node.blur(),this.prevState=this.state,this.state=!this.state,this.idle?(this.parentNode&&BX.removeClass(this.parentNode,"loadings"),this.busy=!1):this.sendRequest()))},onChangeSwitch:function(t){t||(t=window.event);let e=t.target||t.srcElement;void 0!==e&&e&&this.valid}}},JItemAction.factory=function(t,e){if("object"==typeof t&&t&&t instanceof Node){if(t.itemAction instanceof JItemAction)return t.itemAction;{let o=(t.getAttribute("data-action")||"").trim();if(o){let i="JItemAction"+o.replace(/^\w/,(t=>t.toUpperCase()));if("function"==typeof window[i])return new window[i](t,e)}}}return new window.JItemAction(t,e)},JItemAction.markItems=function(){JItemActionBasket.markItems(),JItemActionService.markItems(),JItemActionCompare.markItems(),JItemActionFavorite.markItems(),JItemActionSubscribe.markItems()},JItemAction.markBadges=function(){JItemActionBasket.markBadges(),JItemActionCompare.markBadges(),JItemActionFavorite.markBadges()},JItemAction.actual=function(){JItemAction.markBadges(),JItemAction.markItems()},JItemAction.reload=function(){BX.ajax({url:arAsproOptions.SITE_DIR+"ajax/actualBasket.php",data:{action:"reload",sessid:BX.bitrix_sessid()},method:"POST",dataType:"html",async:!0,processData:!0,preparePost:!0,scriptsRunFirst:!0,emulateOnload:!0,start:!0,cache:!1,onsuccess:function(t){BX.onCustomEvent("onReloadCounters",[{data:t}])}})},JItemActionCompare=function(t,e){JItemAction.apply(this,arguments)},JItemActionCompare.prototype=Object.create(JItemAction.prototype),JItemActionCompare.prototype.constructor=JItemActionCompare,Object.defineProperties(JItemActionCompare.prototype,{action:{get:()=>"compare"}}),JItemActionCompare.markItems=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.COMPARE&&arAsproCounters.COMPARE&&"object"==typeof arAsproCounters.COMPARE.ITEMS){let t=Array.prototype.slice.call(document.querySelectorAll('.js-item-action.active[data-action="compare"]'));if(t.length){let e=Object.values(arAsproCounters.COMPARE.ITEMS);for(let o in t){let i=BX.data(t[o],"id");if(i&&-1==e.indexOf(i)){(t[o].itemAction instanceof JItemAction?t[o].itemAction:new this(t[o])).state=!1}}}if(arAsproCounters.COMPARE.ITEMS)for(let t in arAsproCounters.COMPARE.ITEMS){let e=arAsproCounters.COMPARE.ITEMS[t],o=Array.prototype.slice.call(document.querySelectorAll(`.js-item-action[data-action="compare"][data-id="${e}"]:not(.active)`));if(o.length)for(let t in o){(o[t].itemAction instanceof JItemAction?o[t].itemAction:new this(o[t])).state=!0}}}},JItemActionCompare.markBadges=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.COMPARE&&arAsproCounters.COMPARE&&void 0!==arAsproCounters.COMPARE.COUNT){let t=Array.prototype.slice.call(document.querySelectorAll(".js-compare-block"));if(t.length)if(arAsproCounters.COMPARE.COUNT>0)for(let e in t)BX.addClass(t[e],"icon-block-with-counter--count");else for(let e in t)BX.removeClass(t[e],"icon-block-with-counter--count");if(t=Array.prototype.slice.call(document.querySelectorAll(".js-compare-block .count")),t.length)for(let e in t)t[e].textContent=arAsproCounters.COMPARE.COUNT}},JItemActionFavorite=function(t,e){JItemAction.apply(this,arguments)},JItemActionFavorite.prototype=Object.create(JItemAction.prototype),JItemActionFavorite.prototype.constructor=JItemActionFavorite,Object.defineProperties(JItemActionFavorite.prototype,{action:{get:()=>"favorite"}}),JItemActionFavorite.prototype.getStateGoalCode=function(t){return"goal_wish"+(t?"_add":"_remove")},JItemActionFavorite.markBadges=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.FAVORITE&&arAsproCounters.FAVORITE&&void 0!==arAsproCounters.FAVORITE.COUNT){let t=Array.prototype.slice.call(document.querySelectorAll(".js-favorite-block"));if(t.length)if(arAsproCounters.FAVORITE.COUNT>0)for(let e in t)BX.addClass(t[e],"icon-block-with-counter--count");else for(let e in t)BX.removeClass(t[e],"icon-block-with-counter--count");if(t=Array.prototype.slice.call(document.querySelectorAll(".js-favorite-block .count")),t.length)for(let e in t)t[e].textContent=arAsproCounters.FAVORITE.COUNT}},JItemActionFavorite.markItems=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.FAVORITE&&arAsproCounters.FAVORITE&&"object"==typeof arAsproCounters.FAVORITE.ITEMS&&arAsproCounters.FAVORITE.ITEMS){let t=Array.prototype.slice.call(document.querySelectorAll('.js-item-action.active[data-action="favorite"]'));if(t.length){let e=Object.values(arAsproCounters.FAVORITE.ITEMS);for(let o in t){let i=BX.data(t[o],"id");if(i&&-1==e.indexOf(i)){(t[o].itemAction instanceof JItemAction?t[o].itemAction:new this(t[o])).state=!1}}}if(arAsproCounters.FAVORITE.ITEMS)for(let t in arAsproCounters.FAVORITE.ITEMS){let e=arAsproCounters.FAVORITE.ITEMS[t],o=Array.prototype.slice.call(document.querySelectorAll(`.js-item-action[data-action="favorite"][data-id="${e}"]:not(.active)`));if(o.length)for(let t in o){(o[t].itemAction instanceof JItemAction?o[t].itemAction:new this(o[t])).state=!0}}}},JItemActionSubscribe=function(t,e){JItemAction.apply(this,arguments)},JItemActionSubscribe.prototype=Object.create(JItemAction.prototype),JItemActionSubscribe.prototype.constructor=JItemActionSubscribe,Object.defineProperties(JItemActionSubscribe.prototype,{action:{get:()=>"subscribe"}}),JItemActionSubscribe.markItems=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.SUBSCRIBE&&arAsproCounters.SUBSCRIBE&&"object"==typeof arAsproCounters.SUBSCRIBE.ITEMS){let t=Array.prototype.slice.call(document.querySelectorAll('.js-item-action.active[data-action="subscribe"]'));if(t.length){let e=Object.values(arAsproCounters.SUBSCRIBE.ITEMS);for(let o in t){let i=BX.data(t[o],"id");if(i&&-1==e.indexOf(i)){(t[o].itemAction instanceof JItemAction?t[o].itemAction:new this(t[o])).state=!1}}}if(arAsproCounters.SUBSCRIBE.ITEMS)for(let t in arAsproCounters.SUBSCRIBE.ITEMS){let e=arAsproCounters.SUBSCRIBE.ITEMS[t],o=Array.prototype.slice.call(document.querySelectorAll(`.js-item-action[data-action="subscribe"][data-id="${e}"]:not(.active)`));if(o.length)for(let t in o){(o[t].itemAction instanceof JItemAction?o[t].itemAction:new this(o[t])).state=!0}}}},JItemActionBasket=function(t,e){JItemAction.apply(this,arguments)},JItemActionBasket.prototype=Object.create(JItemAction.prototype),JItemActionBasket.prototype.constructor=JItemActionBasket,JItemActionBasket.prototype.basketPropsNode=null,Object.defineProperties(JItemActionBasket.prototype,{action:{get:()=>"basket"},state:{get(){return this.valid&&BX.hasClass(this.node,this.activeStateClass)},set(t){this.valid&&t!=this.state&&(this.changeStateClass(t),this.switch&&(this.switch.checked=t,BX.fireEvent(this.switch,"change")),this.changeStateAttributes(t))}}
7490,quantity:{get(){if(this.valid){let t=this.node.closest(".buy_block");if(t){let e=t.querySelector(".in_cart .counter__count");if(e)return e.value}}return 1},set(t){if(this.valid){this.node.setAttribute("data-quantity",t);let e=this.node.closest(".buy_block");if(e){let o=e.querySelector(".in_cart .counter__count");o&&(o.value=t)}}}},ratio:{get(){let t=1;return this.valid&&(t=this.node.getAttribute("data-ratio")||1),t<=0&&(t=1),t}},minQuantity:{get(){let t=this.ratio,e=t;if(this.valid){if(e=this.node.getAttribute("data-min"),null===e){let t=this.node.closest(".counter");if(t){let o=t.querySelector(".counter__action--minus");o&&(e=o.getAttribute("data-min"))}}e<t&&(e=t)}return e}},maxQuantity:{get(){if(this.valid&&(maxQuantity=this.node.getAttribute("data-max"),null===maxQuantity)){let t=this.node.closest(".counter");if(t){let e=t.querySelector(".counter__action--plus");e&&(maxQuantity=e.getAttribute("data-max"))}}return maxQuantity}}}),JItemActionBasket.prototype.resetQuantity=function(){this.valid&&(this.quantity=this.minQuantity||this.ratio)},JItemActionBasket.prototype.getBasketPropsNode=function(){let t=null;if(this.valid){let e=this.node.getAttribute("data-bakset_div")||"";e&&(t=BX(e)),!t&&"Y"!==this.node.getAttribute("data-offers")&&this.node.closest(".grid-list__item")&&(t=this.node.closest(".grid-list__item").querySelector(".basket_props_block"))}return t},JItemActionBasket.prototype.collectRequestData=async function(){return JItemAction.prototype.collectRequestData.call(this,arguments).then(BX.proxy((function(t){if(t.set("quantity",this.quantity),this.valid){let e="Y"===this.node.getAttribute("data-offers")?"Y":"N";t.set("offers",e);let o="Y"===this.node.getAttribute("data-add_props")?"Y":"N";t.set("add_props",o);let s="Y"===this.node.getAttribute("data-part_props")?"Y":"N";t.set("part_props",s);let n=this.node.getAttribute("data-props")||"";try{n=n.length?n.split(";"):[]}catch(t){n=[]}t.set("props",JSON.stringify(n));let r=document.querySelector(".rid_item"),a=r?r.getAttribute("rid"):this.node.getAttribute("rid")||!1;t.set("rid",a);let c=!1,l=this.getBasketPropsNode();if(l){let e=l.getElementsByTagName("select");if(e&&e.length)for(i=0;i<e.length;i++)if(!e[i].disabled)switch(e[i].type.toLowerCase()){case"select-one":t.set(e[i].name,e[i].value),c=!0;break;default:break}if(e=l.getElementsByTagName("input"),e&&e.length)for(i=0;i<e.length;i++)if(!e[i].disabled)switch(e[i].type.toLowerCase()){case"hidden":t.set(e[i].name,e[i].value),c=!0;break;case"radio":e[i].checked&&(t.set(e[i].name,e[i].value),c=!0);break;default:break}}if(c||t.set("prop[0]",0),this.isStateChanged()){if("N"===("Y"===this.node.getAttribute("data-empty_props")?"Y":"N"))return this.showBasketPropsForm().then(BX.proxy((function(e){if("object"==typeof e&&e&&e instanceof FormData)for(let o of e.keys())t.set(o,e.get(o));return t}),this)).catch((function(t){throw t}))}}return t}),this))},JItemActionBasket.prototype.showBasketPropsForm=async function(){let t=this;return new Promise(BX.proxy((function(e,o){let s=BX.create({tag:"div",attrs:{"data-event":"jqm","data-name":"message","data-param-form_id":"message","data-param-message_title":encodeURIComponent(BX.message("ADD_BASKET_PROPS_TITLE")),"data-param-message_button_title":encodeURIComponent(BX.message("ADD_BASKET_PROPS_BUTTON_TITLE"))}});BX.append(s,document.body),$(s).jqmEx(BX.proxy((function(t,o,s){let n=o.w[0],r=n.querySelector(".form-body"),a=n.querySelector('.form-footer input[type="submit"]'),c=this.getBasketPropsNode();c&&r&&(r.innerHTML=c.innerHTML),BX.bind(a,"click",BX.proxy((function(){let t=new FormData,o=n.getElementsByTagName("select");if(o&&o.length)for(i=0;i<o.length;i++)if(!o[i].disabled)switch(o[i].type.toLowerCase()){case"select-one":t.set(o[i].name,o[i].value);break;default:break}if(o=n.getElementsByTagName("input"),o&&o.length)for(i=0;i<o.length;i++)if(!o[i].disabled)switch(o[i].type.toLowerCase()){case"hidden":t.set(o[i].name,o[i].value);break;case"radio":o[i].checked&&t.set(o[i].name,o[i].value);break;default:break}e(t);let s=n.querySelector(".jqmClose");if(s)BX.fireEvent(s,"click");else{let t=n.parentElement.querySelector(".jqmOverlay");t?BX.fireEvent(t,"click"):n.innerHTML=""}}),this))}
7490),t),BX.proxy((function(t,e,i){this.valid&&this.busy&&o()}),t)),BX.fireEvent(s,"click"),s.remove()})),t)},JItemActionBasket.prototype.onRequestSuccess=function(t){JItemAction.prototype.onRequestSuccess.call(this,t);let e=Array.prototype.slice.call(document.querySelectorAll(".basket-dropdown"));if(e.length)for(let t in e)BX.removeClass(e[t],"loaded")},JItemActionBasket.prototype.mkStateNoticeItems=function(t){let e=JItemAction.prototype.mkStateNoticeItems.call(this,t);if("changed_services"in t)for(i in t.changed_services){let o=t.changed_services[i],s=JItemActionService.get(o);s&&e.push(s.node)}return e},JItemActionBasket.markBadges=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.BASKET&&arAsproCounters.BASKET&&void 0!==arAsproCounters.BASKET.COUNT){let t=Array.prototype.slice.call(document.querySelectorAll(".js-basket-block"));if(t.length){if(arAsproCounters.BASKET.COUNT>0)for(let e in t){BX.addClass(t[e],"icon-block-with-counter--count"),BX.removeClass(t[e],"header-cart__inner--empty"),t[e].closest("a")&&t[e].closest("a").setAttribute("title",arAsproCounters.BASKET.TITLE)}else for(let e in t)BX.removeClass(t[e],"icon-block-with-counter--count"),BX.addClass(t[e],"header-cart__inner--empty");for(let e in t){let o=t[e].closest("a");o&&o.setAttribute("title",arAsproCounters.BASKET.TITLE)}}if(t=Array.prototype.slice.call(document.querySelectorAll(".js-basket-block .count")),t.length)for(let e in t)t[e].textContent=arAsproCounters.BASKET.COUNT}},JItemActionBasket.markItems=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.BASKET&&arAsproCounters.BASKET&&"object"==typeof arAsproCounters.BASKET.ITEMS&&arAsproCounters.BASKET.ITEMS){let t=Array.prototype.slice.call(document.querySelectorAll('.js-item-action.active[data-action="basket"]'));if(t.length){let e=Object.keys(arAsproCounters.BASKET.ITEMS);for(let o in t){let i=BX.data(t[o],"id");if(i&&-1==e.indexOf(i)){let e=t[o].itemAction instanceof JItemAction?t[o].itemAction:new this(t[o]);e.state=!1,e.resetQuantity()}}}if(arAsproCounters.BASKET.ITEMS)for(let e in arAsproCounters.BASKET.ITEMS){let o=e,i=arAsproCounters.BASKET.ITEMS[e];if(t=Array.prototype.slice.call(document.querySelectorAll(`.js-item-action[data-action="basket"][data-id="${o}"].active`)),t.length)for(let e in t){(t[e].itemAction instanceof JItemAction?t[e].itemAction:new this(t[e])).quantity=i}if(t=Array.prototype.slice.call(document.querySelectorAll(`.js-item-action[data-action="basket"][data-id="${o}"]:not(.active)`)),t.length)for(let e in t){let o=t[e].itemAction instanceof JItemAction?t[e].itemAction:new this(t[e]);o.state=!0,o.quantity=i}}}},JItemActionService=function(t,e){JItemAction.apply(this,arguments)},JItemActionService.prototype=Object.create(JItemAction.prototype),JItemActionService.prototype.constructor=JItemActionService,JItemActionService.prototype.basketPropsNode=null,Object.defineProperties(JItemActionService.prototype,{action:{get:()=>"service"},idle:{get(){if(this.valid){let t=this.productId;if(t){if(this.isInBasketPage)return!1;if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.BASKET&&arAsproCounters.BASKET&&"object"==typeof arAsproCounters.BASKET.ITEMS&&arAsproCounters.BASKET.ITEMS){let e=Object.keys(arAsproCounters.BASKET.ITEMS);return-1==e.indexOf(t)&&-1==e.indexOf(t.toString())}}}return!0}},state:{get(){return this.valid&&BX.hasClass(this.node,this.activeStateClass)},set(t){this.valid&&t!=this.state&&(this.changeStateClass(t),this.switch&&(this.switch.checked=t),this.changeStateAttributes(t))}},quantity:{get(){if(this.valid){let t=this.node.closest(".buy_block");if(t){let e=t.querySelector(".in_cart .counter__count");if(e)return e.value}}return 1},set(t){if(this.valid){this.node.setAttribute("data-quantity",t);let e=this.node.closest(".buy_block");if(e){let o=e.querySelector(".in_cart .counter__count");o&&(o.value=t)}}}},ratio:{get(){let t=1;return this.valid&&(t=this.node.getAttribute("data-ratio")||1),t<=0&&(t=1),t}},isInBasketPage:{get(){return this.node&&this.node.closest(".services_in_basket_page")}},productId:{get(){let t=0;if(this.valid){let e=this.node.closest(".services-buy-wrapper[data-
7490product_id]");e&&(t=parseInt(e.getAttribute("data-product_id")))}return t>0?t:0}}}),JItemActionService.prototype.bindEvents=function(){if(JItemAction.prototype.bindEvents.call(this,arguments),BX.Type.isFunction(this.handlers.onCollectRequestDataJItemActionBasket)){let t=JItemActionBasket.prototype.getCustomEventName("onCollectRequestData");t&&BX.addCustomEvent(t,BX.proxy(this.handlers.onCollectRequestDataJItemActionBasket,this))}},JItemActionService.prototype.unbindEvents=function(){if(JItemAction.prototype.unbindEvents.call(this,arguments),BX.Type.isFunction(this.handlers.onCollectRequestDataJItemActionBasket)){let t=JItemActionBasket.prototype.getCustomEventName("onCollectRequestData");t&&BX.removeCustomEvent(t,BX.proxy(this.handlers.onCollectRequestDataJItemActionBasket,this))}},JItemActionService.prototype.resetQuantity=function(){this.valid&&(this.quantity=this.ratio)},JItemActionService.prototype.collectRequestData=async function(){return JItemAction.prototype.collectRequestData.call(this,arguments).then(BX.proxy((function(t){return t.set("quantity",this.quantity),t.set("product_id",this.productId),t}),this))},JItemActionService.prototype.onRequestSuccess=function(t){JItemAction.prototype.onRequestSuccess.call(this,t),this.isInBasketPage&&BX.Sale.BasketComponent.sendRequest("refreshAjax",{fullRecalculation:"Y",otherParams:{param:"N"}});let e=Array.prototype.slice.call(document.querySelectorAll(".basket-dropdown"));if(e.length)for(let t in e)BX.removeClass(e[t],"loaded")},JItemActionService.prototype.handlers.onChangeSwitch=function(t){t||(t=window.event);let e=t.target||t.srcElement;if(void 0!==e&&e&&this.valid){let t=this.node.closest(".services-item");if(t){e.checked?t.classList.add("services-item--selected"):t.classList.remove("services-item--selected")}}},JItemActionService.prototype.handlers.onCollectRequestDataJItemActionBasket=function(t){try{if(this.state&&"basket"===t.action&&(t.id==this.productId||-1!==JItemActionService.getDetailSku2Ids().indexOf(t.id))){let e=t.data;if(BX.Type.isObject(e)){let t=this.data;if(t){let o=0;for(;e.get(`services[${id}][ID]`);)++o;e.set(`services[${id}][ID]`,t.ID),e.set(`services[${id}][IBLOCK_ID]`,t.IBLOCK_ID),e.set(`services[${id}][quantity]`,this.quantity)}}}}catch(t){console.error(t)}},JItemActionService.markBadges=function(){"object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.SERVICES&&arAsproCounters.SERVICES&&arAsproCounters.SERVICES.COUNT},JItemActionService.markItems=function(){if("object"==typeof arAsproCounters&&arAsproCounters&&"object"==typeof arAsproCounters.SERVICE&&arAsproCounters.SERVICE&&"object"==typeof arAsproCounters.SERVICE.ITEMS&&arAsproCounters.SERVICE.ITEMS){let t=Array.prototype.slice.call(document.querySelectorAll('.js-item-action.active[data-action="service"]'));if(t.length){let e=Object.keys(arAsproCounters.SERVICE.ITEMS);for(let o in t){let i=BX.data(t[o],"id"),s=t[o].closest("[data-product_id]");if(i&&s&&-1==e.indexOf(JItemActionService.joinId(i,s))){let e=t[o].itemAction instanceof JItemAction?t[o].itemAction:new this(t[o]);e.state=!1,e.resetQuantity()}}}if(arAsproCounters.SERVICE.ITEMS)for(let e in arAsproCounters.SERVICE.ITEMS){let o=JItemActionService.splitId(e),i=o.id,s=o.productId,n=arAsproCounters.SERVICE.ITEMS[e];if(i&&s){if(t=Array.prototype.slice.call(document.querySelectorAll(`.services-buy-wrapper[data-product_id="${s}"] .js-item-action[data-action="service"][data-id="${i}"].active`)),t.length)for(let e in t){(t[e].itemAction instanceof JItemAction?t[e].itemAction:new this(t[e])).quantity=n}if(t=Array.prototype.slice.call(document.querySelectorAll(`.services-buy-wrapper[data-product_id="${s}"] .js-item-action[data-action="service"][data-id="${i}"]:not(.active)`)),t.length)for(let e in t){let o=t[e].itemAction instanceof JItemAction?t[e].itemAction:new this(t[e]);o.state=!0,o.quantity=n}}}}},JItemActionService.joinId=function(t,e){return t+"_"+e},JItemActionService.splitId=function(t){let e=t.split("_");return{id:e[0]?e[0]:0,productId:e[1]?e[1]:0}},JItemActionService.getDetailSku2Ids=function(){let t=[];return document.querySelectorAll('.catalog-detail .detail-block.sku .js-item-action[data-action="basket"]').forEach((e=>{let o=JItemAction.factory(e);if(o){let e=o.data;e&&t.push(e.ID.toString())}})),t},JItemActionService.get=function(t){let e=null,o=JItemActionService.splitId(t);if(t=o.id,productId=o.productId,t>0&&productId>
74900){let o=document.querySelector(`.services-buy-wrapper[data-product_id="${productId}"] .js-item-action[data-action="service"][data-id="${t}"]`);o||-1!==JItemActionService.getDetailSku2Ids().indexOf(productId)&&(o=document.querySelector(`.catalog-detail .services-buy .js-item-action[data-action="service"][data-id="${t}"]`)),o&&(e=o.itemAction instanceof JItemAction?o.itemAction:new this(o))}return e},BX.Aspro.Utils.isFunction("reloadCounters")||(reloadCounters=function(){JItemAction.reload()}),BX.bindDelegate(document,"click",{class:"js-item-action"},(function(t){t||(t=window.event),BX.PreventDefault(t);let e=t.target||t.srcElement;void 0!==e&&e&&(e.closest(".opt_action")||JItemAction.factory(this).fireEvent(t))})),BX.bindDelegate(document,"change",{tag:"input",className:"js-item-action-switch",attrs:{type:"checkbox"}},(t=>{let e=(t=t||window.event).target,o=e.checked,i=null,s=(e.getAttribute("data-action")||"").trim();if(s){let t=e;for(;t&&!i;)i=t.querySelector(`.js-item-action[data-action="${s}"]`),t=t.parentElement}if(i){let t=JItemAction.factory(i);t&&(t.prevState=!o,t.state=o,t.updateState(!o))}})),BX.addCustomEvent("onCompleteAction",(function(t){try{"ajaxContentLoaded"!==t.action&&"jsLoadBlock"!==t.action||JItemAction.markItems()}catch(t){console.error(t)}})),BX.addCustomEvent("onAjaxSuccess",(function(t){"object"==typeof t&&t&&t.BASKET_REFRESHED&&(JItemAction.markItems(),JItemAction.reload())})),readyDOM((function(){JItemAction.markItems()})));
7491/* End */
7492;
7493; /* Start:"a:4:{s:4:"full";s:64:"/bitrix/templates/aspro-premier/js/notice.min.js?177876543716454";s:6:"source";s:48:"/bitrix/templates/aspro-premier/js/notice.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7494if(void 0===window.JNotice){let e='<svg width="60" height="60" viewB
7494ox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><path d="M40.7071 19.2929C41.0976 19.6834 41.0976 20.3166 40.7071 20.7071L31.4142 30L40.7071 39.2929C41.0976 39.6834 41.0976 40.3166 40.7071 40.7071C40.3166 41.0976 39.6834 41.0976 39.2929 40.7071L30 31.4142L20.7071 40.7071C20.3166 41.0976 19.6834 41.0976 19.2929 40.7071C18.9024 40.3166 18.9024 39.6834 19.2929 39.2929L28.5858 30L19.2929 20.7071C18.9024 20.3166 18.9024 19.6834 19.2929 19.2929C19.6834 18.9024 20.3166 18.9024 20.7071 19.2929L30 28.5858L39.2929 19.2929C39.6834 18.9024 40.3166 18.9024 40.7071 19.2929Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 30C0 13.4315 13.4315 0 30 0C46.5685 0 60 13.4315 60 30C60 46.5685 46.5685 60 30 60C13.4315 60 0 46.5685 0 30ZM30 2C14.536 2 2 14.536 2 30C2 45.464 14.536 58 30 58C45.464 58 58 45.464 58 30C58 14.536 45.464 2 30 2Z"/></svg>',t='<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M30 14C22.8203 14 17 19.8203 17 27C17 34.1797 22.8203 40 30 40C37.1797 40 43 34.1797 43 27C43 19.8203 37.1797 14 30 14ZM19 27C19 20.9249 23.9249 16 30 16C36.0751 16 41 20.9249 41 27C41 33.0751 36.0751 38 30 38C23.9249 38 19 33.0751 19 27Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 30C0 13.4315 13.4315 0 30 0C46.5685 0 60 13.4315 60 30C60 46.5685 46.5685 60 30 60C13.4315 60 0 46.5685 0 30ZM30 2C14.536 2 2 14.536 2 30C2 38.8944 6.14718 46.8202 12.6133 51.9492C17.5183 48.4552 23.5206 46.4 30 46.4C36.4794 46.4 42.4817 48.4552 47.3866 51.9492C53.8528 46.8202 58 38.8944 58 30C58 14.536 45.464 2 30 2ZM30 58C24.1894 58 18.7922 56.2301 14.3182 53.1999C18.792 50.1697 24.188 48.4 30 48.4C35.812 48.4 41.208 50.1698 45.6818 53.1999C41.2077 56.2301 35.8106 58 30 58Z"/><g opacity="0.1"><path d="M31.5 39C36.7467 39 41 34.9706 41 30C41 25.0294 36.7467 21 31.5 21C26.2533 21 22 25.0294 22 30C22 34.9706 26.2533 39 31.5 39Z"/><path d="M18 55.8C19.9882 54.4667 25.3811 51 32.5385 51C39.6959 51 43.6154 52.6 45 53.4C42.9231 55.8 38.1834 59 32.2189 59C26.2544 59 20.7692 57.4 18 55.8Z"/></g></svg>';window.JNoticeSurface=function(e){var t={inited:!1};Object.defineProperties(this,{inited:{get:function(){return t.inited},set:function(e){e&&(t.inited=!0)}}}),this.config=function(t){if("object"==typeof e&&void 0!==t&&Object.keys(e).indexOf(t)>-1)return e[t]},this.init()},window.JNoticeSurface.prototype={node:null,inner:null,notices:[],bUseJquery:!1,get side(){return"left"===this.config("side")?"left":"right"},get reverse(){return Boolean(this.config("reverse"))},get classname(){return"notice-surface--"+this.side+(this.reverse?" notice-surface--reverse":"")},init:function(){this.inited||(this.inited=!0,this.node=BX.create({tag:"div",attrs:{class:"notice-surface "+this.classname},html:'<div class="notice-surface__inner"></div>'}),this.node.noticeSurface=this,this.inner=this.node.querySelector(".notice-surface__inner"),this.bUseJquery="function"==typeof jQuery,BX.ready(BX.delegate((function(){BX.append(this.node,document.body)}),this)))},search:function(e){if(void 0!==e&&e instanceof window.JNotice)for(var t in this.notices)if(this.notices[t]===e)return t;return!1},create:function(e){var t=new JNotice(e);return t.appendTo(this),t},append:function(e){if(void 0!==e&&e instanceof window.JNotice){if(e.removed||e.inserted&&e.surface!==this)return!1;var t=this.search(e);return t||(this.notices.push(e),t=this.notices.length-1,BX.prepend(e.node,this.inner)),e.inserted||e.appendTo(this),t}return!1},remove:function(e){if(void 0!==e&&void 0!==this.notices[e]){var t=this.notices[e];delete this.notices[e],this.notices.splice(e,1),BX.remove(t.node),t.remove()}},clear:function(){for(i in this.notices)void 0!==this.notices[i]&&this.notices[i].remove();this.notices=[]},getItemName:function(e){let t=e.item,i="",n=t.querySelector(".js-popup-title");if(n&&(i=n.textContent),!1!==e.useDataItem){var o=t.querySelector("[data-item]");if(o&&(o=this.bUseJquery?jQuery(o).data("item"):BX.data(o,"item"))){if(!this.bUseJquery)try{"object"==typeof(o=JSON.parse(o.toString()))&&o||(o={})}catch(e){o={}}o&&(i=o.NAME)}}return i}
7494,getItemImg:function(e){let t=e.item,i="",n=t.querySelector(".detail-info__image, .js-popup-image");if(n){if(i=n.getAttribute("src"),!BX.hasClass(n,"lazyloaded")){let e=this.bUseJquery?jQuery(n).data("src"):BX.data(n,"src");e&&(i=e)}if(!i){let e=this.bUseJquery?jQuery(n).data("bg"):BX.data(n,"bg");e&&(i=e)}}else if(n=t.querySelector(".image-list__link link[itemprop=image]"))i=n.getAttribute("href");else if(n=t.querySelector("meta[itemprop=image]"))i=n.getAttribute("content");else if((n=t.querySelector(".image-list-wrapper img, .js-notice-block__image img"))&&(i=n.getAttribute("src"),!BX.hasClass(n,"lazyloaded"))){let e=this.bUseJquery?jQuery(n).data("src"):BX.data(n,"src");e&&(i=e)}return i},getMoreContent:function(e){let t="";if(e.length>1){let i=[],n=[];for(let t=e.length,o=1;o<t;++o)e[o]&&"object"==typeof e[o]&&e[o].itemAction&&"function"==typeof JItemActionService&&e[o].itemAction instanceof JItemActionService?n.push(e[o]):i.push(e[o]);if(i.length){let e=i.length,n=[BX.message("NOTICE_PRODUCT1"),BX.message("NOTICE_PRODUCT2"),BX.message("NOTICE_PRODUCT0")],o=[2,0,1,1,1,2];t+=BX.message("NOTICE_MORE").replace("#COUNT#",e).replace("#PRODUCTS#",n[e%100>4&&e%100<20?2:o[Math.min(e%10,5)]])}if(n.length){let e=n.length,i=[BX.message("NOTICE_SERVICE1"),BX.message("NOTICE_SERVICE2"),BX.message("NOTICE_SERVICE0")],o=[2,0,1,1,1,2];t+=(t?"<br />":"")+BX.message("NOTICE_MORE").replace("#COUNT#",e).replace("#PRODUCTS#",i[e%100>4&&e%100<20?2:o[Math.min(e%10,5)]])}t&&(t='<div class="notice__detail__more fw-600">'+t+"</div>")}return t},onRequestError:function(t){var i={title:BX.message("NOTICE_REQUEST_ERROR"),detail:t.status+" "+t.statusText,image:e};return this.create({closeable:!0,autoclose:3e3,type:"requesterror",content:i})},onResultError:function(t){var i={title:BX.message("NOTICE_ERROR"),detail:t.error,image:e};return this.create({closeable:!0,autoclose:3e3,type:"resulterror",content:i})},onAuth:function(e){if("object"==typeof e&&e&&BX.message("USER_ID")){var i={title:BX.message("NOTICE_AUTHORIZED"),detail:e.login?e.login:e.fullname,image:e.image?e.image:t};return this.create({closeable:!0,autoclose:3e3,type:"auth",content:i,link:arAsproOptions.THEME.PERSONAL_PAGE_URL})}},onAdd2Cart:function(e,t){if(t=void 0===t||t){if("object"==typeof e&&e.length)for(i in e){var n=e[i];if(n instanceof Node&&(n=this.getPopupBlock(n))){var o={title:BX.message("NOTICE_ADDED2CART"),detail:this.getItemName({item:n}),image:this.getItemImg({item:n})};return o.detail+=this.getMoreContent(e),this.create({closeable:!0,autoclose:3e3,type:"add2cart",link:arAsproOptions.THEME.BASKET_PAGE_URL,content:o})}}}else"function"==typeof JNoticeSurface&&JNoticeSurface.get().node.remove()},onAdd2Basket:function(e,t){return this.onAdd2Cart(...arguments)},onAdd2Service:function(e,t){return this.onAdd2Cart(...arguments)},onAdd2Compare:function(e,t){if("object"==typeof e&&e.length)for(i in e){var n=e[i];if(n instanceof Node&&(n=this.getPopupBlock(n))){var o={title:t?BX.message("NOTICE_ADDED2COMPARE"):BX.message("NOTICE_REMOVED_FROM_COMPARE"),detail:this.getItemName({item:n,useDataItem:arAsproOptions.MODULES.sale}),image:this.getItemImg({item:n})};return o.detail+=this.getMoreContent(e),this.create({closeable:!0,autoclose:3e3,type:"add2compare",link:!!t&&arAsproOptions.THEME.COMPARE_PAGE_URL,content:o})}}},onAdd2Favorite:function(e,t){if("object"==typeof e&&e.length)for(i in e){var n=e[i];if(n instanceof Node&&(n=this.getPopupBlock(n))){var o={title:t?BX.message("NOTICE_ADDED2FAVORITE"):BX.message("NOTICE_REMOVED_FROM_FAVORITE"),detail:this.getItemName({item:n,useDataItem:!!n.closest(".detail-block.sku")}),image:this.getItemImg({item:n})};return o.detail+=this.getMoreContent(e),this.create({closeable:!0,autoclose:3e3,type:"add2favorite",link:!!t&&arAsproOptions.PAGES.PERSONAL_PAGE_URL+"favorite/",content:o})}}},onAdd2Subscribe:function(e,t){if("object"==typeof e&&e.length)for(i in e){var n=e[i];if(n instanceof Node&&(n=this.getPopupBlock(n))){var o={title:t?BX.message("NOTICE_ADDED2SUBSCRIBE"):BX.message("NOTICE_REMOVED_FROM_SUBSCRIBE"),detail:this.getItemName({item:n}),image:this.getItemImg({item:n})};return o.detail+=this.getMoreContent(e),this.create({closeable:!0,autoclose:3e3,type:"add2subscribe",link:!!t&&arAsproOptions.PAGES.PERSONAL_PAGE_URL+"subscribe/",content:o})}}},getPopupBlock(e){let t=null;return t=e.classList.contains("js-external-button")?document.querySelector(".catalog-detail"):e.closest(".
7494js-popup-block"),t}},window.JNoticeSurface.get=function(e){var t=".notice-surface.notice-surface--"+("left"===(e="object"==typeof e?e:{}).side?"left":"right")+(Boolean(e.reverse)?".notice-surface--reverse":":not(.notice-surface--reverse)"),i=document.querySelector(t);return i=i?i.noticeSurface:new window.JNoticeSurface(e)},window.JNotice=function(e){var t={surface:!1,inited:!1,removed:!1};Object.defineProperties(this,{surface:{get:function(){return t.surface},set:function(e){void 0!==e&&e instanceof window.JNoticeSurface&&!this.inserted&&!this.removed&&(t.surface=e,e.append(this),this.show(),BX.onCustomEvent("onAppendNotice",{notice:this}))}},inserted:{get:function(){return t.surface instanceof window.JNoticeSurface}},inited:{get:function(){return t.inited},set:function(e){e&&(t.inited=!0)}},removed:{get:function(){return t.removed},set:function(e){e&&(t.removed=!0)}}}),this.config=function(t){if("object"==typeof e&&void 0!==t&&Object.keys(e).indexOf(t)>-1)return e[t]},this.init()},window.JNotice.prototype={node:null,inner:null,closer:null,handlers:{onClickNode:function(e){e||(e=window.event);var t=e.target||e.srcElement;
7494if(void 0!==t&&t&&!t.closest("a")&&!t.closest(".notice__closer")){BX.PreventDefault(e);var i=t.closest(".notice");i&&(i=i.notice).link.length&&(location.href=i.link)}},onMouseEnterNode:function(e){e||(e=window.event);var t=e.target||e.srcElement;if(void 0!==t&&t){var i=t.closest(".notice");i&&(i=i.notice).autoclose&&(i.closed||i.stopAutoClose())}},onMouseLeaveNode:function(e){e||(e=window.event);var t=e.target||e.srcElement;if(void 0!==t&&t){var i=t.closest(".notice");i&&(i=i.notice,BX.removeClass(i.node,"animate--notice-click"),i.closed||i.startAutoClose())}},onMouseDownNode:function(e){e||(e=window.event);var t=e.target||e.srcElement;if(void 0!==t&&t){var i=t.closest(".notice");i&&(i=i.notice,BX.addClass(i.node,"animate--notice-click"))}},onMouseUpNode:function(e){e||(e=window.event);var t=e.target||e.srcElement;if(void 0!==t&&t){var i=t.closest(".notice");i&&(i=i.notice,BX.removeClass(i.node,"animate--notice-click"))}},onClickCloser:function(e){e||(e=window.event);var t=e.target||e.srcElement;if(void 0!==t&&t){for(var i=null,n=t;n;){if(n.matches(".notice")){i=n;break}n=n.parentElement||n.parentNode}i&&(i=i.notice,BX.addClass(i.node,"notice--closed"),i.remove())}}},get visible(){return!BX.hasClass(this.node,"notice--hidden")&&this.inserted},get closed(){return BX.hasClass(this.node,"notice--closed")},get closeable(){return Boolean(this.config("closeable"))},get autoclose(){var e=parseInt(this.config("autoclose"));return e||0},get classname(){var e=this.config("classname");return"string"==typeof e?e:""},get type(){var e=this.config("type");return"string"==typeof e?e:""},get link(){var e=this.config("link");return"string"==typeof e?e:""},get content(){var e=this.config("content");if("function"==typeof e&&(e=e()),"object"==typeof e){var t=void 0!==e.title&&e.title?"function"==typeof e.title?e.title():e.title.toString():"",i=void 0!==e.detail&&e.detail?"function"==typeof e.detail?e.detail():e.detail.toString():"",n=void 0!==e.image&&e.image?"function"==typeof e.image?e.image():e.image.toString():"",o=n.match(/^<svg[\s>]/),s=void 0!==e.image_link&&e.image_link?"function"==typeof e.image_link?e.image_link():e.image_link.toString():"";(t.length||i.length||n.length)&&(e='<div class="line-block line-block--20 line-block--align-flex-start">',n&&(e+='<div class="line-block__item"><div class="notice__image'+(o?" notice__image--svg":"")+'">'+(s?'<a href="'+s+'">':"")+(o?'<i class="svg inline fill-theme-svg" aria-hidden="true">'+n+"</i>":'<img src="'+n+'" />')+(s?"</a>":"")+"</div></div>"),(t||i)&&(e+='<div class="line-block__item">',t&&(e+='<div class="notice__title switcher-title fw-600">'+t+"</div>"),i&&(e+='<div class="notice__detail font_14">'+i+"</div>"),e+="</div>"),e+="</div>")}return void 0===e?"":e.toString()},init:function(){if(!this.inited){this.inited=!0;var e="";this.closeable&&(e=`<span class="notice__closer stroke-theme-hover" title="${BX.message("NOTICE_CLOSE")}">\n                      <i class="svg inline" aria-hidden="true">\n                        <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">\n                          <path d="M13 1L1 13M1 1L13 13" stroke="#999999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>\n                        </svg>\n                      </i>\n                    </span>`),this.node=BX.create({tag:"div",attrs:{class:"notice notice--hidden"+(this.classname.length?" "+this.classname:"")+(this.link.length?" notice--link":"")},dataset:{type:this.type},html:e+'<div class="notice__inner">'+this.content+"</div>"}),this.node.notice=this,this.inner=this.node.querySelector(".notice__inner"),this.closeable&&(this.closer=this.node.querySelector(".notice__closer")),this.bindEvents(),BX.onCustomEvent("onInitNotice",{notice:this})}},bindEvents:function(){this.node&&("function"==typeof this.handlers.onClickNode&&this.node.addEventListener("click",this.handlers.onClickNode),"function"==typeof this.handlers.onMouseEnterNode&&this.node.addEventListener("mouseenter",this.handlers.onMouseEnterNode),"function"==typeof this.handlers.onMouseLeaveNode&&this.node.addEventListener("mouseleave",this.handlers.onMouseLeaveNode),"function"==typeof this.handlers.onMouseEnterNode&&this.node.addEventListener("mousedown",this.handlers.onMouseDownNode),"function"==typeof this.handlers.onMouseLeaveNode&&this.node.addEventListener("mouseup",this.handlers.onMouseUpNode)),this.closeable&&this.closer&&"function"==typeof this.handlers.onClickCloser&&this.closer.addEventListener("click",this.handlers.onClickCloser)},unbindEvents:function(){this.node&&("function"==typeof this.handlers.onClickNode&&this.node.removeEventListener("click",this.handlers.onClickNode),"function"==typeof this.handlers.onMouseEnterNode&&this.node.removeEventListener("mouseenter",this.handlers.onMouseEnterNode),"function"==typeof this.handlers.onMouseLeaveNode&&this.node.removeEventListener("mouseleave",this.handlers.onMouseLeaveNode),"function"==typeof this.handlers.onMouseEnterNode&&this.node.removeEventListener("mousedown",this.handlers.onMouseDownNode),"function"==typeof this.handlers.onMouseLeaveNode&&this.node.removeEventListener("mouseup",this.handlers.onMouseUpNode)),this.closer&&"function"==typeof this.handlers.onClickCloser&&this.closer.removeEventListener("click",this.handlers.onClickCloser)},callback:function(e){"function"==typeof e&&e()},appendTo:function(e){this.surface=e},show:function(e){this.visible?this.callback(e):(BX.addClass(this.node,"animate--notice-show"),BX.removeClass(this.node,"notice--hidden"),setTimeout(BX.delegate((function(){BX.removeClass(this.node,"animate--notice-show"),this.startAutoClose(),this.callback(e)}),this),600),BX.onCustomEvent("onShowNotice",{notice:this}))},hide:function(e){if(this.visible){var t=this;setTimeout((function(){t.node.style.height=t.node.getBoundingClientRect().height+"px",t.node.style.opacity=1,setTimeout((function(){BX.addClass(t.node,"animate--notice-hide"),setTimeout((function(){BX.addClass(t.node,"notice--hidden"),BX.removeClass(t.node,"animate--notice-hide"),t.callback(e)}),700)}),25),BX.onCustomEvent("onHideNotice",{notice:t})}),100)}else this.callback(e)},remove:function(){this.removed||(this.removed=!0,this.hide(BX.delegate((function(){this.unbindEvents(),this.inserted&&this.surface.remove(this.surface.search(this)),BX.onCustomEvent("onRemoveNotice",{notice:this})}),this)))},startAutoClose:function(){this.stopAutoClose(),this.autoclose&&(this.autocloseTimer=setTimeout(BX.delegate((function(){this.remove()}),this),this.autoclose))},stopAutoClose:function(){void 0!==this.autocloseTimer&&this.autocloseTimer&&(clearTimeout(this.autocloseTimer),this.autocloseTimer=!1)}}}
7495/* End */
7496;
7497; /* Start:"a:4:{s:4:"full";
7497s:70:"/bitrix/templates/aspro-premier/js/scroll_to_top.min.js?17745963262367";s:6:"source";s:55:"/bitrix/templates/aspro-premier/js/scroll_to_top.min.js";s:3:"min";s:55:"/bitrix/templates/aspro-premier/js/scroll_to_top.min.js";s:3:"map";s:59:"/bitrix/templates/aspro-premier/js/scroll_to_top.min.js.map";}"*/
7498var $scrolltotop=null;scrollToTop=function(){if("undefined"!=typeof arAsproOptions&&"NONE"!==arAsproOptions.THEME.SCROLLTOTOP_TYPE){scrollToTopAnimateClassIn=-1!==arAsproOptions.THEME.SCROLLTOTOP_TYPE.indexOf("ROUND")?"rotateIn":"rubberBand",scrollToTopAnimateClassOut=-1!==arAsproOptions.THEME.SCROLLTOTOP_TYPE.indexOf("ROUND")?"rotateOut":"flipOutX",BX.browser.IsMac()&&(scrollToTopAnimateClassIn=scrollToTopAnimateClassOut="");var _isScrolling=!1;$("body").append($("<a />").addClass("scroll-to-top "+arAsproOptions.THEME.SCROLLTOTOP_TYPE+" "+arAsproOptions.THEME.SCROLLTOTOP_POSITION).attr({href:"#",id:"scrollToTop"})),$scrolltotop=$("#scrollToTop"),"TOUCH"!==arAsproOptions.THEME.SCROLLTOTOP_POSITION&&arAsproOptions.THEME.SCROLLTOTOP_POSITION_RIGHT&&$scrolltotop.css({right:arAsproOptions.THEME.SCROLLTOTOP_POSITION_RIGHT+"px",left:"auto"}),$scrolltotop.click((function(e){return e.preventDefault(),$("body, html").animate({scrollTop:0},500),!1})),$(window).scroll((function(){_isScrolling||(_isScrolling=!0,$(window).scrollTop()>150?($scrolltotop.stop(!0,!0).addClass("visible"),_isScrolling=!1):($scrolltotop.stop(!0,!0).removeClass("visible"),_isScrolling=!1),CheckScrollToTop())})),$(window).resize((function(){CheckScrollToTop()}))}},CheckScrollToTop=function(){if("undefined"!=typeof arAsproOptions){"NONE"!==arAsproOptions.THEME.SCROLLTOTOP_TYPE&&$scrolltotop&&(documentScrollTop>150?($scrolltotop.stop(!0,!0).addClass("visible").addClass("animated"),scrollToTopAnimateClassOut&&$scrolltotop.removeClass(scrollToTopAnimateClassOut),scrollToTopAnimateClassIn&&$scrolltotop.addClass(scrollToTopAnimateClassIn)):($scrolltotop.stop(!0,!0).removeClass("visible"),scrollToTopAnimateClassIn&&$scrolltotop.removeClass(scrollToTopAnimateClassIn),scrollToTopAnimateClassOut&&$scrolltotop.addClass(scrollToTopAnimateClassOut)));var bottom=23,scrollVal=$(window).scrollTop(),windowHeight=$(window).height();if(arAsproOptions.THEME.SCROLLTOTOP_POSITION_BOTTOM&&(bottom=parseFloat(arAsproOptions.THEME.SCROLLTOTOP_POSITION_BOTTOM)),parseInt($scrolltotop.css("bottom"))>bottom&&(bottom=Math.round(bottom)),$("footer").length){var footerOffset=$("footer").offset().top;scrollVal+windowHeight>footerOffset&&(bottom=Math.round(bottom+scrollVal+windowHeight-Math.round(footerOffset)))}$scrolltotop.css("bottom",bottom+"px")}};
7499/* End */
7500;
7501; /* Start:"a:4:{s:4:"full";s:71:"/bitrix/templates/aspro-premier/js/regions.define.min.js?17745963262818";s:6:"source";s:56:"/bitrix/templates/aspro-premier/js/regions.define.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7502void 0===window.JRegionsDefine&&(window.JRegionsDefine=function(){var e={inited:!1};Object.defineProperties(this,{inited:{get:function(){return e.inited},set:function(i){i&&(e.inited=!0)}}}),this.init()},window.JRegionsDefine.prototype={get selectedRegion(){return this.getCookie("current_region")},get selectedLocation(){return this.getCookie("current_location")},get currentRegion(){return this.define.result&&this.define.result.currentRegion?this.define.result.currentRegion:arAsproOptions.REGIONALITY.CURRENT_REGION_ID?{ID:arAsproOptions.REGIONALITY.CURRENT_REGION_ID}:null},get realRegion(){return this.define.result&&BX.Type.isObject(this.define.result.realRegion)&&!BX.Type.isArray(this.define.result.realRegion)&&this.define.result.realRegion?this.define.result.realRegion:null},get realLocation(){return this.define.result&&this.define.result.realLocation?this.define.result.realLocation:null},get realTitle(){return this.define.result&&this.define.result.realTitle?this.define.result.realTitle:""},init:function(){"Y"===arAsproOptions.THEME.USE_REGIONALITY&&(!this.selectedRegion||this.currentRegion&&this.selectedRegion!=this.currentRegion.ID)&&(this.currentRegion&&this.currentRegion.ID,this.define().then((()=>{!this.realRegion||this.currentRegion&&this.currentRegion.ID==this.realRegion.ID||this.confirm(),this.realRegion&&this.currentRegion&&this.currentRegion.ID==this.realRegion.ID&&this.default()})).catch((function(e){throw e})))},getCookie:function(e){let i=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return i?decodeURIComponent(i[1]):void 0},define:async function(){return new Promise(((e,i)=>{if(this.define.result)return this.define.result;{this.define.result={};let t="define",n="aspro:regionality.list.premier",r=BX.message("bitrix_sessid"),o=BX.message("LANGUAGE_ID"),s=BX.message("S
7502ITE_ID"),a="Y"===arAsproOptions.THEME.REGIONALITY_CITY_IN_HEADER?"Y":"N",u=location.href.replace(location.origin,"");return BX.ajax({url:"/bitrix/services/main/ajax.php?mode=ajax&c="+encodeURIComponent(n)+"&action="+t+"&sessid="+r+"&SITE_ID="+s+"&siteId="+s+"&lang="+o+"&url="+encodeURIComponent(u)+"&showCity="+a,method:"POST",async:!0,processData:!0,scriptsRunFirst:!0,emulateOnload:!0,start:!0,cache:!1,dataType:"json",onsuccess:i=>{"object"==typeof i&&i&&"object"==typeof i.data&&i.data&&(this.define.result=i.data,e(this.define.result))},onfailure:function(){i()}})}}))},default:function(){BX.loadExt("aspro_set_cookie_on_domains").then((()=>{setCookieOnDomains("current_region",this.currentRegion.ID),setCookieOnDomains("current_location","",{expires:-1})}))},confirm:function(){BX.loadExt("aspro_regions.confirm").then((()=>{BX.ready((()=>{JRegionsConfirm.get(this.define.result).show()}))}))}}),BX.ready((function(){new JRegionsDefine}));
7503/* End */
7504;
7505; /* Start:"a:4:{s:4:"full";s:86:"/bitrix/templates/aspro-premier/components/bitrix/menu/header/script.js?17745963253972";s:6:"source";s:71:"/bitrix/templates/aspro-premier/components/bitrix/menu/header/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7506BX.Aspro.Utils.readyDOM(() => {
7507  $(document).on("click", ".header-menu__wide-submenu-item-inner .toggle_block", function (e) {
7508    e.preventDefault();
7509
7510    var _this = $(this),
7511      menu = _this.closest(".header-menu__wide-submenu-item-inner").find("> .submenu-wrapper");
7512
7513    if (!_this.hasClass("clicked")) {
7514      _this.addClass("clicked");
7515
7516      menu.slideToggle(150, function () {
7517        _this.removeClass("clicked");
7518      });
7519
7520      _this.closest(".header-menu__wide-submenu-item-inner").toggleClass("opened");
7521    }
7522  });
7523
7524  BX.bindDelegate(document, 'click', {class: 'header-menu__link--only-catalog'}, function (e) { 
7525    e.preventDefault();
7526
7527    const catalogButton = this;
7528    const nodeSvgUse = catalogButton.querySelector('use');
7529    const svgLink = nodeSvgUse.getAttribute('xlink:href');
7530    
7531    if (catalogButton.classList.contains('opened')) {
7532      catalogButton.classList.remove('opened');
7533      nodeSvgUse.setAttribute('xlink:href', svgLink.replace('#close', '#burger'));
7534    } else {
7535      catalogButton.classList.add('opened');
7536      nodeSvgUse.setAttribute('xlink:href', svgLink.replace('#burger', '#close'));
7537      
7538      onlyCatalogMenuOpen($(catalogButton));
7539    }
7540
7541    onlyCatalogMenuClose(catalogButton);
7542  });
7543
7544  BX.bindDelegate(document, "click", {tag: 'body'}, function (e) {
7545    const catalogButton = document.querySelector('.header-menu__link--only-catalog.opened');
7546    const isMenu = e.target.closest('.header-menu__wrapper');
7547
7548    if (catalogButton && !isMenu) {
7549      onlyCatalogMenuClose();
7550    }
7551  });
7552
7553  onlyCatalogMenuClose = function (currentButton = null) { 
7554    let nodeListCatalogButton = document.querySelectorAll('.header-menu__link--only-catalog.opened');
7555    if (
7556      !nodeListCatalogButton.length
7557      || (nodeListCatalogButton.length === 1 && nodeListCatalogButton[0] === currentButton)
7558    ) return;
7559
7560    nodeListCatalogButton.forEach(nodeCatalogButton => {
7561      if (nodeCatalogButton !== currentButton) {
7562        const currentSvg = nodeCatalogButton.querySelector('use');
7563        const currentSvgLink = currentSvg.getAttribute('xlink:href');
7564        nodeCatalogButton.classList.remove('opened');
7565        currentSvg.setAttribute('xlink:href', currentSvgLink.replace('#close', '#burger'));
7566      }
7567    })
7568  }
7569
7570  onlyCatalogMenuOpen = function (catalogButton) {
7571    var menuNLO = catalogButton.siblings("[data-nlo]");
7572
7573    if (menuNLO.length) {
7574      if (!menuNLO.hasClass("nlo-loadings")) {
7575        menuNLO.addClass("nlo-loadings");
7576        var menuCatalog = $(".header-menu__link--only-catalog ~ .header-menu__dropdown-menu");
7577        if(menuCatalog.length){
7578          menuNLO.replaceWith(menuCatalog.clone());        
7579          catalogButton.parent().find('.aim-init').removeClass('aim-init');
7580          if (BX.Aspro.Utils.isFunction("InitMenuNavigationAim")) {
7581            InitMenuNavigationAim();
7582          }
7583        } else {
7584          var buttonTitle = catalogButton.find(".header-menu__title");
7585          buttonTitle.addClass("loadings");
7586          $.ajax({
7587            data: { nlo: menuNLO.attr("data-nlo") },
7588            error: function () {
7589              menuNLO.removeClass("nlo-loadings");
7590            },
7591            complete: function (jqXHR, textStatus) {
7592              if (textStatus === "success" || jqXHR.status == 404) {
7593                var ob = BX.processHTML($.trim(jqXHR.responseText));
7594                BX.ajax.processScripts(ob.SCRIPT);
7595                menuNLO.replaceWith(ob.HTML);
7596                if (BX.Aspro.Utils.isFunction("InitMenuNavigationAim")) {
7597                  InitMenuNavigationAim();
7598                }
7599              }
7600              buttonTitle.removeClass("loadings");
7601            },
7602          });
7603        }
7604      }
7605    }
7606  };
7607
7608  BX.addCustomEvent("onAjaxChangeWidgetValue", function (eventdata) {
7609    if (eventdata && eventdata["NAME"] === "PAGE_WIDTH") {
7610      if (BX.Aspro.Utils.isFunction("CheckTopMenuDotted")) {
7611        CheckTopMenuDotted();
7612      }
7613    }
7614  });
7615  
7616});
7617
7618/* End */
7619;
7620; /* Start:"a:4:{s:4:"full";
7620s:71:"/bitrix/templates/aspro-premier/js/conditional/collaps.js?1774596326590";s:6:"source";s:57:"/bitrix/templates/aspro-premier/js/conditional/collaps.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7621BX.Aspro.Utils.readyDOM(() => {
7622  $(document).on("click", ".show-more-items-btn", function (e) {
7623    e.stopImmediatePropagation();
7624
7625    let _this = $(this);
7626    let bOpened = _this.hasClass("opened");
7627    let childSpan = _this.find("button");
7628    let parent = _this.parent();
7629    let collapsed = parent.find(".collapsed");
7630
7631    if (collapsed.length) {
7632      collapsed.slideToggle(200);
7633
7634      if (bOpened) {
7635        childSpan.text(BX.message("SHOW"));
7636      } else {
7637        childSpan.text(BX.message("HIDE"));
7638      }
7639      _this.toggleClass("opened");
7640    }
7641  });
7642});
7643/* End */
7644;
7645; /* Start:"a:4:{s:4:"full";s:91:"/bitrix/components/aspro/theme.selector.premier/templates/.default/script.js?17745962967768";s:6:"source";s:76:"/bitrix/components/aspro/theme.selector.premier/templates/.default/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
7646if (typeof window.JThemeSelector === 'undefined') {
7647	window.JThemeSelector = function(id, params, result) {
7648		var _private = {
7649			inited: false,
7650			id: id,
7651		};
7652
7653		Object.defineProperties(this, {
7654			inited: {
7655				get: function() {
7656					return _private.inited;
7657				},
7658				set: function(value) {
7659					if (value) {
7660						_private.inited = true;
7661					}
7662				}
7663			},
7664			id: {
7665				get: function() {
7666					return _private.id;
7667				},
7668			},
7669		});
7670
7671		this.params = function(key) {
7672			if (typeof params === 'object') {
7673				if (typeof key !== 'undefined') {
7674					if (Object.keys(params).indexOf(key) > -1) {
7675						return params[key];
7676					}
7677				}
7678			}
7679
7680			return undefined;
7681		}
7682
7683		this.result = function(key) {
7684			if (typeof result === 'object') {
7685				if (typeof key !== 'undefined') {
7686					if (Object.keys(result).indexOf(key) > -1) {
7687						return result[key];
7688					}
7689				}
7690			}
7691
7692			return undefined;
7693		}
7694
7695		this.init();
7696	}
7697
7698	window.JThemeSelector.prototype = {
7699		node: null,
7700
7701		get color() {
7702			if (this.isDefaultColor) {
7703				return 'default';
7704			} else {
7705				return BX.hasClass(document.body, 'theme-dark') ? 'dark': 'light';
7706			}
7707		},
7708		set color(value) {
7709			if (
7710				this.node &&
7711				(
7712					value === 'light' ||
7713					value === 'dark' ||
7714					value === 'default'
7715				)
7716			) {
7717				let color = value;
7718
7719				if (value === 'default') {
7720					color = this.defaultColor;
7721				}
7722				
7723				let item = this.node.querySelector('.theme-selector__item--' + color);
7724				if (
7725					item &&
7726					!BX.hasClass(item, 'current')
7727				) {
7728					BX.addClass(item, 'current');
7729
7730					this.node.setAttribute('title', BX.message('TS_T_' + color));
7731
7732					let items = Array.prototype.slice.call(this.node.querySelectorAll('.theme-selector__item.current:not(.theme-selector__item--' + color + ')'));
7733					if (items.length) {
7734						for (let i = 0; i < items.length; ++i) {
7735							BX.removeClass(items[i], 'current');
7736						}
7737					}
7738				}
7739
7740				let changed = !BX.hasClass(document.body, 'theme-' + value);
7741
7742				if (changed) {
7743					BX.removeClass(document.body, 'theme-default theme-dark theme-light');
7744					BX.addClass(document.body, 'theme-' + value);
7745
7746					let items = Array.prototype.slice.call(document.querySelectorAll('.style-switcher [data-option-id="THEME_VIEW_COLOR"]'));
7747					if (items.length) {
7748						for (let i = 0; i < items.length; ++i) {
7749							let val = items[i].getAttribute('data-option-value');
7750							if (
7751								val &&
7752								val.toLowerCase() === value
7753							) {
7754								BX.addClass(items[i], 'current');
7755							} else {
7756								BX.removeClass(items[i], 'current');
7757							}
7758						}
7759					}
7760
7761					let fd = new FormData();
7762					fd.set('color', value);
7763					this.sendAction('setColor', fd);
7764
7765					BX.onCustomEvent(
7766						'onChangeThemeColor', 
7767						[{
7768							value: value,
7769						}]
7770					);
7771				}
7772			}
7773		},
7774
7775		get isDefaultColor() {
7776			return BX.hasClass(document.body, 'theme-default');
7777		},
7778
7779		get defaultColor() {
7780			return window.matchMedia("(prefers-color-scheme: dark)").matches ? 'dark' : 'light';
7781		},
7782
7783		init: function() {
7784			if (!this.inited) {
7785				this.inited = true;
7786
7787				this.node = BX('theme-selector--' + this.id);
7788				if (this.node) {
7789					this.node.theme_selector = this;
7790
7791					this.bindEvents();
7792
7793					// set current item as current body class
7794					this.color = this.color;
7795				}
7796			}
7797		},
7798
7799		invert: function() {
7800			// current color
7801			let color = this.isDefaultColor ? this.defaultColor : this.color;
7802
7803			// invert color
7804			this.color = color === 'light' ? 'dark' : 'light';
7805		},
7806
7807		bindEvents: function() {
7808			if (this.node) {
7809				if (typeof this.handlers.onNodeClick === 'function') {
7810					BX.bind(
7811						this.node,
7812						'click',
7813						BX.proxy(
7814							this.handlers.onNodeClick,
7815							this
7816						)
7817					);
7818				}
7819
7820				if (typeof this.handlers.onKeyDown === 'function') {
7821					BX.bind(
7822						document.body,
7823						'keydown',
7824						BX.proxy(
7825							this.handlers.onKeyDown,
7826							this
7827						)
7828					);
7829				}
7830
7831				if (typeof this.handlers.onChangePrefersColorScheme === 'function') {
7832					window.matchMedia('(prefers-color-scheme: dark)').addEventListener(
7833						'change', 
7834						BX.proxy(
7835							this.handlers.onChangePrefersColorScheme,
7836							this
7837						)
7838					);
7839				}
7840
7841				if (typeof this.handlers.onChangeThemeColor === 'function') {
7842					BX.addCustomEvent(
7843						'onChangeThemeColor',
7844						BX.proxy(
7845							this.handlers.onChangeThemeColor,
7846							this
7847						)
7848					);
7849				}
7850			}
7851		},
7852
7853		unbindEvents: function() {
7854			if (this.node) {
7855				if (typeof this.handlers.onNodeClick === 'function') {
7856					BX.unbind(
7857						this.node,
7858						'click',
7859						BX.proxy(
7860							this.handlers.onNodeClick,
7861							this
7862						)
7863					);
7864				}
7865
7866				if (typeof this.handlers.onKeyDown === 'function') {
7867					BX.unbind(
7868						document.body,
7869						'keydown',
7870						BX.proxy(
7871							this.handlers.onKeyDown,
7872							this
7873						)
7874					);
7875				}
7876
7877				if (typeof this.handlers.onChangePrefersColorScheme === 'function') {
7878					window.matchMedia('(prefers-color-scheme: dark)').removeEventListener(
7879						'change', 
7880						BX.proxy(
7881							this.handlers.onChangePrefersColorScheme,
7882							this
7883						)
7884					);
7885				}
7886
7887				if (typeof this.handlers.onChangeThemeColor === 'function') {
7888					BX.removeCustomEvent(
7889						'onChangeThemeColor', 
7890						BX.proxy(
7891							this.handlers.onChangeThemeColor,
7892							this
7893						)
7894					);
7895				}
7896			}
7897		},
7898
7899		sendAction: function(componentAction, data, onsuccess, onfailure, oncomplete) {
7900			let componentName = 'aspro:theme.selector.premier';
7901
7902			data.set('is_ajax_post', 'Y');
7903			data.set('sessid', BX.message('bitrix_sessid'));
7904			data.set('lang', BX.message('LANGUAGE_ID'));
7905			data.set('SITE_ID', this.result('SITE_ID'));
7906			data.set('SIGNED_PARAMS', this.result('SIGNED_PARAMS'));
7907
7908			let promise = BX.ajax.runComponentAction(
7909				componentName,
7910				componentAction,
7911				{
7912					mode: 'ajax',
7913					data: data,
7914				}
7915			);
7916
7917			promise.then(
7918				BX.proxy(
7919					function(response){
7920						if (typeof onsuccess === 'function') {
7921							onsuccess(response);
7922						}
7923		
7924						if (typeof oncomplete === 'function') {
7925							oncomplete();
7926						}
7927					},
7928					this
7929				),
7930				BX.proxy(
7931					function(response){
7932						console.error(response);
7933
7934						let message = '';
7935						for (let i = 0; i < response.errors.length; ++i) {
7936							if (
7937								typeof response.errors[i] === 'object' &&
7938								response.errors[i].message.length
7939							) {
7940								if (
7941									!message.length ||
7942									response.errors[i].message.length < message.length
7943								) {
7944									message = response.errors[i].message;
7945								}
7946							}
7947						}
7948		
7949						if (typeof onfailure === 'function') {
7950							onfailure(message);
7951						}
7952		
7953						if (typeof oncomplete === 'function') {
7954							oncomplete();
7955						}
7956					},
7957					this
7958				),
7959			);
7960		},
7961
7962		handlers: {
7963			onNodeClick: function(event) {
7964				this.invert();
7965			},
7966
7967			onKeyDown: function(event) {
7968				event = event || window.event;
7969
7970				if (
7971					event.ctrlKey &&
7972					event.shiftKey && 
7973					event.keyCode == 76
7974				) {
7975					this.invert();
7976					event.stopImmediatePropagation();
7977				}
7978			},
7979
7980			onChangePrefersColorScheme: function(event) {	 
7981				if (this.isDefaultColor) {
7982					if (!event) {
7983						event = window.event;
7984					}
7985		
7986					this.color = 'default';
7987				}
7988			},
7989
7990			onChangeThemeColor: function(eventdata) {
7991				if (
7992					typeof eventdata === 'object' &&
7993					eventdata &&
7994					'value' in eventdata
7995				) {
7996					this.color = eventdata.value;
7997				}
7998			},
7999		},
8000	}
8001}
8002
8003/* End */
8004;
8005; /* Start:"a:4:{s:4:"full";s:64:"/bitrix/components/bitrix/search.title/script.js?177459629710542";s:6:"source";s:48:"/bitrix/components/bitrix/search.title/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
8006function JCTitleSearch(arParams)
8007{
8008	var _this = this;
8009
8010	this.arParams = {
8011		'AJAX_PAGE': arParams.AJAX_PAGE,
8012		'CONTAINER_ID': arParams.CONTAINER_ID,
8013		'INPUT_ID': arParams.INPUT_ID,
8014		'MIN_QUERY_LEN': parseInt(arParams.MIN_QUERY_LEN, 10),
8015	};
8016	if (arParams.WAIT_IMAGE)
8017	{
8018		this.arParams.WAIT_IMAGE = arParams.WAIT_IMAGE;
8019	}
8020
8021	if (this.arParams.MIN_QUERY_LEN <= 0)
8022	{
8023		this.arParams.MIN_QUERY_LEN = 1;
8024	}
8025
8026	this.cache = [];
8027	this.cache_key = null;
8028
8029	this.startText = '';
8030	this.running = false;
8031	this.runningCall = false;
8032	this.currentRow = -1;
8033	this.RESULT = null;
8034	this.CONTAINER = null;
8035	this.INPUT = null;
8036	this.WAIT = null;
8037
8038	this.ShowResult = function(result)
8039	{
8040		if (BX.type.isString(result))
8041		{
8042			_this.RESULT.innerHTML = result;
8043		}
8044
8045		_this.RESULT.style.display = _this.RESULT.innerHTML === '' ? 'none' : 'block';
8046		var pos = _this.adjustResultNode();
8047
8048		// adjust left column to be an outline
8049		var resultPosition = null;
8050		var th = null;
8051		var tbl = BX.findChild(_this.RESULT, { 'tag': 'table', 'class': 'title-search-result' }, true);
8052		if (tbl)
8053		{
8054			th = BX.findChild(tbl, { 'tag': 'th' }, true);
8055		}
8056
8057		if (th)
8058		{
8059			var tablePosition = BX.pos(tbl);
8060			tablePosition.width = tablePosition.right - tablePosition.left;
8061
8062			var tableHeaderPosition = BX.pos(th);
8063			tableHeaderPosition.width = tableHeaderPosition.right - tableHeaderPosition.left;
8064			th.style.width = tableHeaderPosition.width + 'px';
8065
8066			_this.RESULT.style.width = (pos.width + tableHeaderPosition.width) + 'px';
8067
8068			// Move table to left by width of the first column
8069			_this.RESULT.style.left = (pos.left - tableHeaderPosition.width - 1) + 'px';
8070
8071			// Shrink table when it's too wide
8072			if ((tablePosition.width - tableHeaderPosition.width) > pos.width)
8073			{
8074				_this.RESULT.style.width = (pos.width + tableHeaderPosition.width - 1) + 'px';
8075			}
8076
8077			// Check if table is too wide and shrink result div to it's width
8078			tablePosition = BX.pos(tbl);
8079			resultPosition = BX.pos(_this.RESULT);
8080			if (resultPosition.right > tablePosition.right)
8081			{
8082				_this.RESULT.style.width = (tablePosition.right - tablePosition.left) + 'px';
8083			}
8084		}
8085
8086		var fade = false;
8087		if (tbl)
8088		{
8089			fade = BX.findChild(_this.RESULT, { 'class': 'title-search-fader' }, true);
8090		}
8091
8092		if (fade && th)
8093		{
8094			resultPosition = BX.pos(_this.RESULT);
8095			fade.style.left = (resultPosition.right - resultPosition.left - 18) + 'px';
8096			fade.style.width = 18 + 'px';
8097			fade.style.top = 0 + 'px';
8098			fade.style.height = (resultPosition.bottom - resultPosition.top) + 'px';
8099			fade.style.display = 'block';
8100		}
8101	};
8102
8103	this.onKeyPress = function(keyCode)
8104	{
8105		var tbl = BX.findChild(_this.RESULT, { 'tag': 'table', 'class': 'title-search-result' }, true);
8106		if (!tbl)
8107		{
8108			return false;
8109		}
8110
8111		var i = 0;
8112		var cnt = tbl.rows.length;
8113
8114		switch (keyCode)
8115		{
8116			case 27: // escape key - close search div
8117				_this.RESULT.style.display = 'none';
8118				_this.currentRow = -1;
8119				_this.UnSelectAll();
8120
8121				return true;
8122			case 40: // down key - navigate down on search results
8123				if (_this.RESULT.style.display == 'none')
8124				{
8125					_this.RESULT.style.display = 'block';
8126				}
8127
8128				var first = -1;
8129				for (i = 0; i < cnt; i++)
8130				{
8131					if (!BX.findChild(tbl.rows[i], { 'class': 'title-search-separator' }, true))
8132					{
8133						if (first == -1)
8134						{
8135							first = i;
8136						}
8137
8138						if (_this.currentRow < i)
8139						{
8140							_this.currentRow = i;
8141							break;
8142						}
8143						else if (tbl.rows[i].className == 'title-search-selected')
8144						{
8145							tbl.rows[i].className = '';
8146						}
8147					}
8148				}
8149
8150				if (i == cnt && _this.currentRow != i)
8151				{
8152					_this.currentRow = first;
8153				}
8154
8155				tbl.rows[_this.currentRow].className = 'title-search-selected';
8156
8157				return true;
8158			case 38: // up key - navigate up on search results
8159				if (_this.RESULT.style.display == 'none')
8160				{
8161					_this.RESULT.style.display = 'block';
8162				}
8163
8164				var last = -1;
8165				for (i = cnt - 1; i >= 0; i--)
8166				{
8167					if (!BX.findChild(tbl.rows[i], { 'class': 'title-search-separator' }, true))
8168					{
8169						if (last == -1)
8170						{
8171							last = i;
8172						}
8173
8174						if (_this.currentRow > i)
8175						{
8176							_this.currentRow = i;
8177							break;
8178						}
8179						else if (tbl.rows[i].className == 'title-search-selected')
8180						{
8181							tbl.rows[i].className = '';
8182						}
8183					}
8184				}
8185
8186				if (i < 0 && _this.currentRow != i)
8187				{
8188					_this.currentRow = last;
8189				}
8190
8191				tbl.rows[_this.currentRow].className = 'title-search-selected';
8192
8193				return true;
8194			case 13: // enter key - choose current search result
8195				if (_this.RESULT.style.display == 'block')
8196				{
8197					for (i = 0; i < cnt; i++)
8198					{
8199						if (
8200							_this.currentRow == i
8201							&& !BX.findChild(tbl.rows[i], { 'class': 'title-search-separator' }, true)
8202						)
8203						{
8204							var a = BX.findChild(tbl.rows[i], { 'tag': 'a' }, true);
8205							if (a)
8206							{
8207								window.location = a.href;
8208
8209								return true;
8210							}
8211						}
8212					}
8213				}
8214
8215				return false;
8216			default:
8217				break;
8218		}
8219
8220		return false;
8221	};
8222
8223	this.onTimeout = function()
8224	{
8225		_this.onChange(function() {
8226			setTimeout(_this.onTimeout, 500);
8227		});
8228	};
8229
8230	this.onChange = function(callback)
8231	{
8232		if (_this.running)
8233		{
8234			_this.runningCall = true;
8235
8236			return;
8237		}
8238		_this.running = true;
8239
8240		if (_this.INPUT.value != _this.oldValue && _this.INPUT.value != _this.startText)
8241		{
8242			_this.oldValue = _this.INPUT.value;
8243			if (_this.INPUT.value.length >= _this.arParams.MIN_QUERY_LEN)
8244			{
8245				_this.cache_key = _this.arParams.INPUT_ID + '|' + _this.INPUT.value;
8246				if (_this.cache[_this.cache_key] == null)
8247				{
8248					if (_this.WAIT)
8249					{
8250						var pos = BX.pos(_this.INPUT);
8251						var height = (pos.bottom - pos.top) - 2;
8252						_this.WAIT.style.top = (pos.top + 1) + 'px';
8253						_this.WAIT.style.height = height + 'px';
8254						_this.WAIT.style.width = height + 'px';
8255						_this.WAIT.style.left = (pos.right - height + 2) + 'px';
8256						_this.WAIT.style.display = 'block';
8257					}
8258
8259					BX.ajax.post(
8260						_this.arParams.AJAX_PAGE,
8261						{
8262							'ajax_call': 'y',
8263							'INPUT_ID': _this.arParams.INPUT_ID,
8264							'q': _this.INPUT.value,
8265							'l': _this.arParams.MIN_QUERY_LEN,
8266						},
8267						function(result)
8268						{
8269							_this.cache[_this.cache_key] = result;
8270							_this.ShowResult(result);
8271							_this.currentRow = -1;
8272							_this.EnableMouseEvents();
8273							if (_this.WAIT)
8274							{
8275								_this.WAIT.style.display = 'none';
8276							}
8277
8278							if (!!callback)
8279							{
8280								callback();
8281							}
8282
8283							_this.running = false;
8284							if (_this.runningCall)
8285							{
8286								_this.runningCall = false;
8287								_this.onChange();
8288							}
8289						}
8290					);
8291
8292					return;
8293				}
8294
8295				_this.ShowResult(_this.cache[_this.cache_key]);
8296				_this.currentRow = -1;
8297				_this.EnableMouseEvents();
8298			}
8299			else
8300			{
8301				_this.RESULT.style.display = 'none';
8302				_this.currentRow = -1;
8303				_this.UnSelectAll();
8304			}
8305		}
8306
8307		if (!!callback)
8308		{
8309			callback();
8310		}
8311		_this.running = false;
8312	};
8313
8314	this.onScroll = function ()
8315	{
8316		if (BX.type.isElementNode(_this.RESULT)
8317			&& _this.RESULT.style.display !== 'none'
8318			&& _this.RESULT.innerHTML !== ''
8319		)
8320		{
8321			_this.adjustResultNode();
8322		}
8323	};
8324
8325	this.UnSelectAll = function()
8326	{
8327		var tbl = BX.findChild(_this.RESULT, { 'tag': 'table', 'class': 'title-search-result' }, true);
8328		if (tbl)
8329		{
8330			var cnt = tbl.rows.length;
8331			for (var i = 0; i < cnt; i++)
8332			{
8333				tbl.rows[i].className = '';
8334			}
8335		}
8336	};
8337
8338	this.EnableMouseEvents = function()
8339	{
8340		var tbl = BX.findChild(_this.RESULT, { 'tag': 'table', 'class': 'title-search-result' }, true);
8341		if (tbl)
8342		{
8343			var cnt = tbl.rows.length;
8344			for (var i = 0; i < cnt; i++)
8345			{
8346				if (!BX.findChild(tbl.rows[i], { 'class': 'title-search-separator' }, true))
8347				{
8348					tbl.rows[i].id = 'row_' + i;
8349					tbl.rows[i].onmouseover = function (e) {
8350						if (_this.currentRow != this.id.substr(4))
8351						{
8352							_this.UnSelectAll();
8353							this.className = 'title-search-selected';
8354							_this.currentRow = this.id.substr(4);
8355						}
8356					};
8357
8358					tbl.rows[i].onmouseout = function (e) {
8359						this.className = '';
8360						_this.currentRow = -1;
8361					};
8362				}
8363			}
8364		}
8365	};
8366
8367	this.onFocusLost = function(hide)
8368	{
8369		setTimeout(function() { _this.RESULT.style.display = 'none'; }, 250);
8370	};
8371
8372	this.onFocusGain = function()
8373	{
8374		if (_this.RESULT.innerHTML.length > 0)
8375		{
8376			_this.ShowResult();
8377		}
8378	};
8379
8380	this.onKeyDown = function(e)
8381	{
8382		if (!e)
8383		{
8384			e = window.event;
8385		}
8386
8387		if (_this.RESULT.style.display == 'block' && _this.onKeyPress(e.keyCode))
8388		{
8389			return BX.PreventDefault(e);
8390		}
8391	};
8392
8393	this.adjustResultNode = function()
8394	{
8395		if (!(BX.type.isElementNode(_this.RESULT)
8396			&& BX.type.isElementNode(_this.CONTAINER))
8397		)
8398		{
8399			return { top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 };
8400		}
8401
8402		var pos = BX.pos(_this.CONTAINER);
8403
8404		_this.RESULT.style.position = 'absolute';
8405		_this.RESULT.style.top = (pos.bottom + 2) + 'px';
8406		_this.RESULT.style.left = pos.left + 'px';
8407		_this.RESULT.style.width = pos.width + 'px';
8408
8409		return pos;
8410	};
8411
8412	this.onContainerLayoutChange = function()
8413	{
8414		if (BX.type.isElementNode(_this.RESULT)
8415			&& _this.RESULT.style.display !== 'none'
8416			&& _this.RESULT.innerHTML !== ''
8417		)
8418		{
8419			_this.adjustResultNode();
8420		}
8421	};
8422
8423	this.Init = function()
8424	{
8425		this.CONTAINER = document.getElementById(this.arParams.CONTAINER_ID);
8426		BX.addCustomEvent(this.CONTAINER, 'OnNodeLayoutChange', this.onContainerLayoutChange);
8427
8428		this.RESULT = document.body.appendChild(document.createElement("DIV"));
8429		this.RESULT.className = 'title-search-result';
8430		this.INPUT = document.getElementById(this.arParams.INPUT_ID);
8431		this.startText = this.INPUT.value;
8432		this.oldValue = this.INPUT.value;
8433		BX.bind(this.INPUT, 'focus', function() { _this.onFocusGain(); });
8434		BX.bind(this.INPUT, 'blur', function() { _this.onFocusLost(); });
8435		this.INPUT.onkeydown = this.onKeyDown;
8436
8437		if (this.arParams.WAIT_IMAGE)
8438		{
8439			this.WAIT = document.body.appendChild(document.createElement('DIV'));
8440			this.WAIT.style.backgroundImage = "url('" + this.arParams.WAIT_IMAGE + "')";
8441			if (!BX.browser.IsIE())
8442			{
8443				this.WAIT.style.backgroundRepeat = 'none';
8444			}
8445			this.WAIT.style.display = 'none';
8446			this.WAIT.style.position = 'absolute';
8447			this.WAIT.style.zIndex = '1100';
8448		}
8449
8450		BX.bind(this.INPUT, 'bxchange', function() {_this.onChange()});
8451
8452		var fixedParent = BX.findParent(this.CONTAINER, BX.is_fixed);
8453		if (BX.type.isElementNode(fixedParent))
8454		{
8455			BX.bind(window, 'scroll', BX.throttle(this.onScroll, 100, this));
8456		}
8457	};
8458
8459	BX.ready(function() { _this.Init(arParams); });
8460}
8461
8462/* End */
8463;
8464; /* Start:"a:4:{s:4:"full";s:91:"/bitrix/templates/aspro-premier/js/conditional/search_title/search-title.js?177459632613727";s:6:"source";s:75:"/bitrix/templates/aspro-premier/js/conditional/search_title/search-title.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
8465if (!BX.Aspro.Utils.isFunction("JCTitleSearch2")) {
8466  function JCTitleSearch2(arParams) {
8467    var _this = this;
8468
8469    this.arParams = {
8470      AJAX_PAGE: arParams.AJAX_PAGE,
8471      CONTAINER_ID: arParams.CONTAINER_ID,
8472      INPUT_ID: arParams.INPUT_ID,
8473      INPUT_ID_TMP: arParams.INPUT_ID_TMP,
8474      MIN_QUERY_LEN: parseInt(arParams.MIN_QUERY_LEN),
8475      DROPDOWN_TYPE: arParams.DROPDOWN_TYPE,
8476    };
8477
8478    if (arParams.WAIT_IMAGE) this.arParams.WAIT_IMAGE = arParams.WAIT_IMAGE;
8479    if (arParams.MIN_QUERY_LEN <= 0) arParams.MIN_QUERY_LEN = 1;
8480
8481    this.cache = [];
8482    this.cache_key = null;
8483
8484    this.startText = "";
8485    this.running = false;
8486    this.needRunAgain = false;
8487    this.currentRow = -1;
8488    this.RESULT = null;
8489    this.CONTAINER = null;
8490    this.INPUT = null;
8491    this.TYPE = null;
8492    this.WAIT = null;
8493
8494    this.ShowResult = function (result) {
8495      // check that the input is focused
8496      if (document.activeElement !== this.INPUT) {
8497        return;
8498      }
8499
8500      if (BX.type.isString(result)) {
8501        _this.RESULT.innerHTML = result;
8502      }
8503
8504      if (_this.RESULT.innerHTML !== "") {
8505        _this.RESULT.classList.remove("hidden");
8506      } else {
8507        _this.RESULT.classList.add("hidden");
8508      }
8509
8510      var pos = _this.adjustResultNode();
8511
8512      //adjust left column to be an outline
8513      var res_pos;
8514      var th;
8515      var tbl = BX.findChild(_this.RESULT, { tag: "table", class: "title-search-result" }, true);
8516      if (tbl) {
8517        th = BX.findChild(tbl, { tag: "th" }, true);
8518      }
8519      if (th) {
8520        var tbl_pos = BX.pos(tbl);
8521        tbl_pos.width = tbl_pos.right - tbl_pos.left;
8522
8523        var th_pos = BX.pos(th);
8524        th_pos.width = th_pos.right - th_pos.left;
8525        th.style.width = th_pos.width + "px";
8526
8527        _this.RESULT.style.width = pos.width + th_pos.width + "px";
8528
8529        //Move table to left by width of the first column
8530        _this.RESULT.style.left = pos.left - th_pos.width - 1 + "px";
8531
8532        //Shrink table when it's too wide
8533        if (tbl_pos.width - th_pos.width > pos.width) _this.RESULT.style.width = pos.width + th_pos.width - 1 + "px";
8534
8535        //Check if table is too wide and shrink result div to it's width
8536        tbl_pos = BX.pos(tbl);
8537        res_pos = BX.pos(_this.RESULT);
8538        if (res_pos.right > tbl_pos.right) {
8539          _this.RESULT.style.width = tbl_pos.right - tbl_pos.left + "px";
8540        }
8541      }
8542
8543      var fade;
8544      if (tbl) fade = BX.findChild(_this.RESULT, { class: "title-search-fader" }, true);
8545      if (fade && th) {
8546        res_pos = BX.pos(_this.RESULT);
8547        fade.style.left = res_pos.right - res_pos.left - 18 + "px";
8548        fade.style.width = 18 + "px";
8549        fade.style.top = 0 + "px";
8550        fade.style.height = res_pos.bottom - res_pos.top + "px";
8551        fade.classList.remove("hidden");
8552      }
8553
8554      if (typeof InitScrollBar === "function") {
8555        InitScrollBar();
8556      }
8557    };
8558
8559    this.onKeyPress = function (keyCode) {
8560      var tbl = BX.findChild(_this.RESULT, { tag: "table", class: "title-search-result" }, true);
8561      if (!tbl) return false;
8562
8563      var i;
8564      var cnt = tbl.rows.length;
8565
8566      switch (keyCode) {
8567        case 27: // escape key - close search div
8568          _this.RESULT.classList.add("hidden");
8569          _this.currentRow = -1;
8570          _this.UnSelectAll();
8571          return true;
8572
8573        case 40: // down key - navigate down on search results
8574          if (_this.RESULT.classList.contains("hidden")) {
8575            _this.RESULT.classList.remove("hidden");
8576          }
8577
8578          var first = -1;
8579          for (i = 0; i < cnt; i++) {
8580            if (!BX.findChild(tbl.rows[i], { class: "title-search-separator" }, true)) {
8581              if (first == -1) first = i;
8582
8583              if (_this.currentRow < i) {
8584                _this.currentRow = i;
8585                break;
8586              } else if (tbl.rows[i].className == "title-search-selected") {
8587                tbl.rows[i].className = "";
8588              }
8589            }
8590          }
8591
8592          if (i == cnt && _this.currentRow != i) _this.currentRow = first;
8593
8594          tbl.rows[_this.currentRow].className = "title-search-selected";
8595          return true;
8596
8597        case 38: // up key - navigate up on search results
8598          if (_this.RESULT.classList.contains("hidden")) {
8599            _this.RESULT.classList.remove("hidden");
8600          }
8601
8602          var last = -1;
8603          for (i = cnt - 1; i >= 0; i--) {
8604            if (!BX.findChild(tbl.rows[i], { class: "title-search-separator" }, true)) {
8605              if (last == -1) last = i;
8606
8607              if (_this.currentRow > i) {
8608                _this.currentRow = i;
8609                break;
8610              } else if (tbl.rows[i].className == "title-search-selected") {
8611                tbl.rows[i].className = "";
8612              }
8613            }
8614          }
8615
8616          if (i < 0 && _this.currentRow != i) _this.currentRow = last;
8617
8618          tbl.rows[_this.currentRow].className = "title-search-selected";
8619          return true;
8620
8621        case 13: // enter key - choose current search result
8622          if (!_this.RESULT.classList.contains("hidden")) {
8623            for (i = 0; i < cnt; i++) {
8624              if (_this.currentRow == i) {
8625                if (!BX.findChild(tbl.rows[i], { class: "title-search-separator" }, true)) {
8626                  var a = BX.findChild(tbl.rows[i], { tag: "a" }, true);
8627                  if (a) {
8628                    window.location = a.href;
8629                    return true;
8630                  }
8631                }
8632              }
8633            }
8634          }
8635          return false;
8636      }
8637
8638      return false;
8639    };
8640
8641    this.onTimeout = function () {
8642      _this.onChange(function () {
8643        setTimeout(_this.onTimeout, 500);
8644      });
8645    };
8646
8647    this.onChange = function (callback) {
8648      if (_this.running) {
8649        _this.needRunAgain = true;
8650        return;
8651      }
8652      _this.running = true;
8653
8654      let type = "catalog";
8655      if (this.TYPE) {
8656        type = this.TYPE.value;
8657      }
8658
8659      if ((_this.INPUT.value != _this.oldValue && _this.INPUT.value != _this.startText) || type != _this.oldType) {
8660        _this.oldValue = _this.INPUT.value;
8661        _this.oldType = type;
8662
8663        if (_this.INPUT.value.length >= _this.arParams.MIN_QUERY_LEN) {
8664          _this.cache_key = _this.arParams.INPUT_ID + "|" + _this.INPUT.value + "|" + type;
8665          if (_this.cache[_this.cache_key] == null) {
8666            if (_this.WAIT) {
8667              var pos = BX.pos(_this.INPUT);
8668              var height = pos.bottom - pos.top - 2;
8669              _this.WAIT.style.top = pos.top + 1 + "px";
8670              _this.WAIT.style.height = height + "px";
8671              _this.WAIT.style.width = height + "px";
8672              _this.WAIT.style.left = pos.right - height + 2 + "px";
8673              _this.WAIT.classList.remove("hidden");
8674            }
8675
8676            BX.ajax.post(
8677              _this.arParams.AJAX_PAGE,
8678              {
8679                ajax_call: "y",
8680                INPUT_ID: _this.arParams.INPUT_ID_TMP,
8681                q: _this.INPUT.value,
8682                l: _this.arParams.MIN_QUERY_LEN,
8683                type: type,
8684              },
8685              function (result) {
8686                _this.cache[_this.cache_key] = result;
8687
8688                BX.Aspro.Loader.add({
8689                  ext: "prices",
8690                }).then(function () {
8691                  _this.ShowResult(result);
8692                  _this.currentRow = -1;
8693                  _this.EnableMouseEvents();
8694
8695                  if (_this.WAIT) {
8696                    _this.WAIT.classList.add("hidden");
8697                  }
8698
8699                  if (!!callback) callback();
8700                  _this.running = false;
8701
8702                  if (_this.needRunAgain) {
8703                    _this.needRunAgain = false;
8704                    _this.onChange(callback);
8705                  }
8706                });
8707              }
8708            );
8709            return;
8710          } else {
8711            _this.ShowResult(_this.cache[_this.cache_key]);
8712            _this.currentRow = -1;
8713            _this.EnableMouseEvents();
8714          }
8715        }
8716      }
8717
8718      if (!!callback) callback();
8719      _this.running = false;
8720    };
8721
8722    this.UnSelectAll = function () {
8723      var tbl = BX.findChild(_this.RESULT, { tag: "table", class: "title-search-result" }, true);
8724      if (tbl) {
8725        var cnt = tbl.rows.length;
8726        for (var i = 0; i < cnt; i++) tbl.rows[i].className = "";
8727      }
8728    };
8729
8730    this.EnableMouseEvents = function () {
8731      var tbl = BX.findChild(_this.RESULT, { tag: "table", class: "title-search-result" }, true);
8732      if (tbl) {
8733        var cnt = tbl.rows.length;
8734        for (var i = 0; i < cnt; i++)
8735          if (!BX.findChild(tbl.rows[i], { class: "title-search-separator" }, true)) {
8736            tbl.rows[i].id = "row_" + i;
8737            tbl.rows[i].onmouseover = function (e) {
8738              if (_this.currentRow != this.id.substr(4)) {
8739                _this.UnSelectAll();
8740                this.className = "title-search-selected";
8741                _this.currentRow = this.id.substr(4);
8742              }
8743            };
8744            tbl.rows[i].onmouseout = function (e) {
8745              this.className = "";
8746              _this.currentRow = -1;
8747            };
8748          }
8749      }
8750    };
8751
8752    this.onFocusLost = function () {
8753      setTimeout(() => {
8754        _this.RESULT.classList.add("hidden");
8755      }, 0);
8756    };
8757
8758    this.onFocusGain = function () {
8759      if (_this.RESULT.innerHTML.length) {
8760        _this.ShowResult();
8761      }
8762
8763      _this.onChange();
8764    };
8765
8766    this.onKeyDown = function (e) {
8767      if (!e) e = window.event;
8768      if (!_this.RESULT.classList.contains("hidden")) {
8769        if (_this.onKeyPress(e.keyCode)) return BX.PreventDefault(e);
8770      }
8771    };
8772
8773    this.adjustResultNode = function () {
8774      var pos, pos_input;
8775      var fixedParent = BX.findParent(_this.CONTAINER, BX.is_fixed);
8776
8777      _this.RESULT.style.position = this.arParams.DROPDOWN_TYPE || "absolute";
8778      pos = BX.pos(_this.CONTAINER);
8779
8780      pos_input = BX.pos(_this.INPUT);
8781
8782      if (this.arParams.DROPDOWN_TYPE === "absolute") {
8783        pos.width = pos.right - pos.left;
8784        _this.RESULT.style.top = "100%";
8785        _this.RESULT.style.left = "0px";
8786
8787        if (_this.INPUT.closest(".inline-search-block.with-close")) {
8788          _this.RESULT.style.width = pos_input.width + "px";
8789        } else {
8790          _this.RESULT.style.width = pos.width + "px";
8791        }
8792      }
8793
8794      return pos;
8795    };
8796
8797    this._onContainerLayoutChange = function () {
8798      if (!_this.RESULT.classList.contains("hidden") && _this.RESULT.innerHTML !== "") {
8799        _this.adjustResultNode();
8800      }
8801    };
8802
8803    this.Init = function () {
8804      this.INPUT = document.getElementById(this.arParams.INPUT_ID);
8805      if (!this.INPUT) {
8806        return;
8807      }
8808
8809      this.INPUT.search = this;
8810
8811      this.CONTAINER = document.getElementById(this.arParams.CONTAINER_ID);
8812      BX.addCustomEvent(this.CONTAINER, "OnNodeLayoutChange", this._onContainerLayoutChange);
8813
8814      this.RESULT = this.CONTAINER.appendChild(document.createElement("DIV"));
8815      this.RESULT.className = `title-search-result theme-root hidden ${this.arParams.INPUT_ID}`;
8816
8817      this.startText = this.oldValue = this.INPUT.value;
8818      BX.bind(this.INPUT, "focus", function (e) {
8819        _this.onFocusGain();
8820      });
8821
8822      BX.bind(this.INPUT, "blur", function (e) {
8823        if (!$(e.relatedTarget).closest(".title-search-result").length) {
8824          setTimeout(function () {
8825            if (
8826              !$(_this.INPUT).closest("form").find(".dropdown-select.searchtype .dropdown-select__title.opened").length
8827            ) {
8828              _this.onFocusLost();
8829            }
8830          }, 100);
8831        }
8832      });
8833
8834      if (BX.browser.IsSafari() || BX.browser.IsIE()) this.INPUT.onkeydown = this.onKeyDown;
8835      else this.INPUT.onkeypress = this.onKeyDown;
8836
8837      BX.bind(this.INPUT, "bxchange", function (e) {
8838        _this.onChange();
8839      });
8840
8841      if (this.arParams.WAIT_IMAGE) {
8842        this.WAIT = document.body.appendChild(document.createElement("DIV"));
8843        this.WAIT.style.backgroundImage = "url('" + this.arParams.WAIT_IMAGE + "')";
8844        this.WAIT.style.backgroundRepeat = "none";
8845        this.WAIT.classList.add("hidden");
8846        this.WAIT.style.position = this.arParams.DROPDOWN_TYPE || "absolute";
8847        this.WAIT.style.zIndex = "1100";
8848      }
8849
8850      this.TYPE = this.CONTAINER
8851        ? this.CONTAINER.querySelector('.dropdown-select.searchtype input[name="type"]')
8852        : null;
8853      if (this.TYPE) {
8854        BX.bind(this.TYPE, "change", function () {
8855          _this.onChange();
8856        });
8857      }
8858
8859      let searchForm = $(_this.INPUT).closest(".search");
8860      let clearSearch = searchForm.find(".btn-clear-search");
8861      BX.bind(clearSearch[0], "click", function (e) {
8862        setTimeout(function () {
8863          _this.onChange();
8864          _this.INPUT.focus();
8865          _this.RESULT.innerHTML = "";
8866        }, 0);
8867      });
8868    };
8869
8870    BX.ready(function () {
8871      _this.Init();
8872    });
8873  }
8874}
8875
8876// clear button handler
8877BX.addCustomEvent("app.document.click", (eventdata) => {
8878  if (eventdata.target.closest(".btn-clear-search")) {
8879    const nodeForm = eventdata.target.closest("form");
8880    nodeForm.querySelector('input[name="q"]').value = "";
8881
8882    BX.onCustomEvent("onAsproSearchSync");
8883  }
8884});
8885
8886// sync search handler
8887{
8888  let nodeListSearchInput = null;
8889  BX.addCustomEvent("onAsproSearchSync", (value = '') => {
8890    if (!nodeListSearchInput) {
8891      nodeListSearchInput = document.querySelectorAll(".search-title__input");
8892    }
8893
8894    if (nodeListSearchInput.length > 1) {
8895      nodeListSearchInput.forEach((nodeSearchInput) => {
8896        nodeSearchInput.value = value;
8897      });
8898    }
8899  });
8900}
8901
8902/* End */
8903;
8904; /* Start:"a:4:{s:4:"full";s:107:"/bitrix/templates/aspro-premier/js/conditional/search_title/search-title-handlers.desktop.js?17745963264365";s:6:"source";s:92:"/bitrix/templates/aspro-premier/js/conditional/search_title/search-title-handlers.desktop.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
8905BX.namespace("BX.Aspro.Search.Type");
8906BX.Aspro.Search.Type = new (function () {
8907  let obSearch = null;
8908
8909  const getSearchType = () => {
8910    if (!obSearch) {
8911      if (document.querySelector(".inline-search-block")) {
8912        obSearch = new Fixed();
8913      } else {
8914        obSearch = new Inline();
8915      }
8916    }
8917  };
8918
8919  this.open = function () {
8920    getSearchType();
8921
8922    obSearch.open();
8923  };
8924
8925  this.close = function () {
8926    getSearchType();
8927
8928    obSearch.close();
8929  };
8930
8931  this.toggle = function () {
8932    getSearchType();
8933
8934    obSearch.toggle();
8935  };
8936
8937  function Fixed() {
8938    let nodeSearchBlock = null;
8939    let nodeSearchBlockInput = null;
8940    let nodeOverlay = null;
8941
8942    let isOpened = false;
8943
8944    this.open = function () {
8945      if (isOpened) {
8946        return;
8947      }
8948      isOpened = true;
8949
8950      if (!nodeSearchBlock) {
8951        nodeSearchBlock = document.querySelector(".inline-search-block");
8952
8953        if (nodeSearchBlock) {
8954          nodeSearchBlockInput = nodeSearchBlock.querySelector('input[name="q"]');
8955        }
8956      }
8957
8958      nodeSearchBlock.classList.add("show");
8959      nodeSearchBlockInput.focus();
8960      document.body.classList.add("jqm-initied");
8961
8962      addOverlay();
8963    };
8964
8965    const addOverlay = () => {
8966      nodeOverlay = BX.create("div", {
8967        attrs: {
8968          class: "overlay",
8969        },
8970        events: {
8971          click: () => this.close(),
8972        },
8973      });
8974
8975      nodeSearchBlock.appendChild(nodeOverlay);
8976    };
8977
8978    this.close = function () {
8979      if (!isOpened) {
8980        return;
8981      }
8982
8983      isOpened = false;
8984
8985      nodeSearchBlock.classList.remove("show");
8986      nodeSearchBlockInput.blur();
8987      document.body.classList.remove("jqm-initied");
8988      removeOverlay();
8989    };
8990
8991    const removeOverlay = () => {
8992      if (nodeOverlay) {
8993        nodeOverlay.remove();
8994        nodeOverlay = null;
8995      }
8996    };
8997
8998    this.toggle = function () {
8999      if (isOpened) {
9000        this.close();
9001      } else {
9002        this.open();
9003      }
9004    };
9005  }
9006
9007  function Inline() {
9008    let nodeHeader = null;
9009    let nodeSearchBlockInput = null;
9010    let nodeOverlay = null;
9011
9012    let isOpened = false;
9013
9014    const isMobile = window.matchMedia("(max-width: 991px)").matches;
9015
9016    const addOverlay = () => {
9017      nodeOverlay = BX.create("div", {
9018        attrs: {
9019          class: "jqmOverlay mobp",
9020        },
9021        events: {
9022          click: () => this.close(),
9023        },
9024      });
9025
9026      document.body.appendChild(nodeOverlay);
9027    };
9028
9029    this.open = function () {
9030      if (!isMobile) {
9031        return;
9032      }
9033
9034      if (isOpened) {
9035        return;
9036      }
9037      isOpened = true;
9038
9039      if (!nodeHeader) {
9040        nodeHeader = document.querySelector('[data-ajax-block="HEADER"]');
9041        if (nodeHeader) {
9042          nodeSearchBlockInput = nodeHeader.querySelector('input[name="q"]');
9043        }
9044      }
9045
9046      window.CloseMobilePhone?.();
9047      window.CloseMobileMenu?.();
9048
9049      document.body.classList.add("header--mobile-search-active", "jqm-initied");
9050      nodeHeader.classList.add("filter-none");
9051      nodeSearchBlockInput.focus();
9052      addOverlay();
9053    };
9054
9055    const removeOverlay = () => {
9056      if (nodeOverlay) {
9057        nodeOverlay.remove();
9058        nodeOverlay = null;
9059      }
9060    };
9061
9062    this.close = function () {
9063      if (!isOpened) {
9064        return;
9065      }
9066      isOpened = false;
9067
9068      document.body.classList.remove("header--mobile-search-active", "jqm-initied");
9069      nodeHeader.classList.remove("filter-none");
9070      nodeSearchBlockInput.blur();
9071      removeOverlay();
9072    };
9073
9074    this.toggle = function () {
9075      if (isOpened) {
9076        this.close();
9077      } else {
9078        this.open();
9079      }
9080    };
9081  }
9082
9083  BX.addCustomEvent("onAsproEscapeButton", () => {
9084    if (!document.querySelector("#popup_iframe_wrapper")?.style?.display) {
9085      BX.Aspro.Search.Type.close();
9086    }
9087  });
9088
9089  BX.addCustomEvent("app.document.keyup", (eventdata) => {
9090    const nodeCurrentSearchInput = eventdata.target.closest(".search-title__input");
9091    if (!nodeCurrentSearchInput) {
9092      return;
9093    }
9094
9095    BX.onCustomEvent("onAsproSearchSync", [nodeCurrentSearchInput.value]);
9096  });
9097
9098  BX.addCustomEvent("app.document.click", (eventdata) => {
9099    if (eventdata.target.closest(".header-search, .header-search__mobile, .bottom-icons-panel__content-link--search")) {
9100      BX.Aspro.Search.Type.open();
9101    }
9102  });
9103})();
9104
9105/* End */
9106;
9107; /* Start:"a:4:{s:4:"full";s:90:"/bitrix/components/aspro/search.title.options/templates/.default/script.js?177459629612085";s:6:"source";s:74:"/bitrix/components/aspro/search.title.options/templates/.default/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9108(() => {
9109  const additionalOptions = {};
9110  const isSpeechRecognitionAPIAvailable = !!(window.SpeechRecognition || window.webkitSpeechRecognition);
9111
9112  const loadAssets = async (assets) => {
9113    if (assets?.ASSETS) {
9114      BX.load(assets.ASSETS);
9115    }
9116
9117    if (assets?.EXT) {
9118      BX.loadExt(assets.EXT);
9119    }
9120  };
9121
9122  const selectOptionsHandler = async (eventdata) => {
9123    const nodeSelectOptions = eventdata.target.closest(".search-title-options__button");
9124    if (!nodeSelectOptions) {
9125      return;
9126    }
9127
9128    BX.removeCustomEvent("app.document.click", selectOptionsHandler);
9129
9130    nodeSelectOptions.classList.add("loadings");
9131    await BX.Aspro.Loader.addExt("popover");
9132    nodeSelectOptions.classList.remove("loadings");
9133    BX.Aspro.xPopover.get(nodeSelectOptions).toggle();
9134
9135    const updateCurrentPopover = (html) => {
9136      const nodeActivePopover = document.querySelector(".xpopover .loading-state-before");
9137      if (nodeActivePopover) {
9138        nodeActivePopover.insertAdjacentHTML("afterend", html);
9139        nodeActivePopover.remove();
9140      }
9141    };
9142
9143    const updateDropdownList = (html) => {
9144      const nodeDropdownContent = document.createRange().createContextualFragment(html);
9145
9146      const nodeListSearchTitleOptionsButton = document.querySelectorAll(".search-title-options__button");
9147      nodeListSearchTitleOptionsButton.forEach((nodeSearchTitleOptionsButton) => {
9148        nodeSearchTitleOptionsButton
9149          .querySelector(".xpopover-template")
9150          .content.replaceChildren(nodeDropdownContent.cloneNode(true));
9151      });
9152    };
9153
9154    const setContent = (html) => {
9155      if (html) {
9156        updateCurrentPopover(html);
9157        updateDropdownList(html);
9158      }
9159    };
9160
9161    BX.ajax
9162      .runComponentAction("aspro:search.title.options", "load", {
9163        mode: "ajax",
9164        data: {
9165          conditions: {
9166            voice: isSpeechRecognitionAPIAvailable ? "Y" : "N",
9167          },
9168        },
9169      })
9170      .then((response) => {
9171        setContent(response.data?.html);
9172        loadAssets(response.data?.componentResult);
9173      });
9174  };
9175
9176  const removeAdditionalOptions = () => {
9177    const nodeListSearchTitleAdditionalOption = document.querySelectorAll(".search-title__additional-option");
9178    nodeListSearchTitleAdditionalOption.forEach((nodeSearchTitleAdditionalOption) => {
9179      nodeSearchTitleAdditionalOption.remove();
9180    });
9181  };
9182
9183  const refreshActiveButton = (option) => {
9184    removeAdditionalOptions();
9185
9186    const nodeListSearchTitleOptions = document.querySelectorAll(".search-title-options");
9187    nodeListSearchTitleOptions.forEach((nodeSearchTitleOptions) => {
9188      if (additionalOptions[option]) {
9189        nodeSearchTitleOptions.insertAdjacentHTML("afterend", additionalOptions[option]);
9190      }
9191    });
9192  };
9193
9194  const changeOptionsHandler = async (eventdata) => {
9195    const nodeSearchAreaOption = eventdata.target.closest(".dropdown-select__list-item-label");
9196    if (!nodeSearchAreaOption) {
9197      return;
9198    }
9199
9200    const { name, value } = nodeSearchAreaOption;
9201
9202    const changeOptionState = (option, activeValue) => {
9203      const isActive = option.value === activeValue;
9204
9205      option.classList.toggle("dropdown-menu-item--current", isActive);
9206      option.toggleAttribute("disabled", isActive);
9207    };
9208
9209    const setCurrentOption = (name, value) => {
9210      const nodeForm = BX.Aspro?.xPopover?.toggleNode?.closest?.("form");
9211      if (nodeForm) {
9212        const nodeListAreaOption = nodeForm?.querySelectorAll(`.dropdown-select__list-item-label[name="${name}"]`);
9213        if (nodeListAreaOption.length) {
9214          nodeListAreaOption.forEach((nodeAreaOption) => {
9215            changeOptionState(nodeAreaOption, value);
9216          });
9217        }
9218      }
9219
9220      BX.Aspro?.xPopover?.hide?.();
9221    };
9222
9223    const syncPopoverOptions = (name, value) => {
9224      const nodeListSearchFormXpopover = document.querySelectorAll(".search-title-options__button .xpopover-template");
9225
9226      nodeListSearchFormXpopover.forEach((nodeSearchFormXpopover) => {
9227        const nodeListAdditionalOption = nodeSearchFormXpopover.content.querySelectorAll(`[name="${name}"]`);
9228        nodeListAdditionalOption.forEach((nodeAdditionalOption) => {
9229          changeOptionState(nodeAdditionalOption, value);
9230        });
9231      });
9232    };
9233
9234    const searchDropdownSelectAreaHandler = (target) => {
9235      const nodeInputSearchType = target.closest('[name="type"]');
9236      if (!nodeInputSearchType) {
9237        return;
9238      }
9239
9240      const clearSearchResults = () => {
9241        const nodeListSearchResult = document.querySelectorAll(".title-search-result");
9242        if (nodeListSearchResult.length) {
9243          nodeListSearchResult.forEach((nodeSearchResult) => {
9244            nodeSearchResult.classList.add("hidden");
9245          });
9246        }
9247      };
9248
9249      const setFormSearchArea = (searchArea) => {
9250        const LIST_SEARCH_AREA = {
9251          all: arAsproOptions.PAGES.SEARCH_PAGE_URL,
9252          catalog: arAsproOptions.PAGES.CATALOG_PAGE_URL,
9253        };
9254
9255        const nodeListSearchTitleForm = document.querySelectorAll(".search-title__form");
9256        nodeListSearchTitleForm.forEach((nodeSearchTitleForm) => {
9257          nodeSearchTitleForm.setAttribute("action", LIST_SEARCH_AREA[searchArea]);
9258          nodeSearchTitleForm.querySelector('input[name="type"]').value = searchArea;
9259          nodeSearchTitleForm.querySelector('input[name="q"]').placeholder = BX.message(
9260            `SEARCH_AREA_${searchArea.toUpperCase()}`
9261          );
9262
9263          BX.message("SEARCH_AREA_DEFAULT", BX.message(`SEARCH_AREA_${searchArea.toUpperCase()}`));
9264        });
9265      };
9266
9267      const resolveSearchInputFocus = (form) => {
9268        if (!form) {
9269          return;
9270        }
9271
9272        const nodeSearhTitleFormInput = form.querySelector(".search-title__input");
9273        nodeSearhTitleFormInput?.setSelectionRange?.(
9274          nodeSearhTitleFormInput.value.length,
9275          nodeSearhTitleFormInput.value.length
9276        );
9277        nodeSearhTitleFormInput.focus();
9278      };
9279
9280      const nodeSearchForm = BX.Aspro?.xPopover?.toggleNode?.closest("form");
9281      const searchArea = nodeInputSearchType.value;
9282
9283      BX.Aspro.Loader.addExt("set_cookie_on_domains").then(() => {
9284        setCookieOnDomains(BX.message("SEARCH_AREA_COOKIE_NAME"), searchArea);
9285      });
9286
9287      clearSearchResults();
9288      setFormSearchArea(searchArea);
9289      resolveSearchInputFocus(nodeSearchForm);
9290    };
9291
9292    const searchDropdownSelectAdditionalOptionHandler = async (target) => {
9293      const nodeInputAdditionalOption = target.closest('[name="additional"]');
9294      if (!nodeInputAdditionalOption) {
9295        return;
9296      }
9297
9298      BX.onCustomEvent("onAsproSearchOptionsChange");
9299
9300      const searchDropdownAdditionalOptionToggleLoadingState = (active) => {
9301        const nodeListAdditionalOption = document.querySelectorAll(".search-title__additional-option");
9302        if (nodeListAdditionalOption.length) {
9303          nodeListAdditionalOption.forEach((nodeAdditionalOption) => {
9304            nodeAdditionalOption.toggleAttribute("disabled", active);
9305            nodeAdditionalOption.classList.toggle("loading-state-before", active);
9306          });
9307        }
9308      };
9309
9310      searchDropdownAdditionalOptionToggleLoadingState(true);
9311
9312      try {
9313        const option = nodeInputAdditionalOption.value;
9314
9315        if (typeof additionalOptions[option] === "undefined") {
9316          const response = await BX.ajax.runComponentAction("aspro:search.title.options", "getButton", {
9317            mode: "ajax",
9318            data: {
9319              option: option,
9320            },
9321          });
9322
9323          additionalOptions[option] = response.data?.BUTTON;
9324        } else {
9325          BX.ajax.runComponentAction("aspro:search.title.options", "refreshActiveButton", {
9326            data: {
9327              option: option,
9328            },
9329          });
9330        }
9331
9332        refreshActiveButton(option);
9333      } catch (e) {
9334        console.error(e);
9335        searchDropdownAdditionalOptionToggleLoadingState(false);
9336      }
9337    };
9338
9339    setCurrentOption(name, value);
9340    syncPopoverOptions(name, value);
9341    searchDropdownSelectAreaHandler(nodeSearchAreaOption);
9342    searchDropdownSelectAdditionalOptionHandler(nodeSearchAreaOption);
9343  };
9344
9345  BX.addCustomEvent("app.document.click", selectOptionsHandler);
9346
9347  BX.addCustomEvent("app.document.click", (eventdata) => {
9348    changeOptionsHandler(eventdata);
9349  });
9350
9351  const requestDefaultOption = (option) => {
9352    const nodeListSearchTitleAdditionalOption = document.querySelectorAll(
9353      `.search-title__additional-option--${option}`
9354    );
9355    if (nodeListSearchTitleAdditionalOption.length) {
9356      const nodeSearchTitleOptionsButton = document.querySelector(".search-title-options__button");
9357      if (!nodeSearchTitleOptionsButton) {
9358        removeAdditionalOptions();
9359        return;
9360      }
9361
9362      try {
9363        let arSearchOptions = JSON.parse(nodeSearchTitleOptionsButton?.dataset?.options);
9364        if (arSearchOptions.length) {
9365          arSearchOptions = arSearchOptions.filter((value) => value !== "area");
9366        }
9367
9368        const index = arSearchOptions.indexOf("voice");
9369        if (!!~index) {
9370          if (!isSpeechRecognitionAPIAvailable) {
9371            arSearchOptions.splice(index, 1);
9372          }
9373        }
9374
9375        if (!arSearchOptions.length) {
9376          removeAdditionalOptions();
9377          return;
9378        }
9379      } catch (error) {}
9380
9381      const currentOption = nodeListSearchTitleAdditionalOption[0].value;
9382      nodeListSearchTitleAdditionalOption.forEach((nodeSearchTitleAdditionalOption) => {
9383        nodeSearchTitleAdditionalOption.classList.add("loading-state-before");
9384      });
9385
9386      BX.ajax
9387        .runComponentAction("aspro:search.title.options", "getDefaultButton", {
9388          mode: "ajax",
9389          data: {
9390            option: currentOption,
9391          },
9392        })
9393        .then((response) => {
9394          additionalOptions[currentOption] = response.data?.BUTTON;
9395          refreshActiveButton(currentOption);
9396          loadAssets(response.data);
9397        });
9398    }
9399  };
9400
9401  const updatePopoverContent = (option) => {
9402    const nodePopover = document.querySelector(".xpopover");
9403    nodePopover?.querySelector(`.dropdown-select__list-item--${option}`)?.remove();
9404    nodePopover?.querySelector(".dropdown-select__list-item")?.classList?.add?.("dropdown-menu-item--current");
9405
9406    const nodeListPopover = document.querySelectorAll(".search-title-options__button .xpopover-template");
9407    if (nodeListPopover.length) {
9408      let content = "";
9409      nodeListPopover.forEach((nodePopover) => {
9410        if (!content) {
9411          content = nodePopover.content.cloneNode(true);
9412          content?.querySelector(`.dropdown-select__list-item--${option}`)?.remove();
9413          content?.querySelector(".dropdown-select__list-item")?.classList?.add?.("dropdown-menu-item--current");
9414        }
9415
9416        nodePopover.content.replaceChildren(content.cloneNode(true));
9417      });
9418    }
9419  };
9420
9421  BX.addCustomEvent("onAsproSearchOptionsHandleOption", (eventdata) => {
9422    if (!eventdata.option) {
9423      return;
9424    }
9425
9426    requestDefaultOption(eventdata.option);
9427    updatePopoverContent(eventdata.option);
9428  });
9429
9430  BX.Aspro.Utils.readyDOM(() => {
9431    const nodeSearchTitleOptionsButton = document.querySelector(".search-title-options__button");
9432    if (!nodeSearchTitleOptionsButton) {
9433      return;
9434    }
9435
9436    const options = nodeSearchTitleOptionsButton?.dataset?.options;
9437    if (options) {
9438      try {
9439        let arSearchOptions = JSON.parse(options);
9440        if (!arSearchOptions.length) {
9441          nodeSearchTitleOptionsButton.remove();
9442          return;
9443        }
9444
9445        if (!!~arSearchOptions.indexOf("area")) {
9446          return;
9447        }
9448
9449        const index = arSearchOptions.indexOf("voice");
9450        if (!!~index) {
9451          if (!isSpeechRecognitionAPIAvailable) {
9452            arSearchOptions.splice(index, 1);
9453          }
9454        }
9455
9456        if (arSearchOptions.length <= 1) {
9457          nodeSearchTitleOptionsButton.remove();
9458        }
9459      } catch (error) {
9460        console.info(error);
9461      }
9462    }
9463  });
9464
9465  BX.Aspro.Loader.addExt("popover");
9466})();
9467
9468/* End */
9469;
9470; /* Start:"a:4:{s:4:"full";s:86:"/bitrix/components/aspro/search.title.options.voice/assets/voice.min.js?17745962961491";s:6:"source";s:71:"/bitrix/components/aspro/search.title.options.voice/assets/voice.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9471BX.namespace("BX.Aspro.Search.Voice"),BX.Aspro.Search.Voice=new class{constructor(){let e=null,o=null,t=!1,n=!1;function r(t){const r=function(e){return Array.from(e.results).map((e=>e[0])).map((e=>e.transcript)).join("")}(t);Array.from(e).forEach((e=>{e.value=r})),t.results[0].isFinal&&(n.stop(),o&&o.querySelector(".search-input").focus())}function s(){const o=Array.from(e);o.length&&o.forEach((e=>{e.setAttribute("placeholder",BX.message("SEARCH_AREA_DEFAULT")),e.closest("form").classList.remove("_voice-active")}))}window.SpeechRecognition=window.SpeechRecognition||window.webkitSpeechRecognition,e=document.getElementsByClassName("search-title__input"),BX.Aspro.Utils.readyDOM((()=>{window.SpeechRecognition?(n=new window.SpeechRecognition,n.interimResults=!0,n.lang="ru-RU",n.addEventListener("result",r),n.addEventListener("start",(()=>{t=!0,function(){const o=Array.from(e);o.length&&o.forEach((e=>{e.setAttribute("placeholder",BX.message("VOICE_ACTIVE")),e.closest("form").classList.add("_voice-active")}))}()})),n.addEventListener("end",(()=>{t=!1,s()})),n.onerror=e=>{t=!1,n.stop(),console.log(e.error),"no-speech"==e.error&&s()}):BX.onCustomEvent("onAsproSearchOptionsHandleOption",[{option:"voice"}])})),this.toggle=function(e){e instanceof Node&&(o=e.closest(".xpopover")?BX.Aspro.xPopover?.toggleNode?.closest("form"):e.closest("form")),function(){try{t?n.stop():n.start()}catch(e){}}()},BX.addCustomEvent("onAsproSearchOptionsChange",(()=>{try{t&&n.stop()}catch(e){}}))}};
9472/* End */
9473;
9474; /* Start:"a:4:{s:4:"full";s:67:"/bitrix/components/aspro/smartsearch.input/script.js?17745962962718";s:6:"source";s:52:"/bitrix/components/aspro/smartsearch.input/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9475BX.namespace('Aspro.SmartSearch.Input');
9476
9477(() => {
9478	class JAsproSmartSearchInput {
9479		constructor(node, params, result) {
9480			node = typeof node === 'string' && node ? document.querySelector(node) : node;
9481			node = typeof node === 'object' && node && node instanceof Node ? node : null;
9482			this.node = node;
9483
9484			params = typeof params === 'object' && params ? params : {};
9485			this.params = params;
9486
9487			result = typeof result === 'object' && result ? result : {};
9488			this.result = result;
9489
9490			this.syncHistory();
9491
9492			if (this.node) {
9493				this.bindEvents();
9494			}
9495		}
9496	
9497		bindEvents() {
9498			if (!this.node) {
9499				return;
9500			}
9501
9502			BX.bind(
9503				this.node, 
9504				'focus', 
9505				BX.proxy(
9506					this.onInputFocus,
9507					this
9508				)
9509			);
9510		}
9511	
9512		unbindEvents() {
9513			if (!this.node) {
9514				return;
9515			}
9516
9517			BX.unbind(
9518				this.node, 
9519				'focus', 
9520				BX.proxy(
9521					this.onInputFocus,
9522					this
9523				)
9524			);
9525		}
9526
9527		load(assets) {
9528			return new Promise((resolve, reject) => {
9529				assets = BX.Type.isObject(assets) ? assets : {};
9530				const ext2load = BX.Type.isArray(assets.ext) ? assets.ext : [];
9531				const css2load = BX.Type.isArray(assets.css) ? assets.css : [];
9532				const js2load = BX.Type.isArray(assets.js) ? assets.js : [];
9533
9534				BX.loadExt(ext2load).then(() => {
9535					if (css2load.length) {
9536						BX.loadCSS(css2load, () => {
9537							if (js2load) {
9538								BX.loadScript(js2load, () => {
9539									resolve();
9540								});
9541							} else {
9542								resolve();
9543							}
9544						});
9545					} else {
9546						if (js2load) {
9547							BX.loadScript(js2load, () => {
9548								resolve();
9549							});
9550						} else {
9551							resolve();
9552						}
9553					}
9554				});
9555			});
9556		}
9557
9558		syncHistory() {
9559			if (this.result.history?.enabled) {
9560				if (
9561					this.result.history.hash
9562					&& typeof localStorage === 'object'
9563					&& localStorage
9564				) {
9565					localStorage.setItem('aspro-search-history-sync', this.result.history.hash);
9566				}
9567			}
9568		}
9569	
9570		onInputFocus() {
9571			if (!this.node) {
9572				return;
9573			}
9574
9575			this.unbindEvents();
9576	
9577			if (this.result.suggest?.enabled) {
9578				this.load(this.result.suggest?.load).then(() => {
9579					if (BX.Type.isFunction(BX.Aspro.SmartSearch.Suggest)) {
9580						(new BX.Aspro.SmartSearch.Suggest(this.node, this.result.suggest?.params)).importTemplate();
9581					}
9582				});
9583			}
9584
9585			if (this.result.history?.enabled) {
9586				this.load(this.result.history?.load).then(() => {
9587					if (BX.Type.isFunction(BX.Aspro.SmartSearch.History)) {
9588						(new BX.Aspro.SmartSearch.History(this.node, this.result.history?.params)).importTemplate();
9589					}
9590				});
9591			}
9592		}
9593	}
9594
9595	BX.Aspro.SmartSearch.Input = JAsproSmartSearchInput;
9596})();
9597
9598/* End */
9599;
9600; /* Start:"a:4:{s:4:"full";s:67:"/bitrix/templates/aspro-premier/js/dragscroll.min.js?17745963265337";s:6:"source";s:52:"/bitrix/templates/aspro-premier/js/dragscroll.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9601class JSDragScroll{constructor(element,option={}){this.setOption(option),"object"==typeof element?this.wrapEl=element:"string"==typeof element&&(this.wrapEl=document.querySelector(element)),this.activeClass=this.option.activeClass,this.scrollSpeed=this.option.scrollSpeed,this.cancelClickSpace=this.option.cancelClickSpace,this.arrowSpeed=this.option.arrowSpeed,this.wrapEl.classList.add("drag-scroll"),this.el=this.wrapEl.querySelector(".drag-scroll__content"),this.el&&this.el instanceof Node?this.init():console.log("incorect params")}init(){this.isDown=!1,this.startX=0,this.scrollLeft=0,this.cancelClick=!1,this.translateX=0,this.scrollable=!1,this.appendArrows(),this.bindEvents(),this.checkArrows()}setOption(option){const optionDefault={activeClass:"drag-scroll--active",scrollSpeed:1,cancelClickSpace:10,arrowSpeed:75};this.option=Object.assign({},optionDefault,option)}appendArrows(){var arrow_svg='<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L1 11" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>';let arrows_wrapper='<div class="drag-scroll__arrows"><div class="drag-scroll__arrow drag-scroll__arrow--left stroke-dark-light drag-scroll__arrow--disabled">'+arrow_svg+'</div><div class="drag-scroll__arrow drag-scroll__arrow--right stroke-dark-light drag-scroll__arrow--disabled">'+arrow_svg+"</div></div>";this.wrapEl.insertAdjacentHTML("beforeend",arrows_wrapper),this.arrowLeft=this.wrapEl.querySelector(".drag-scroll__arrow--left"),this.arrowRight=this.wrapEl.querySelector(".drag-scroll__arrow--right")}removeArrows(){let arrows=this.wrapEl.querySelector(".drag-scroll__arrows");arrows&&arrows.remove()}checkArrows(){let showArrows=!1;this.translateX>=0?this.arrowLeft.classList.add("drag-scroll__arrow--disabled"):(this.arrowLeft.classList.remove("drag-scroll__arrow--disabled"),showArrows=!0),this.translateX<=this.el.clientWidth-this.el.scrollWidth?this.arrowRight.classList.add("drag-scroll__arrow--disabled"):(this.arrowRight.classList.remove("drag-scroll__arrow--disabled"),showArrows=!0),showArrows?(this.scrollable=!0,this.wrapEl.classList.add("drag-scroll--scrollable")):(this.scrollable=!1,this.wrapEl.classList.remove("drag-scroll--scrollable"))}setScroll(){this.translateX>0?this.translateX=0:this.translateX<this.el.clientWidth-this.el.scrollWidth&&(this.translateX=this.el.clientWidth-this.el.scrollWidth),this.el.style.transform="translateX("+this.translateX+"px)"}onResize(){this.setScroll(),this.checkArrows()}bindEvents(){this.wrapEl.addEventListener("mousedown",BX.proxy(this.onMousedown,this)),this.wrapEl.addEventListener("touchstart",BX.proxy(this.onTouchstart,this)),this.el.addEventListener("click",BX.proxy(this.onClick,this)),document.addEventListener("mouseup",BX.proxy(this.onMouseup,this)),document.addEventListener("touchend",BX.proxy(this.onTouchend,this)),document.addEventListener("mousemove",BX.proxy(this.onMousemove,this)),document.addEventListener("touchmove",BX.proxy(this.onTouchmove,this)),this.arrowLeft&&this.arrowLeft.addEventListener("click",BX.proxy(this.onArrowLeftClick,this)),this.arrowRight&&this.arrowRight.addEventListener("click",BX.proxy(this.onArrowRightClick,this)),window.addEventListener("resize",BX.proxy(this.onResize,this))}onMousedown(e){e.target.closest(".drag-scroll__arrow")||this.startAction(e.pageX)}onTouchstart(){e.target.closest(".drag-scroll__arrow")||this.startAction(e.touches[0].pageX)}onClick(e){this.cancelClick&&e.preventDefault()}onMouseup(){this.isDown&&this.endAction()}onTouchend(){this.isDown&&this.endAction()}onMousemove(e){this.isDown&&(e.preventDefault(),this.moveAction(e.pageX))}onTouchmove(e){this.isDown&&this.moveAction(e.touches[0].pageX)}onArrowRightClick(){this.translateX=this.translateX-this.arrowSpeed,this.checkArrows(),this.el.style["transition-duration"]="200ms",this.setScroll()}onArrowLeftClick(){this.translateX=this.translateX+this.arrowSpeed,this.checkArrows(),this.el.style["transition-duration"]="200ms",this.setScroll()}unBindEvents(){this.wrapEl.removeEventListener("mousedown",BX.proxy(this.onMousedown,this)),this.wrapEl.removeEventListener("touchstart",BX.proxy(this.onTouchstart,this)),this.el.removeEventListener("click",BX.proxy(this.onClick,this)),document.removeEventListener("mouseup",BX.proxy(this.onMouseup,this)),document.removeEventListener("touchend",BX.proxy(this.onTouchend,this)),document.removeEventListener("mousemove",BX.proxy(this.onMousemove,this)),document.removeEventListener("touchmove",BX.proxy(this.onTouchmove,this)),this.arrowLeft&&this.arrowLeft.removeEventListener("click",BX.proxy(this.onArrowLeftClick,this)),this.arrowRight&&this.arrowRight.removeEventListener("click",BX.proxy(this.onArrowRightClick,this)),window.removeEventListener("resize",BX.proxy(this.onResize,this))}destroy(){this.unBindEvents(),this.removeArrows()}moveAction(pageX){const walk=(pageX-this.startX)*this.scrollSpeed;this.translateX=walk,this.setScroll(),this.cancelClick||(this.cancelClick=Math.abs(walk)>this.cancelClickSpace),this.checkArrows()}startAction(pageX){this.scrollable&&(this.isDown=!0,this.cancelClick=!1,this.wrapEl.classList.add(this.activeClass),this.el.style["transition-duration"]="0ms",this.startX=pageX-this.translateX)}endAction(){this.isDown=!1,this.wrapEl.classList.remove(this.activeClass)}}
9602/* End */
9603;
9604; /* Start:"a:4:{s:4:"full";
9604s:88:"/bitrix/components/aspro/com.banners.premier/templates/.default/script.js?17745962964640";s:6:"source";s:73:"/bitrix/components/aspro/com.banners.premier/templates/.default/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9605let progressBar = null;
9606
9607function checkNavColor(slider) {
9608  let menu_color = slider.find('.swiper-slide-active').data('color');
9609
9610  checkNavColor.hasLongBanner = $('.header_opacity').length;
9611  if (checkNavColor.hasLongBanner) {
9612    var logoOpacity = $('body.header_opacity').length;
9613    var bLogoImg = $('body:not(.left_header_column) header .logo img').length;
9614
9615    if (
9616      bLogoImg &&
9617      logoOpacity
9618    ) {
9619      $('header .logo img').attr('src', arAsproOptions.THEME.LOGO_IMAGE);
9620    }
9621
9622    $('header').removeClass('theme-light theme-dark');
9623    $('header').addClass('theme-' + (menu_color === 'light' ? 'dark' : 'light'));
9624
9625    if (
9626      menu_color === 'light' &&
9627      bLogoImg &&
9628      logoOpacity &&
9629      arAsproOptions.THEME.LOGO_IMAGE_WHITE
9630    ) {
9631      $('header .logo img').attr('src', arAsproOptions.THEME.LOGO_IMAGE_WHITE);
9632    }
9633  }
9634
9635  // swiper-pagintaion & navigation background color change
9636  if (menu_color) {
9637    slider.find('.banners-big__nav-wrap').removeClass('theme-light theme-dark');
9638    slider.find('.banners-big__nav-wrap').addClass('theme-' + (menu_color === 'light' ? 'dark' : 'light'));
9639  }
9640
9641  var eventdata = {slider: slider};
9642  BX.onCustomEvent('onSlide', [eventdata]);
9643}
9644
9645readyDOM(function () {
9646  $(".main-slider").mouseenter(function () {
9647    let swiper = $(this).data("swiper");
9648    if (!$(this).hasClass("video_visible") && swiper) {
9649      if (swiper?.params.autoplay.enabled) {
9650        if (!swiper.autoplay.paused) {
9651          swiper.autoplay.pause();
9652        }
9653      }
9654    }
9655  });
9656
9657  $(".main-slider").mouseleave(function () {
9658    let swiper = $(this).data("swiper");
9659    if (!$(this).hasClass("video_visible") && swiper) {
9660      if ($(this).data("swiper")?.params.autoplay.enabled) {
9661        if (swiper.autoplay.paused) {
9662          $(this).data("swiper").autoplay.resume();
9663        }
9664      }
9665    }
9666  });
9667});
9668
9669BX.addCustomEvent("onSetSliderOptions", function (options) {
9670  if ("type" in options && options.type === "main_banner") {
9671    if (typeof arAsproOptions["THEME"] != "undefined") {
9672      const slideshowSpeed = Math.abs(parseInt(arAsproOptions["THEME"]["BIGBANNER_SLIDESSHOWSPEED"]));
9673      const animationSpeed = Math.abs(parseInt(arAsproOptions["THEME"]["BIGBANNER_ANIMATIONSPEED"]));
9674
9675      options.autoplay = slideshowSpeed && arAsproOptions["THEME"]["BIGBANNER_ANIMATIONTYPE"].length ? {} : false;
9676      // options.autoplay.pauseOnMouseEnter = true;
9677      // options.autoplay.disableOnInteraction = false;
9678      options.effect = arAsproOptions["THEME"]["BIGBANNER_ANIMATIONTYPE"] === "FADE" ? "fade" : "slide";
9679      if (animationSpeed >= 0) {
9680        options.speed = animationSpeed;
9681      }
9682      if (slideshowSpeed >= 0) {
9683        options.autoplay.delay = slideshowSpeed;
9684      }
9685      /*if (arAsproOptions["THEME"]["BIGBANNER_ANIMATIONTYPE"] !== "FADE") {
9686          options.direction =
9687            arAsproOptions["THEME"]["BIGBANNER_ANIMATIONTYPE"] === "SLIDE_VERTICAL" ? "vertical" : "horizontal";
9688        }*/
9689    }
9690
9691    if ("CURRENT_BANNER_INDEX" in arAsproOptions && arAsproOptions["CURRENT_BANNER_INDEX"]) {
9692      currentBannerIndex = arAsproOptions["CURRENT_BANNER_INDEX"] - 1;
9693      if (currentBannerIndex < options.countSlides) {
9694        options.initialSlide = currentBannerIndex;
9695        // options.autoplay = false;
9696      }
9697    }
9698
9699    if (!options.on) {
9700      options.on = {}
9701    }
9702    
9703    options.on.autoplayTimeLeft = (swiper, time, progress) => {
9704      if (progressBar) {
9705        progressBar.value = 1 - progress;
9706      }
9707    }      
9708  }
9709});
9710
9711BX.addCustomEvent("onSlideChanges", function (eventdata) {
9712  if ("slider" in eventdata && eventdata.slider) {
9713    const slider = eventdata.slider;
9714    if (slider && slider.params) {
9715      if ("type" in slider.params && slider.params.type === "main_banner") {
9716        setTimeout(function () {
9717          checkNavColor($(slider.el));
9718        }, 100);
9719
9720        if (
9721          slider.pagination 
9722          && slider.pagination.bullets
9723          && slider.pagination.bullets[slider.activeIndex]
9724        ) {
9725          slider.pagination.el.querySelector('.swiper-pagination-bullet-active').append(progressBar);
9726        }
9727      }
9728    }
9729  }
9730});
9731
9732BX.addCustomEvent('onInitSlider', (eventdata) => {
9733  if (!eventdata.options) return;
9734
9735  if ("type" in eventdata.options && eventdata.options.type === "main_banner") {
9736    progressBar = document.querySelector(".autoplay-progress");
9737    
9738    if (
9739      eventdata.slider
9740      && eventdata.slider.pagination 
9741      && eventdata.slider.pagination.bullets
9742      && eventdata.slider.pagination.bullets[0]
9743    ) {
9744      eventdata.slider.pagination.bullets[0].append(progressBar);
9745    }
9746  }
9747});
9748/* End */
9749;
9750; /* Start:"a:4:{s:4:"full";
9750s:70:"/bitrix/templates/aspro-premier/js/slider.swiper.min.js?17745963261707";s:6:"source";s:55:"/bitrix/templates/aspro-premier/js/slider.swiper.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9751function initSwiperSlider(e){const t=$((e||".slider-solution")+":not(.swiper-initialized):not(.appear-block)");t.each((function(){const e=$(this);let i={grabCursor:!0,navigation:{nextEl:e.parent().find(".swiper-button-next")[0],prevEl:e.parent().find(".swiper-button-prev")[0]},pagination:{el:e.parent().find(".swiper-pagination")[0],type:"bullets",clickable:!0}};if(i.spaceBetween=parseInt(t.css("--theme-items-gap")),e.data("pluginOptions")&&(i=deepMerge({},i,e.data("pluginOptions"))),i.thumbs&&"string"==typeof i.thumbs.swiper){const e=$(i.thumbs.swiper).data("swiper");e?i.thumbs.swiper=e:delete i.thumbs}BX.onCustomEvent("onSetSliderOptions",[i]);const n=new Swiper(this,i),s=!!i.mainSwiper&&$(i.mainSwiper).data("swiper");s&&(s.thumbs.swiper=n,!1!==i.init&&s.thumbs.init()),n.on("slideChange",(function(e){const t={slider:e};BX.onCustomEvent("onSlideChanges",[t])})),!1===i.init&&(n.on("init",(function(e){const t={slider:e,options:i};BX.onCustomEvent("onInitSlider",[t]),1===e.slides.length&&BX.onCustomEvent("onSlideChanges",[{slider:e}])})),n.init(),s&&s.thumbs.init()),e.data("swiper",n)}))}function deepMerge(){const e=[].slice.call(arguments);let t=e[0];const i=e.slice(1);return i.forEach((function(e){for(let i in e)if("object"==typeof e[i])for(let n in e[i])"object"!=typeof t[i]&&(t[i]={}),t[i][n]=e[i][n];else t[i]=e[i]})),t}BX.addCustomEvent("onAjaxChangeWidgetValue",(e=>{BX.type.isObject(e)&&"ITEMS_GAP"===e.NAME&&document.querySelectorAll(".slider-solution.swiper-initialized").forEach((e=>{BX.type.isObject(e.swiper)&&(e.swiper.params.spaceBetween=parseInt(getComputedStyle(e).getPropertyValue("--theme-items-gap")),e.swiper.update())}))})),readyDOM((function(){initSwiperSlider()}));
9752/* End */
9753;
9754; /* Start:"a:4:{s:4:"full";s:95:"/bitrix/templates/aspro-premier/vendor/js/carousel/swiper/swiper-bundle.min.js?1774596325158093";s:6:"source";s:78:"/bitrix/templates/aspro-premier/vendor/js/carousel/swiper/swiper-bundle.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9755var Swiper=function(){"use strict";function isObject$1(obj){return null!==obj&&"object"==typeof obj&&"constructor"in obj&&obj.constructor===Object}function extend$1(target,src){void 0===target&&(target={}),void 0===src&&(src={}),Object.keys(src).forEach(key=>{void 0===target[key]?target[key]=src[key]:isObject$1(src[key])&&isObject$1(target[key])&&Object.keys(src[key]).length>0&&extend$1(target[key],src[key])})}const ssrDocument={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 getDocument(){const doc="undefined"!=typeof document?document:{};return extend$1(doc,ssrDocument),doc}const ssrWindow={document:ssrDocument,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function CustomEvent(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:callback=>"undefined"==typeof setTimeout?(callback(),null):setTimeout(callback,0),cancelAnimationFrame(id){"undefined"!=typeof setTimeout&&clearTimeout(id)}};function getWindow(){const win="undefined"!=typeof window?window:{};return extend$1(win,ssrWindow),win}function classesToTokens(classes){return void 0===classes&&(classes=""),classes.trim().split(" ").filter(c=>!!c.trim())}function deleteProps(obj){const object=obj;Object.keys(object).forEach(key=>{try{object[key]=null}catch(e){}try{delete object[key]}catch(e){}})}function nextTick(callback,delay){return void 0===delay&&(delay=0),setTimeout(callback,delay)}function now(){return Date.now()}function getComputedStyle$1(el){const window=getWindow();let style;return window.getComputedStyle&&(style=window.getComputedStyle(el,null)),!style&&el.currentStyle&&(style=el.currentStyle),style||(style=el.style),style}function getTranslate(el,axis){void 0===axis&&(axis="x");const window=getWindow();let matrix,curTransform,transformMatrix;const curStyle=getComputedStyle$1(el);return window.WebKitCSSMatrix?(curTransform=curStyle.transform||curStyle.webkitTransform,curTransform.split(",").length>6&&(curTransform=curTransform.split(", ").map(a=>a.replace(",",".")).join(", ")),transformMatrix=new window.WebKitCSSMatrix("none"===curTransform?"":curTransform)):(transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),matrix=transformMatrix.toString().split(",")),"x"===axis&&(curTransform=window.WebKitCSSMatrix?transformMatrix.m41:16===matrix.length?parseFloat(matrix[12]):parseFloat(matrix[4])),"y"===axis&&(curTransform=window.WebKitCSSMatrix?transformMatrix.m42:16===matrix.length?parseFloat(matrix[13]):parseFloat(matrix[5])),curTransform||0}function isObject(o){return"object"==typeof o&&null!==o&&o.constructor&&"Object"===Object.prototype.toString.call(o).slice(8,-1)}function isNode(node){return"undefined"!=typeof window&&void 0!==window.HTMLElement?node instanceof HTMLElement:node&&(1===node.nodeType||11===node.nodeType)}function extend(){const to=Object(arguments.length<=0?void 0:arguments[0]),noExtend=["__proto__","constructor","prototype"];for(let i=1;i<arguments.length;i+=1){const nextSource=i<0||arguments.length<=i?void 0:arguments[i];if(null!=nextSource&&!isNode(nextSource)){const keysArray=Object.keys(Object(nextSource)).filter(key=>noExtend.indexOf(key)<0);for(let nextIndex=0,len=keysArray.length;nextIndex<len;nextIndex+=1){const nextKey=keysArray[nextIndex],desc=Object.getOwnPropertyDescriptor(nextSource,nextKey);void 0!==desc&&desc.enumerable&&(isObject(to[nextKey])&&isObject(nextSource[nextKey])?nextSource[nextKey].__swiper__?to[nextKey]=nextSource[nextKey]:extend(to[nextKey],nextSource[nextKey]):!isObject(to[nextKey])&&isObject(nextSource[nextKey])?(to[nextKey]={},nextSource[nextKey].__swiper__?to[nextKey]=nextSource[nextKey]:extend(to[nextKey],nextSource[nextKey])):to[nextKey]=nextSource[nextKey])}}}return to}function setCSSProperty(el,varName,varValue){el.style.setProperty(varName,varValue)}function animateCSSModeScroll(_ref){let{swiper:swiper,targetPosition:targetPosition,side:side}=_ref;const window=getWindow(),startPosition=-swiper.translate;let startTime=null,time;const duration=swiper.params.speed;swiper.wrapperEl.style.scrollSnapType="none",window.cancelAnimationFrame(swiper.cssModeFrameID);const dir=targetPosition>startPosition?"next":"prev",isOutOfBound=(current,target)=>"next"===dir&&current>=target||"prev"===dir&&current<=target,animate=()=>{time=(new Date).getTime(),null===startTime&&(startTime=time);const progress=Math.max(Math.min((time-startTime)/duration,1),0),easeProgress=.5-Math.cos(progress*Math.PI)/2;let currentPosition=startPosition+easeProgress*(targetPosition-startPosition);if(isOutOfBound(currentPosition,targetPosition)&&(currentPosition=targetPosition),swiper.wrapperEl.scrollTo({[side]:currentPosition}),isOutOfBound(currentPosition,targetPosition))return swiper.wrapperEl.style.overflow="hidden",swiper.wrapperEl.style.scrollSnapType="",setTimeout(()=>{swiper.wrapperEl.style.overflow="",swiper.wrapperEl.scrollTo({[side]:currentPosition})}),void window.cancelAnimationFrame(swiper.cssModeFrameID);swiper.cssModeFrameID=window.requestAnimationFrame(animate)};animate()}function getSlideTransformEl(slideEl){return slideEl.querySelector(".swiper-slide-transform")||slideEl.shadowRoot&&slideEl.shadowRoot.querySelector(".swiper-slide-transform")||slideEl}function elementChildren(element,selector){return void 0===selector&&(selector=""),[...element.children].filter(el=>el.matches(selector))}function showWarning(text){try{return void console.warn(text)}catch(err){}}function createElement(tag,classes){void 0===classes&&(classes=[]);const el=document.createElement(tag);
9755return el.classList.add(...Array.isArray(classes)?classes:classesToTokens(classes)),el}function elementOffset(el){const window=getWindow(),document=getDocument(),box=el.getBoundingClientRect(),body=document.body,clientTop=el.clientTop||body.clientTop||0,clientLeft=el.clientLeft||body.clientLeft||0,scrollTop=el===window?window.scrollY:el.scrollTop,scrollLeft=el===window?window.scrollX:el.scrollLeft;return{top:box.top+scrollTop-clientTop,left:box.left+scrollLeft-clientLeft}}function elementPrevAll(el,selector){const prevEls=[];for(;el.previousElementSibling;){const prev=el.previousElementSibling;selector?prev.matches(selector)&&prevEls.push(prev):prevEls.push(prev),el=prev}return prevEls}function elementNextAll(el,selector){const nextEls=[];for(;el.nextElementSibling;){const next=el.nextElementSibling;selector?next.matches(selector)&&nextEls.push(next):nextEls.push(next),el=next}return nextEls}function elementStyle(el,prop){const window=getWindow();return window.getComputedStyle(el,null).getPropertyValue(prop)}function elementIndex(el){let child=el,i;if(child){for(i=0;null!==(child=child.previousSibling);)1===child.nodeType&&(i+=1);return i}}function elementParents(el,selector){const parents=[];let parent=el.parentElement;for(;parent;)selector?parent.matches(selector)&&parents.push(parent):parents.push(parent),parent=parent.parentElement;return parents}function elementTransitionEnd(el,callback){function fireCallBack(e){e.target===el&&(callback.call(el,e),el.removeEventListener("transitionend",fireCallBack))}callback&&el.addEventListener("transitionend",fireCallBack)}function elementOuterSize(el,size,includeMargins){const window=getWindow();return includeMargins?el["width"===size?"offsetWidth":"offsetHeight"]+parseFloat(window.getComputedStyle(el,null).getPropertyValue("width"===size?"margin-right":"margin-top"))+parseFloat(window.getComputedStyle(el,null).getPropertyValue("width"===size?"margin-left":"margin-bottom")):el.offsetWidth}let support,deviceCached,browser;function calcSupport(){const window=getWindow(),document=getDocument();return{smoothScroll:document.documentElement&&document.documentElement.style&&"scrollBehavior"in document.documentElement.style,touch:!!("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch)}}function getSupport(){return support||(support=calcSupport()),support}function calcDevice(_temp){let{userAgent:userAgent}=void 0===_temp?{}:_temp;const support=getSupport(),window=getWindow(),platform=window.navigator.platform,ua=userAgent||window.navigator.userAgent,device={ios:!1,android:!1},screenWidth=window.screen.width,screenHeight=window.screen.height,android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);let ipad=ua.match(/(iPad).*OS\s([\d_]+)/);const ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/),iphone=!ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/),windows="Win32"===platform;let macos="MacIntel"===platform;const iPadScreens=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];return!ipad&&macos&&support.touch&&iPadScreens.indexOf(`${screenWidth}x${screenHeight}`)>=0&&(ipad=ua.match(/(Version)\/([\d.]+)/),ipad||(ipad=[0,1,"13_0_0"]),macos=!1),android&&!windows&&(device.os="android",device.android=!0),(ipad||iphone||ipod)&&(device.os="ios",device.ios=!0),device}function getDevice(overrides){return void 0===overrides&&(overrides={}),deviceCached||(deviceCached=calcDevice(overrides)),deviceCached}function calcBrowser(){const window=getWindow();let needPerspectiveFix=!1;function isSafari(){const ua=window.navigator.userAgent.toLowerCase();return ua.indexOf("safari")>=0&&ua.indexOf("chrome")<0&&ua.indexOf("android")<0}if(isSafari()){const ua=String(window.navigator.userAgent);if(ua.includes("Version/")){const[major,minor]=ua.split("Version/")[1].split(" ")[0].split(".").map(num=>Number(num));needPerspectiveFix=major<16||16===major&&minor<2}}return{isSafari:needPerspectiveFix||isSafari(),needPerspectiveFix:needPerspectiveFix,isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)}}function getBrowser(){return browser||(browser=calcBrowser()),browser}function Resize(_ref){let{swiper:swiper,on:on,emit:emit}=_ref;const window=getWindow();let observer=null,animationFrame=null;const resizeHandler=()=>{swiper&&!swiper.destroyed&&swiper.initialized&&(emit("beforeResize"),emit("resize"))},createObserver=()=>{swiper&&!swiper.destroyed&&swiper.initialized&&(observer=new ResizeObserver(entries=>{animationFrame=window.requestAnimationFrame(()=>{const{width:width,height:height}=swiper;let newWidth=width,newHeight=height;
9755entries.forEach(_ref2=>{let{contentBoxSize:contentBoxSize,contentRect:contentRect,target:target}=_ref2;target&&target!==swiper.el||(newWidth=contentRect?contentRect.width:(contentBoxSize[0]||contentBoxSize).inlineSize,newHeight=contentRect?contentRect.height:(contentBoxSize[0]||contentBoxSize).blockSize)}),newWidth===width&&newHeight===height||resizeHandler()})}),observer.observe(swiper.el))},removeObserver=()=>{animationFrame&&window.cancelAnimationFrame(animationFrame),observer&&observer.unobserve&&swiper.el&&(observer.unobserve(swiper.el),observer=null)},orientationChangeHandler=()=>{swiper&&!swiper.destroyed&&swiper.initialized&&emit("orientationchange")};on("init",()=>{swiper.params.resizeObserver&&void 0!==window.ResizeObserver?createObserver():(window.addEventListener("resize",resizeHandler),window.addEventListener("orientationchange",orientationChangeHandler))}),on("destroy",()=>{removeObserver(),window.removeEventListener("resize",resizeHandler),window.removeEventListener("orientationchange",orientationChangeHandler)})}function Observer(_ref){let{swiper:swiper,extendParams:extendParams,on:on,emit:emit}=_ref;const observers=[],window=getWindow(),attach=function(target,options){void 0===options&&(options={});const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver,observer=new ObserverFunc(mutations=>{if(swiper.__preventObserver__)return;if(1===mutations.length)return void emit("observerUpdate",mutations[0]);const observerUpdate=function observerUpdate(){emit("observerUpdate",mutations[0])};window.requestAnimationFrame?window.requestAnimationFrame(observerUpdate):window.setTimeout(observerUpdate,0)});observer.observe(target,{attributes:void 0===options.attributes||options.attributes,childList:void 0===options.childList||options.childList,characterData:void 0===options.characterData||options.characterData}),observers.push(observer)},init=()=>{if(swiper.params.observer){if(swiper.params.observeParents){const containerParents=elementParents(swiper.hostEl);for(let i=0;i<containerParents.length;i+=1)attach(containerParents[i])}attach(swiper.hostEl,{childList:swiper.params.observeSlideChildren}),attach(swiper.wrapperEl,{attributes:!1})}},destroy=()=>{observers.forEach(observer=>{observer.disconnect()}),observers.splice(0,observers.length)};extendParams({observer:!1,observeParents:!1,observeSlideChildren:!1}),on("init",init),on("destroy",destroy)}var eventsEmitter={on(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if("function"!=typeof handler)return self;const method=priority?"unshift":"push";return events.split(" ").forEach(event=>{self.eventsListeners[event]||(self.eventsListeners[event]=[]),self.eventsListeners[event][method](handler)}),self},once(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if("function"!=typeof handler)return self;function onceHandler(){self.off(events,onceHandler),onceHandler.__emitterProxy&&delete onceHandler.__emitterProxy;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];handler.apply(self,args)}return onceHandler.__emitterProxy=handler,self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if("function"!=typeof handler)return self;const method=priority?"unshift":"push";return self.eventsAnyListeners.indexOf(handler)<0&&self.eventsAnyListeners[method](handler),self},offAny(handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsAnyListeners)return self;const index=self.eventsAnyListeners.indexOf(handler);return index>=0&&self.eventsAnyListeners.splice(index,1),self},off(events,handler){const self=this;return!self.eventsListeners||self.destroyed?self:self.eventsListeners?(events.split(" ").forEach(event=>{void 0===handler?self.eventsListeners[event]=[]:self.eventsListeners[event]&&self.eventsListeners[event].forEach((eventHandler,index)=>{(eventHandler===handler||eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler)&&self.eventsListeners[event].splice(index,1)})}),self):self}
9755,emit(){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;let events,data,context;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];"string"==typeof args[0]||Array.isArray(args[0])?(events=args[0],data=args.slice(1,args.length),context=self):(events=args[0].events,data=args[0].data,context=args[0].context||self),data.unshift(context);const eventsArray=Array.isArray(events)?events:events.split(" ");return eventsArray.forEach(event=>{self.eventsAnyListeners&&self.eventsAnyListeners.length&&self.eventsAnyListeners.forEach(eventHandler=>{eventHandler.apply(context,[event,...data])}),self.eventsListeners&&self.eventsListeners[event]&&self.eventsListeners[event].forEach(eventHandler=>{eventHandler.apply(context,data)})}),self}};function updateSize(){const swiper=this;let width,height;const el=swiper.el;width=void 0!==swiper.params.width&&null!==swiper.params.width?swiper.params.width:el.clientWidth,height=void 0!==swiper.params.height&&null!==swiper.params.height?swiper.params.height:el.clientHeight,0===width&&swiper.isHorizontal()||0===height&&swiper.isVertical()||(width=width-parseInt(elementStyle(el,"padding-left")||0,10)-parseInt(elementStyle(el,"padding-right")||0,10),height=height-parseInt(elementStyle(el,"padding-top")||0,10)-parseInt(elementStyle(el,"padding-bottom")||0,10),Number.isNaN(width)&&(width=0),Number.isNaN(height)&&(height=0),Object.assign(swiper,{width:width,height:height,size:swiper.isHorizontal()?width:height}))}function updateSlides(){const swiper=this;function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||0)}const params=swiper.params,{wrapperEl:wrapperEl,slidesEl:slidesEl,size:swiperSize,rtlTranslate:rtl,wrongRTL:wrongRTL}=swiper,isVirtual=swiper.virtual&&params.virtual.enabled,previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length,slides=elementChildren(slidesEl,`.${swiper.params.slideClass}, swiper-slide`),slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[],slidesSizesGrid=[];let offsetBefore=params.slidesOffsetBefore;"function"==typeof offsetBefore&&(offsetBefore=params.slidesOffsetBefore.call(swiper));let offsetAfter=params.slidesOffsetAfter;"function"==typeof offsetAfter&&(offsetAfter=params.slidesOffsetAfter.call(swiper));const previousSnapGridLength=swiper.snapGrid.length,previousSlidesGridLength=swiper.slidesGrid.length;let spaceBetween=params.spaceBetween,slidePosition=-offsetBefore,prevSlideSize=0,index=0;if(void 0===swiperSize)return;"string"==typeof spaceBetween&&spaceBetween.indexOf("%")>=0?spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiperSize:"string"==typeof spaceBetween&&(spaceBetween=parseFloat(spaceBetween)),swiper.virtualSize=-spaceBetween,slides.forEach(sli
vendor: 4,090 bytes, line 9755
9755deEl=>{rtl?slideEl.style.marginLeft="":slideEl.style.marginRight="",slideEl.style.marginBottom="",slideEl.style.marginTop=""}),params.centeredSlides&&params.cssMode&&(setCSSProperty(wrapperEl,"--swiper-centered-offset-before",""),setCSSProperty(wrapperEl,"--swiper-centered-offset-after",""));const gridEnabled=params.grid&&params.grid.rows>1&&swiper.grid;let slideSize;gridEnabled?swiper.grid.initSlides(slides):swiper.grid&&swiper.grid.unsetSlides();const shouldResetSlideSize="auto"===params.slidesPerView&&params.breakpoints&&Object.keys(params.breakpoints).filter(key=>void 0!==params.breakpoints[key].slidesPerView).length>0;for(let i=0;i<slidesLength;i+=1){let slide;if(slideSize=0,slides[i]&&(slide=slides[i]),gridEnabled&&swiper.grid.updateSlide(i,slide,slides),!slides[i]||"none"!==elementStyle(slide,"display")){if("auto"===params.slidesPerView){shouldResetSlideSize&&(slides[i].style[swiper.getDirectionLabel("width")]="");const slideStyles=getComputedStyle(slide),currentTransform=slide.style.transform,currentWebKitTransform=slide.style.webkitTransform;if(currentTransform&&(slide.style.transform="none"),currentWebKitTransform&&(slide.style.webkitTransform="none"),params.roundLengths)slideSize=swiper.isHorizontal()?elementOuterSize(slide,"width",!0):elementOuterSize(slide,"height",!0);else{const width=getDirectionPropertyValue(slideStyles,"width"),paddingLeft=getDirectionPropertyValue(slideStyles,"padding-left"),paddingRight=getDirectionPropertyValue(slideStyles,"padding-right"),marginLeft=getDirectionPropertyValue(slideStyles,"margin-left"),marginRight=getDirectionPropertyValue(slideStyles,"margin-right"),boxSizing=slideStyles.getPropertyValue("box-sizing");if(boxSizing&&"border-box"===boxSizing)slideSize=width+marginLeft+marginRight;else{const{clientWidth:clientWidth,offsetWidth:offsetWidth}=slide;slideSize=width+paddingLeft+paddingRight+marginLeft+marginRight+(offsetWidth-clientWidth)}}currentTransform&&(slide.style.transform=currentTransform),currentWebKitTransform&&(slide.style.webkitTransform=currentWebKitTransform),params.roundLengths&&(slideSize=Math.floor(slideSize))}else slideSize=(swiperSize-(params.slidesPerView-1)*spaceBetween)/params.slidesPerView,params.roundLengths&&(slideSize=Math.floor(slideSize)),slides[i]&&(slides[i].style[swiper.getDirectionLabel("width")]=`${slideSize}px`);slides[i]&&(slides[i].swiperSlideSize=slideSize),slidesSizesGrid.push(slideSize),params.centeredSlides?(slidePosition=slidePosition+slideSize/2+prevSlideSize/2+spaceBetween,0===prevSlideSize&&0!==i&&(slidePosition=slidePosition-swiperSize/2-spaceBetween),0===i&&(slidePosition=slidePosition-swiperSize/2-spaceBetween),Math.abs(slidePosition)<.001&&(slidePosition=0),params.roundLengths&&(slidePosition=Math.floor(slidePosition)),index%params.slidesPerGroup==0&&snapGrid.push(slidePosition),slidesGrid.push(slidePosition)):(params.roundLengths&&(slidePosition=Math.floor(slidePosition)),(index-Math.min(swiper.params.slidesPerGroupSkip,index))%swiper.params.slidesPerGroup==0&&snapGrid.push(slidePosition),slidesGrid.push(slidePosition),slidePosition=slidePosition+slideSize+spaceBetween),swiper.virtualSize+=slideSize+spaceBetween,prevSlideSize=slideSize,index+=1}}if(swiper.virtualSize=Math.max(swiper.virtualSize,swiperSize)+offsetAfter,rtl&&wrongRTL&&("slide"===params.effect||"coverflow"===params.effect)&&(wrapperEl.style.width=`${swiper.virtualSize+spaceBetween}px`),params.setWrapperSize&&(wrapperEl.style[swiper.getDirectionLabel("width")]=`${swiper.virtualSize+spaceBetween}px`),gridEnabled&&swiper.grid.updateWrapperSize(slideSize,snapGrid),!params.centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];params.roundLengths&&(slidesGridItem=Math.floor(slidesGridItem)),snapGrid[i]<=swiper.virtualSize-swiperSize&&newSlidesGrid.push(slidesGridItem)}snapGrid=newSlidesGrid,Math.floor(swiper.virtualSize-swiperSize)-Math.floor(snapGrid[snapGrid.length-1])>1&&snapGrid.push(swiper.virtualSize-swiperSize)}if(isVirtual&&params.loop){const size=slidesSizesGrid[0]+spaceBetween;if(params.slidesPerGroup>
97551){const groups=Math.ceil((swiper.virtual.slidesBefore+swiper.virtual.slidesAfter)/params.slidesPerGroup),groupSize=size*params.slidesPerGroup;for(let i=0;i<groups;i+=1)snapGrid.push(snapGrid[snapGrid.length-1]+groupSize)}for(let i=0;i<swiper.virtual.slidesBefore+swiper.virtual.slidesAfter;i+=1)1===params.slidesPerGroup&&snapGrid.push(snapGrid[snapGrid.length-1]+size),slidesGrid.push(slidesGrid[slidesGrid.length-1]+size),swiper.virtualSize+=size}if(0===snapGrid.length&&(snapGrid=[0]),0!==spaceBetween){const key=swiper.isHorizontal()&&rtl?"marginLeft":swiper.getDirectionLabel("marginRight");slides.filter((_,slideIndex)=>!(params.cssMode&&!params.loop)||slideIndex!==slides.length-1).forEach(slideEl=>{slideEl.style[key]=`${spaceBetween}px`})}if(params.centeredSlides&&params.centeredSlidesBounds){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)}),allSlidesSize-=spaceBetween;const maxSnap=allSlidesSize-swiperSize;snapGrid=snapGrid.map(snap=>snap<=0?-offsetBefore:snap>maxSnap?maxSnap+offsetAfter:snap)}if(params.centerInsufficientSlides){let allSlidesSize=0;
9755if(slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)}),allSlidesSize-=spaceBetween,allSlidesSize<swiperSize){const allSlidesOffset=(swiperSize-allSlidesSize)/2;snapGrid.forEach((snap,snapIndex)=>{snapGrid[snapIndex]=snap-allSlidesOffset}),slidesGrid.forEach((snap,snapIndex)=>{slidesGrid[snapIndex]=snap+allSlidesOffset})}}if(Object.assign(swiper,{slides:slides,snapGrid:snapGrid,slidesGrid:slidesGrid,slidesSizesGrid:slidesSizesGrid}),params.centeredSlides&&params.cssMode&&!params.centeredSlidesBounds){setCSSProperty(wrapperEl,"--swiper-centered-offset-before",`${-snapGrid[0]}px`),setCSSProperty(wrapperEl,"--swiper-centered-offset-after",`${swiper.size/2-slidesSizesGrid[slidesSizesGrid.length-1]/2}px`);const addToSnapGrid=-swiper.snapGrid[0],addToSlidesGrid=-swiper.slidesGrid[0];swiper.snapGrid=swiper.snapGrid.map(v=>v+addToSnapGrid),swiper.slidesGrid=swiper.slidesGrid.map(v=>v+addToSlidesGrid)}if(slidesLength!==previousSlidesLength&&swiper.emit("slidesLengthChange"),snapGrid.length!==previousSnapGridLength&&(swiper.params.watchOverflow&&swiper.checkOverflow(),swiper.emit("snapGridLengthChange")),slidesGrid.length!==previousSlidesGridLength&&swiper.emit("slidesGridLengthChange"),params.watchSlidesProgress&&swiper.updateSlidesOffset(),swiper.emit("slidesUpdated"),!(isVirtual||params.cssMode||"slide"!==params.effect&&"fade"!==params.effect)){const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`,hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);slidesLength<=params.maxBackfaceHiddenSlides?hasClassBackfaceClassAdded||swiper.el.classList.add(backFaceHiddenClass):hasClassBackfaceClassAdded&&swiper.el.classList.remove(backFaceHiddenClass)}}function updateAutoHeight(speed){const swiper=this,activeSlides=[],isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let newHeight=0,i;"number"==typeof speed?swiper.setTransition(speed):!0===speed&&swiper.setTransition(swiper.params.speed);const getSlideByIndex=index=>isVirtual?swiper.slides[swiper.getSlideIndexByData(index)]:swiper.slides[index];if("auto"!==swiper.params.slidesPerView&&swiper.params.slidesPerView>1)if(swiper.params.centeredSlides)(swiper.visibleSlides||[]).forEach(sli
9755de=>{activeSlides.push(slide)});else for(i=0;i<Math.ceil(swiper.params.slidesPerView);i+=1){const index=swiper.activeIndex+i;if(index>swiper.slides.length&&!isVirtual)break;activeSlides.push(getSlideByIndex(index))}else activeSlides.push(getSlideByIndex(swiper.activeIndex));for(i=0;i<activeSlides.length;i+=1)if(void 0!==activeSlides[i]){const height=activeSlides[i].offsetHeight;newHeight=height>newHeight?height:newHeight}(newHeight||0===newHeight)&&(swiper.wrapperEl.style.height=`${newHeight}px`)}function updateSlidesOffset(){const swiper=this,slides=swiper.slides,minusOffset=swiper.isElement?swiper.isHorizontal()?swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;for(let i=0;i<slides.length;i+=1)slides[i].swiperSlideOffset=(swiper.isHorizontal()?slides[i].offsetLeft:slides[i].offsetTop)-minusOffset-swiper.cssOverflowAdjustment()}function updateSlidesProgress(translate){void 0===translate&&(translate=this&&this.translate||0);const swiper=this,params=swiper.params,{slides:slides,rtlTranslate:rtl,snapGrid:snapGrid}=swiper;
vendor: 3,764 bytes, line 9755
9755if(0===slides.length)return;void 0===slides[0].swiperSlideOffset&&swiper.updateSlidesOffset();let offsetCenter=-translate;rtl&&(offsetCenter=translate),slides.forEach(slideEl=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass)}),swiper.visibleSlidesIndexes=[],swiper.visibleSlides=[];let spaceBetween=params.spaceBetween;"string"==typeof spaceBetween&&spaceBetween.indexOf("%")>=0?spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiper.size:"string"==typeof spaceBetween&&(spaceBetween=parseFloat(spaceBetween));for(let i=0;i<slides.length;i+=1){const slide=slides[i];let slideOffset=slide.swiperSlideOffset;params.cssMode&&params.centeredSlides&&(slideOffset-=slides[0].swiperSlideOffset);const slideProgress=(offsetCenter+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+spaceBetween),originalSlideProgress=(offsetCenter-snapGrid[0]+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+spaceBetween),slideBefore=-(offsetCenter-slideOffset),slideAfter=slideBefore+swiper.slidesSizesGrid[i],isFullyVisible=slideBefore>=0&&slideBefore<=swiper.size-swiper.slidesSizesGrid[i],isVisible=slideBefore>=0&&slideBefore<swiper.size-1||slideAfter>1&&slideAfter<=swiper.size||slideBefore<=0&&slideAfter>=swiper.size;isVisible&&(swiper.visibleSlides.push(slide),swiper.visibleSlidesIndexes.push(i),slides[i].classList.add(params.slideVisibleClass)),isFullyVisible&&slides[i].classList.add(params.slideFullyVisibleClass),slide.progress=rtl?-slideProgress:slideProgress,slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress}}function updateProgress(translate){const swiper=this;if(void 0===translate){const multiplier=swiper.rtlTranslate?-1:1;translate=swiper&&swiper.translate&&swiper.translate*multiplier||0}const params=swiper.params,translatesDiff=swiper.maxTranslate()-swiper.minTranslate();let{progress:progress,isBeginning:isBeginning,isEnd:isEnd,progressLoop:progressLoop}=swiper;const wasBeginning=isBeginning,wasEnd=isEnd;if(0===translatesDiff)progress=0,isBeginning=!0,isEnd=!0;else{progress=(translate-swiper.minTranslate())/translatesDiff;const isBeginningRounded=Math.abs(translate-swiper.minTranslate())<1,isEndRounded=Math.abs(translate-swiper.maxTranslate())<1;isBeginning=isBeginningRounded||progress<=0,isEnd=isEndRounded||progress>=1,isBeginningRounded&&(progress=0),isEndRounded&&(progress=1)}if(params.loop){const firstSlideIndex=swiper.getSlideIndexByData(0),lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length-1),firstSlideTranslate=swiper.slidesGrid[firstSlideIndex],lastSlideTranslate=swiper.slidesGrid[lastSlideIndex],translateMax=swiper.slidesGrid[swiper.slidesGrid.length-1],translateAbs=Math.abs(translate);progressLoop=translateAbs>=firstSlideTranslate?(translateAbs-firstSlideTranslate)/translateMax:(translateAbs+translateMax-lastSlideTranslate)/translateMax,progressLoop>1&&(progressLoop-=1)}Object.assign(swiper,{progress:progress,progressLoop:progressLoop,isBeginning:isBeginning,isEnd:isEnd}),(params.watchSlidesProgress||params.centeredSlides&&params.autoHeight)&&swiper.updateSlidesProgress(translate),isBeginning&&!wasBeginning&&swiper.emit("reachBeginning toEdge"),isEnd&&!wasEnd&&swiper.emit("reachEnd toEdge"),(wasBeginning&&!isBeginning||wasEnd&&!isEnd)&&swiper.emit("fromEdge"),swiper.emit("progress",progress)}function updateSlidesClasses(){const swiper=this,{slides:slides,params:params,slidesEl:slidesEl,activeIndex:activeIndex}=swiper,isVirtual=swiper.virtual&&params.virtual.enabled,gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1,getFilteredSlide=selector=>elementChildren(slidesEl,`.${params.slideClass}${selector}, swiper-slide${selector}`)[0];let activeSlide,prevSlide,nextSlide;
9755if(slides.forEach(slideEl=>{slideEl.classList.remove(params.slideActiveClass,params.slideNextClass,params.slidePrevClass)}),isVirtual)if(params.loop){let slideIndex=activeIndex-swiper.virtual.slidesBefore;slideIndex<0&&(slideIndex=swiper.virtual.slides.length+slideIndex),slideIndex>=swiper.virtual.slides.length&&(slideIndex-=swiper.virtual.slides.length),activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`)}else activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`);else gridEnabled?(activeSlide=slides.filter(slideEl=>slideEl.column===activeIndex)[0],nextSlide=slides.filter(slideEl=>slideEl.column===activeIndex+1)[0],prevSlide=slides.filter(slideEl=>slideEl.column===activeIndex-1)[0]):activeSlide=slides[activeIndex];activeSlide&&(activeSlide.classList.add(params.slideActiveClass),gridEnabled?(nextSlide&&nextSlide.classList.add(params.slideNextClass),prevSlide&&prevSlide.classList.add(params.slidePrevClass)):(nextSlide=elementNextAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0],params.loop&&!nextSlide&&(nextSlide=slides[0]),nextSlide&&nextSlide.classList.add(params.slideNextClass),prevSlide=elementPrevAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0],params.loop&&0===!prevSlide&&(prevSlide=slides[slides.length-1]),prevSlide&&prevSlide.classList.add(params.slidePrevClass))),swiper.emitSlidesClasses()}const processLazyPreloader=(swiper,imageEl)=>{if(!swiper||swiper.destroyed||!swiper.params)return;const slideSelector=()=>swiper.isElement?"swiper-slide":`.${swiper.params.slideClass}`,slideEl=imageEl.closest(slideSelector());if(slideEl){let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);!lazyEl&&swiper.isElement&&(slideEl.shadowRoot?lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{slideEl.shadowRoot&&(lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`),lazyEl&&lazyEl.remove())})),lazyEl&&lazyEl.remove()}},unlazy=(swiper,index)=>{if(!swiper.slides[index])return;const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');imageEl&&imageEl.removeAttribute("loading")},preload=swiper=>{if(!swiper||swiper.destroyed||!swiper.params)return;let amount=swiper.params.lazyPreloadPrevNext;const len=swiper.slides.length;if(!len||!amount||amount<0)return;amount=Math.min(amount,len);const slidesPerView="auto"===swiper.params.slidesPerView?swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView),activeIndex=swiper.activeIndex;if(swiper.params.grid&&swiper.params.grid.rows>1){const activeColumn=activeIndex,preloadColumns=[activeColumn-amount];return preloadColumns.push(...Array.from({length:amount}).map((_,i)=>activeColumn+slidesPerView+i)),void swiper.slides.forEach((slideEl,i)=>{preloadColumns.includes(slideEl.column)&&unlazy(swiper,i)})}const slideIndexLastInView=activeIndex+slidesPerView-1;if(swiper.params.rewind||swiper.params.loop)for(let i=activeIndex-amount;i<=slideIndexLastInView+amount;i+=1){const realIndex=(i%len+len)%len;(realIndex<activeIndex||realIndex>slideIndexLastInView)&&unlazy(swiper,realIndex)}else for(let i=Math.max(activeIndex-amount,0);i<=Math.min(slideIndexLastInView+amount,len-1);i+=1)i!==activeIndex&&(i>slideIndexLastInView||i<activeIndex)&&unlazy(swiper,i)};function getActiveIndexByTranslate(swiper){const{slidesGrid:slidesGrid,params:params}=swiper,translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;let activeIndex;for(let i=0;i<slidesGrid.length;i+=1)void 0!==slidesGrid[i+1]?translate>=slidesGrid[i]&&translate<slidesGrid[i+1]-(slidesGrid[i+1]-slidesGrid[i])/2?activeIndex=i:translate>=slidesGrid[i]&&translate<slidesGrid[i+1]&&(activeIndex=i+1):translate>=slidesGrid[i]&&(activeIndex=i);return params.normalizeSlideIndex&&(activeIndex<0||void 0===activeIndex)&&(activeIndex=0),activeIndex}function updateActiveIndex(newActiveIndex){const swiper=this,translate=swiper.rtlTranslate?swiper.translate:-swiper.translate,{snapGrid:snapGrid,params:params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex}=swiper;let activeIndex=newActiveIndex,snapIndex;const getVirtualRealIndex=aIndex=>{let realIndex=aIndex-swiper.virtual.slidesBefore;return realIndex<0&&(realIndex=swiper.virtual.slides.length+realIndex),realIndex>=swiper.virtual.slides.length&&(realIndex-=swiper.virtual.slides.length),realIndex};if(void 0===activeIndex&&(activeIndex=getActiveIndexByTranslate(swiper)),snapGrid.indexOf(translate)>=0)snapIndex=snapGrid.indexOf(translate);else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)}if(snapIndex>=snapGrid.length&&(snapIndex=snapGrid.length-1),activeIndex===previousIndex&&!swi
vendor: 1,714 bytes, line 9755
9755per.params.loop)return void(snapIndex!==previousSnapIndex&&(swiper.snapIndex=snapIndex,swiper.emit("snapIndexChange")));if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled)return void(swiper.realIndex=getVirtualRealIndex(activeIndex));const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;let realIndex;if(swiper.virtual&&params.virtual.enabled&&params.loop)realIndex=getVirtualRealIndex(activeIndex);else if(gridEnabled){const firstSlideInColumn=swiper.slides.filter(slideEl=>slideEl.column===activeIndex)[0];let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute("data-swiper-slide-index"),10);Number.isNaN(activeSlideIndex)&&(activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn),0)),realIndex=Math.floor(activeSlideIndex/params.grid.rows)}else if(swiper.slides[activeIndex]){const slideIndex=swiper.slides[activeIndex].getAttribute("data-swiper-slide-index");realIndex=slideIndex?parseInt(slideIndex,10):activeIndex}else realIndex=activeIndex;Object.assign(swiper,{previousSnapIndex:previousSnapIndex,snapIndex:snapIndex,previousRealIndex:previousRealIndex,realIndex:realIndex,previousIndex:previousIndex,activeIndex:activeIndex}),swiper.initialized&&preload(swiper),swiper.emit("activeIndexChange"),swiper.emit("snapIndexChange"),(swiper.initialized||swiper.params.runCallbacksOnInit)&&(previousRealIndex!==realIndex&&swiper.emit("realIndexChange"),swiper.emit("slideChange"))}function updateClickedSlide(el,path){const swiper=this,params=swiper.params;let slide=el.closest(`.${params.slideClass}, swiper-slide`);!slide&&swiper.isElement&&path&&path.length>1&&path.includes(el)&&[...path.slice(path.indexOf(el)+1,path.length)].forEac
9755h(pathEl=>{!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)&&(slide=pathEl)});let slideFound=!1,slideIndex;if(slide)for(let i=0;i<swiper.slides.length;i+=1)if(swiper.slides[i]===slide){slideFound=!0,slideIndex=i;break}if(!slide||!slideFound)return swiper.clickedSlide=void 0,void(swiper.clickedIndex=void 0);swiper.clickedSlide=slide,swiper.virtual&&swiper.params.virtual.enabled?swiper.clickedIndex=parseInt(slide.getAttribute("data-swiper-slide-index"),10):swiper.clickedIndex=slideIndex,params.slideToClickedSlide&&void 0!==swiper.clickedIndex&&swiper.clickedIndex!==swiper.activeIndex&&swiper.slideToClickedSlide()}var update,translate,transition,slide,loop,grabCursor;function getSwiperTranslate(axis){void 0===axis&&(axis=this.isHorizontal()?"x":"y");const swiper=this,{params:params,rtlTranslate:rtl,translate:translate,wrapperEl:wrapperEl}=this;if(params.virtualTranslate)return rtl?-translate:translate;if(params.cssMode)return translate;let currentTranslate=getTranslate(wrapperEl,axis);return currentTranslate+=this.cssOverflowAdjustment(),rtl&&(currentTranslate=-currentTranslate),currentTranslate||0}function setTranslate(translate,byController){const swiper=this,{rtlTranslate:rtl,params:params,wrapperEl:wrapperEl,progress:progress}=swiper;let x=0,y=0;const z=0;let newProgress;swiper.isHorizontal()?x=rtl?-translate:translate:y=translate,params.roundLengths&&(x=Math.floor(x),y=Math.floor(y)),swiper.previousTranslate=swiper.translate,swiper.translate=swiper.isHorizontal()?x:y,params.cssMode?wrapperEl[swiper.isHorizontal()?"scrollLeft":"scrollTop"]=swiper.isHorizontal()?-x:-y:params.virtualTranslate||(swiper.isHorizontal()?x-=swiper.cssOverflowAdjustment():y-=swiper.cssOverflowAdjustment(),wrapperEl.style.transform=`translate3d(${x}px, ${y}px, 0px)`);const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();newProgress=0===translatesDiff?0:(translate-swiper.minTranslate())/translatesDiff,newProgress!==progress&&swiper.updateProgress(translate),swiper.emit("setTranslate",swiper.translate,byController)}function minTranslate(){return-this.snapGrid[0]}function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]}function translateTo(translate,speed,runCallbacks,translateBounds,internal){void 0===translate&&(translate=0),void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0),void 0===translateBounds&&(translateBounds=!0);const swiper=this,{params:params,wrapperEl:wrapperEl}=swiper;if(swiper.animating&&params.preventInteractionOnTransition)return!1;const minTranslate=swiper.minTranslate(),maxTranslate=swiper.maxTranslate();let newTranslate;if(newTranslate=translateBounds&&translate>minTranslate?minTranslate:translateBounds&&translate<maxTranslate?maxTranslate:translate,swiper.updateProgress(newTranslate),params.cssMode){const isH=swiper.isHorizontal();if(0===speed)wrapperEl[isH?"scrollLeft":"scrollTop"]=-newTranslate;else{if(!swiper.support.smoothScroll)return animateCSSModeScroll({swiper:swiper,targetPosition:-newTranslate,side:isH?"left":"top"}),!0;wrapperEl.scrollTo({[isH?"left":"top"]:-newTranslate,behavior:"smooth"})}return!0}return 0===speed?(swiper.setTransition(0),swiper.setTranslate(newTranslate),runCallbacks&&(swiper.emit("beforeTransitionStart",speed,internal),swiper.emit("transitionEnd"))):(swiper.setTransition(speed),swiper.setTranslate(newTranslate),runCallbacks&&(swiper.emit("beforeTransitionStart",speed,internal),swiper.emit("transitionStart")),swiper.animating||(swiper.animating=!0,swiper.onTranslateToWrapperTransitionEnd||(swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){swiper&&!swiper.destroyed&&e.target===this&&(swiper.wrapperEl.removeEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd),swiper.onTranslateToWrapperTransitionEnd=null,delete swiper.onTranslateToWrapperTransitionEnd,runCallbacks&&swiper.emit("transitionEnd"))}),swiper.wrapperEl.addEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd))),!0}function setTransition(duration,byController){const swiper=this;swiper.params.cssMode||(swiper.wrapperEl.style.transitionDuration=`${duration}ms`,swiper.wrapperEl.style.transitionDelay=0===duration?"0ms":""),swiper.emit("setTransition",duration,byController)}function transitionEmit(_ref){let{swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:step}=_ref;const{activeIndex:activeIndex,previousIndex:previousIndex}=swiper;let dir=direction;if(dir||(dir=activeIndex>previousIndex?"next":activeIndex<previousIndex?"prev":"reset"),swiper.emit(`transition${step}`),runCallbacks&&activeIndex!==previousIndex){if("reset"===dir)return void swiper.emit(`slideResetTransition${step}`);swiper.emit(`slideChangeTransition${step}`),"next"===dir?swiper.emit(`slideNextTransition${step}`):swiper.emit(`slidePrevTransition${step}`)}}function transitionStart(runCallbacks,direction){void 0===runCallbacks&&(runCallbacks=!0);const swiper=this,{params:params}=swiper;params.cssMode||(params.autoHeight&&swiper.updateAutoHeight(),transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:"Start"}))}function transitionEnd(runCallbacks,direction){void 0===runCallbacks&&(runCallbacks=!0);const swiper=this,{params:params}=this;this.animating=!1,params.cssMode||(this.setTransition(0),transitionEmit({swiper:this,runCallbacks:runCallbacks,direction:direction,step:"End"}))}function slideTo(index,speed,runCallbacks,internal,initial){void 0===index&&(index=0),void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0),"string"==typeof index&&(index=parseInt(index,10));const swiper=this;let slideIndex=index;slideIndex<0&&(slideIndex=0);const{params:params,snapGrid:snapGrid,slidesGrid:slidesGrid,previousIndex:previousIndex,activeIndex:activeIndex,rtlTranslate:rtl,wrapperEl:wrapperEl,enabled:enabled}=swiper;
9755if(swiper.animating&&params.preventInteractionOnTransition||!enabled&&!internal&&!initial)return!1;const skip=Math.min(swiper.params.slidesPerGroupSkip,slideIndex);let snapIndex=skip+Math.floor((slideIndex-skip)/swiper.params.slidesPerGroup);snapIndex>=snapGrid.length&&(snapIndex=snapGrid.length-1);const translate=-snapGrid[snapIndex];if(params.normalizeSlideIndex)for(let i=0;i<slidesGrid.length;i+=1){const normalizedTranslate=-Math.floor(100*translate),normalizedGrid=Math.floor(100*slidesGrid[i]),normalizedGridNext=Math.floor(100*slidesGrid[i+1]);void 0!==slidesGrid[i+1]?normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext-(normalizedGridNext-normalizedGrid)/2?slideIndex=i:normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext&&(slideIndex=i+1):normalizedTranslate>=normalizedGrid&&(slideIndex=i)}if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&(rtl?translate>swiper.translate&&translate>swiper.minTranslate():translate<swiper.translate&&translate<swiper.minTranslate()))return!1;if(!swiper.allowSlidePrev&&translate>swiper.translate&&translate>swiper.maxTranslate()&&(activeIndex||0)!==slideIndex)return!1}let direction;if(slideIndex!==(previousIndex||0)&&runCallbacks&&swiper.emit("beforeSlideChangeStart"),swiper.updateProgress(translate),direction=slideIndex>activeIndex?"next":slideIndex<activeIndex?"prev":"reset",rtl&&-translate===swiper.translate||!rtl&&translate===swiper.translate)return swiper.updateActiveIndex(slideIndex),params.autoHeight&&swiper.updateAutoHeight(),swiper.updateSlidesClasses(),"slide"!==params.effect&&swiper.setTranslate(translate),"reset"!==direction&&(swiper.transitionStart(runCallbacks,direction),swiper.transitionEnd(runCallbacks,direction)),!1;if(params.cssMode){const isH=swiper.isHorizontal(),t=rtl?translate:-translate;if(0===speed){const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;isVirtual&&(swiper.wrapperEl.style.scrollSnapType="none",swiper._immediateVirtual=!0),isVirtual&&!swiper._cssModeVirtualInitialSet&&swiper.params.initialSlide>0?(swiper._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{wrapperEl[isH?"scrollLeft":"scrollTop"]=t})):wrapperEl[isH?"scrollLeft":"scrollTop"]=t,isVirtual&&requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType="",swiper._immediateVirtual=!1})}else{if(!swiper.support.smoothScroll)return animateCSSModeScroll({swiper:swiper,targetPosition:t,side:isH?"left":"top"}),!0;wrapperEl.scrollTo({[isH?"left":"top"]:t,behavior:"smooth"})}return!0}return swiper.setTransition(speed),swiper.setTranslate(translate),swiper.updateActiveIndex(slideIndex),swiper.updateSlidesClasses(),swiper.emit("beforeTransitionStart",speed,internal),swiper.transitionStart(runCallbacks,direction),0===speed?swiper.transitionEnd(runCallbacks,direction):swiper.animating||(swiper.animating=!0,swiper.onSlideToWrapperTransitionEnd||(swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){swiper&&!swiper.destroyed&&e.target===this&&(swiper.wrapperEl.removeEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd),swiper.onSlideToWrapperTransitionEnd=null,delete swiper.onSlideToWrapperTransitionEnd,swiper.transitionEnd(runCallbacks,direction))}),swiper.wrapperEl.addEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd)),!0}function slideToLoop(index,speed,runCallbacks,internal){if(void 0===index&&(index=0),void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0),"string"==typeof index){const indexAsNumber=parseInt(index,10);index=indexAsNumber}const swiper=this,gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;let newIndex=index;if(swiper.params.loop)if(swiper.virtual&&swiper.params.virtual.enabled)newIndex+=swiper.virtual.slidesBefore;else{let targetSlideIndex;if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;targetSlideIndex=swiper.slides.filter(slideEl=>1*slideEl.getAttribute("data-swiper-slide-index")===slideIndex)[0].column}else targetSlideIndex=swiper.getSlideIndexByData(newIndex);const cols=gridEnabled?Math.ceil(swiper.slides.length/swiper.params.grid.rows):swiper.slides.length,{centeredSlides:centeredSlides}=swiper.params;let slidesPerView=swiper.params.slidesPerView;"auto"===slidesPerView?slidesPerView=swiper.slidesPerViewDynamic():(slidesPerView=Math.ceil(parseFloat(swiper.params.slidesPerView,10)),centeredSlides&&slidesPerView%2==0&&(slidesPerView+=1));let needLoopFix=cols-targetSlideIndex<slidesPerView;if(centeredSlides&&(needLoopFix=needLoopFix||targetSlideIndex<Math.ceil(slidesPerView/2)),needLoopFix){const direction=centeredSlides?targetSlideIndex<swiper.activeIndex?"prev":"next":target
9755SlideIndex-swiper.activeIndex-1<swiper.params.slidesPerView?"next":"prev";swiper.loopFix({direction:direction,slideTo:!0,activeSlideIndex:"next"===direction?targetSlideIndex+1:targetSlideIndex-cols+1,slideRealIndex:"next"===direction?swiper.realIndex:void 0})}if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;newIndex=swiper.slides.filter(slideEl=>1*slideEl.getAttribute("data-swiper-slide-index")===slideIndex)[0].column}else newIndex=swiper.getSlideIndexByData(newIndex)}return requestAnimationFrame(()=>{swiper.slideTo(newIndex,speed,runCallbacks,internal)}),swiper}function slideNext(speed,runCallbacks,internal){void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0);const swiper=this,{enabled:enabled,params:params,animating:animating}=swiper;if(!enabled)return swiper;let perGroup=params.slidesPerGroup;"auto"===params.slidesPerView&&1===params.slidesPerGroup&&params.slidesPerGroupAuto&&(perGroup=Math.max(swiper.slidesPerViewDynamic("current",!0),1));const increment=swiper.activeIndex<params.slidesPerGroupSkip?1:perGroup,isVirtual=swiper.virtual&&params.virtual.enabled;if(params.loop){if(animating&&!isVirtual&&params.loopPreventsSliding)return!1;if(swiper.loopFix({direction:"next"}),swiper._clientLeft=swiper.wrapperEl.clientLeft,swiper.activeIndex===swiper.slides.length-1&&params.cssMode)return requestAnimationFrame(()=>{swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)}),!0}return params.rewind&&swiper.isEnd?swiper.slideTo(0,speed,runCallbacks,internal):swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)}function slidePrev(speed,runCallbacks,internal){void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0);const swiper=this,{params:params,snapGrid:snapGrid,slidesGrid:slidesGrid,rtlTranslate:rtlTranslate,enabled:enabled,animating:animating}=swiper;if(!enabled)return swiper;const isVirtual=swiper.virtual&&params.virtual.enabled;if(params.loop){if(animating&&!isVirtual&&params.loopPreventsSliding)return!1;swiper.loopFix({direction:"prev"}),swiper._clientLeft=swiper.wrapperEl.clientLeft}const translate=rtlTranslate?swiper.translate:-swiper.translate;function normalize(val){return val<0?-Math.floor(Math.abs(val)):Math.floor(val)}const normalizedTranslate=normalize(translate),normalizedSnapGrid=snapGrid.map(val=>normalize(val));let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(void 0===prevSnap&&params.cssMode){let prevSnapIndex;snapGrid.forEach((snap,snapIndex)=>{normalizedTranslate>=snap&&(prevSnapIndex=snapIndex)}),void 0!==prevSnapIndex&&(prevSnap=snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex])}let prevIndex=0;if(void 0!==prevSnap&&(prevIndex=slidesGrid.indexOf(prevSnap),prevIndex<0&&(prevIndex=swiper.activeIndex-1),"auto"===params.slidesPerView&&1===params.slidesPerGroup&&params.slidesPerGroupAuto&&(prevIndex=prevIndex-swiper.slidesPerViewDynamic("previous",!0)+1,prevIndex=Math.max(prevIndex,0))),params.rewind&&swiper.isBeginning){const lastIndex=swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1;return swiper.slideTo(lastIndex,speed,runCallbacks,internal)}return params.loop&&0===swiper.activeIndex&&params.cssMode?(requestAnimationFrame(()=>{swiper.slideTo(prevIndex,speed,runCallbacks,internal)}),!0):swiper.slideTo(prevIndex,speed,runCallbacks,internal)}function slideReset(speed,runCallbacks,internal){void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0);const swiper=this;return this.slideTo(this.activeIndex,speed,runCallbacks,internal)}function slideToClosest(speed,runCallbacks,internal,threshold){void 0===speed&&(speed=this.params.speed),void 0===runCallbacks&&(runCallbacks=!0),void 0===threshold&&(threshold=.5);const swiper=this;let index=swiper.activeIndex;const skip=Math.min(swiper.params.slidesPerGroupSkip,index),snapIndex=skip+Math.floor((index-skip)/swiper.params.slidesPerGroup),translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;if(translate>=swiper.snapGrid[snapIndex]){const currentSnap=swiper.snapGrid[snapIndex],nextSnap=swiper.snapGrid[snapIndex+1];translate-currentSnap>(nextSnap-currentSnap)*threshold&&(index+=swiper.params.slidesPerGroup)}else{const prevSnap=swiper.snapGrid[snapIndex-1],currentSnap=swiper.snapGrid[snapIndex];translate-prevSnap<=(currentSnap-prevSnap)*threshold&&(index-=swiper.params.slidesPerGroup)}return index=Math.max(index,0),index=Math.min(index,swiper.slidesGrid.length-1),swiper.slideTo(index,speed,runCallbacks,internal)}function slideToClickedSlide(){const swiper=this,{params:params,slidesEl:slidesEl}=swiper,slidesPerView="auto"===params.slidesPerView?swiper.slidesPerViewDynamic():params.slidesPerView;let slideToIndex=swiper.clickedIndex,realIndex;const slideSelector=swiper.isElement?"swiper-slide":`.${params.slideClass}`;if(params.loop){if(swiper.animating)return;realIndex=parseInt(swiper.clickedSlide.getAttribute("data-swiper-slide-index"),10),params.centeredSlides?slideToIndex<swiper.loopedSlides-slidesPerView/2||slideToIndex>swiper.slides.length-swiper.loopedSlides+slidesPerView/2?(swiper.loopFix(),slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]),nextTick(()=>{swiper.slideTo(slideToIndex)})):swiper.slideTo(slideToIndex):slideToIndex>swiper.slides.length-slidesPerView?(swiper.loopFix(),slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]),nextTick(()=>{swiper.slideTo(slideToIndex)})):swiper.slideTo(slideToIndex)}else swiper.slideTo(slideToIndex)}function loopCreate(slideRealIndex){const swiper=this,{params:params,slidesEl:slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;const initSlides=()=>{const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);
9755slides.forEach((el,index)=>{el.setAttribute("data-swiper-slide-index",index)})},gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1,slidesPerGroup=params.slidesPerGroup*(gridEnabled?params.grid.rows:1),shouldFillGroup=swiper.slides.length%slidesPerGroup!=0,shouldFillGrid=gridEnabled&&swiper.slides.length%params.grid.rows!=0,addBlankSlides=amountOfSlides=>{for(let i=0;i<amountOfSlides;i+=1){const slideEl=swiper.isElement?createElement("swiper-slide",[params.slideBlankClass]):createElement("div",[params.slideClass,params.slideBlankClass]);swiper.slidesEl.append(slideEl)}};if(shouldFillGroup){if(params.loopAddBlankSlides){const slidesToAdd=slidesPerGroup-swiper.slides.length%slidesPerGroup;addBlankSlides(slidesToAdd),swiper.recalcSlides(),swiper.updateSlides()}else showWarning("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)");initSlides()}else if(shouldFillGrid){if(params.loopAddBlankSlides){const slidesToAdd=params.grid.rows-swiper.slides.length%params.grid.rows;addBlankSlides(slidesToAdd),swiper.recalcSlides(),swiper.updateSlides()}else showWarning("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");initSlides()}else initSlides();
9755swiper.loopFix({slideRealIndex:slideRealIndex,direction:params.centeredSlides?void 0:"next"})}function loopFix(_temp){let{slideRealIndex:slideRealIndex,slideTo:slideTo=!0,direction:direction,setTranslate:setTranslate,activeSlideIndex:activeSlideIndex,byController:byController,byMousewheel:byMousewheel}=void 0===_temp?{}:_temp;const swiper=this;if(!swiper.params.loop)return;swiper.emit("beforeLoopFix");const{slides:slides,allowSlidePrev:allowSlidePrev,allowSlideNext:allowSlideNext,slidesEl:slidesEl,params:params}=swiper,{centeredSlides:centeredSlides}=params;if(swiper.allowSlidePrev=!0,swiper.allowSlideNext=!0,swiper.virtual&&params.virtual.enabled)return slideTo&&(params.centeredSlides||0!==swiper.snapIndex?params.centeredSlides&&swiper.snapIndex<params.slidesPerView?swiper.slideTo(swiper.virtual.slides.length+swiper.snapIndex,0,!1,!0):swiper.snapIndex===swiper.snapGrid.length-1&&swiper.slideTo(swiper.virtual.slidesBefore,0,!1,!0):swiper.slideTo(swiper.virtual.slides.length,0,!1,!0)),swiper.allowSlidePrev=allowSlidePrev,swiper.allowSlideNext=allowSlideNext,void swiper.emit("loopFix");let slidesPerView=params.slidesPerView;"auto"===slidesPerView?slidesPerView=swiper.slidesPerViewDynamic():(slidesPerView=Math.ceil(parseFloat(params.slidesPerView,10)),centeredSlides&&slidesPerView%2==0&&(slidesPerView+=1));const slidesPerGroup=params.slidesPerGroupAuto?slidesPerView:params.slidesPerGroup;let loopedSlides=slidesPerGroup;loopedSlides%slidesPerGroup!=0&&(loopedSlides+=slidesPerGroup-loopedSlides%slidesPerGroup),loopedSlides+=params.loopAdditionalSlides,swiper.loopedSlides=loopedSlides;const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;slides.length<slidesPerView+loopedSlides?showWarning("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"):gridEnabled&&"row"===params.grid.fill&&showWarning("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const prependSlidesIndexes=[],appendSlidesIndexes=[];let activeIndex=swiper.activeIndex;void 0===activeSlideIndex?activeSlideIndex=swiper.getSlideIndex(slides.filter(el=>el.classList.contains(params.slideActiveClass))[0]):activeIndex=activeSlideIndex;const isNext="next"===direction||!direction,isPrev="prev"===direction||!direction;let slidesPrepended=0,slidesAppended=0;const cols=gridEnabled?Math.ceil(slides.length/params.grid.rows):slides.length,activeColIndex=gridEnabled?slides[activeSlideIndex].column:activeSlideIndex,activeColIndexWithShift=activeColIndex+(centeredSlides&&void 0===setTranslate?-slidesPerView/2+.5:0);if(activeColIndexWithShift<loopedSlides){slidesPrepended=Math.max(loopedSlides-activeColIndexWithShift,slidesPerGroup);for(let i=0;i<loopedSlides-activeColIndexWithShift;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){const colIndexToPrepend=cols-index-1;for(let i=slides.length-1;i>=0;i-=1)slides[i].column===colIndexToPrepend&&prependSlidesIndexes.push(i)}else prependSlidesIndexes.push(cols-index-1)}}else if(activeColIndexWithShift+slidesPerView>cols-loopedSlides){slidesAppended=Math.max(activeColIndexWithShift-(cols-2*loopedSlides),slidesPerGroup);for(let i=0;i<slidesAppended;i+=1){const index=i-Math.floor(i/cols)*cols;gridEnabled?slides.forEach((slide,slideIndex)=>{slide.column===index&&appendSlidesIndexes.push(slideIndex)}):appendSlidesIndexes.push(index)}}if(swiper.__preventObserver__=!0,requestAnimationFrame(()=>{swiper.__preventObserver__=!1}),isPrev&&prependSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=!0,slidesEl.prepend(slides[index]),slides[index].swiperLoopMoveDOM=!1}),isNext&&appendSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=!0,slidesEl.append(slides[index]),slides[index].swiperLoopMoveDOM=!1}),swiper.recalcSlides(),"auto"===params.slidesPerView?swiper.updateSlides():gridEnabled&&(prependSlidesIndexes.length>0&&isPrev||appendSlidesIndexes.length>0&&isNext)&&swiper.slides.forEach((slide,slideIndex)=>{swiper.grid.updateSlide(slideIndex,slide,swiper.slides)}),params.watchSlidesProgress&&swiper.updateSlidesOffset(),slideTo)if(prependSlidesIndexes.length>0&&isPrev){if(void 0===slideRealIndex){const currentSlideTranslate=swiper.slidesGrid[activeIndex],newSlideTranslate=swiper.slidesGrid[activeIndex+slidesPrepended],diff=newSlideTranslate-currentSlideTranslate;byMousewheel?swiper.setTranslate(swiper.translate-diff):(swiper.slideTo(activeIndex+slidesPrepended,0,!1,!0),setTranslate&&(swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff,swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff))}else if(setTranslate){const shift=gridEnabled?prependSlidesIndexes.length/params.grid.rows:prependSlidesIndexes.length;swiper.slideTo(swiper.activeIndex+shift,0,!1,!0),swiper.touchEventsData.currentTranslate=swiper.translate}}else if(appendSlidesIndexes.length>0&&isNext)if(void 0===slideRealIndex){const currentSlideTranslate=swiper.slidesGrid[activeIndex],newSlideTranslate=swiper.slidesGrid[activeIndex-slidesAppended],diff=newSlideTranslate-currentSlideTranslate;byMousewheel?swiper.setTranslate(swiper.translate-diff):(swiper.slideTo(activeIndex-slidesAppended,0,!1,!0),setTranslate&&(swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff,swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff))}else{const shift=gridEnabled?appendSlidesIndexes.length/params.grid.rows:appendSlidesIndexes.length;swiper.slideTo(swiper.activeIndex-shift,0,!1,!0)}if(swiper.allowSlidePrev=allowSlidePrev,swiper.allowSlideNext=allowSlideNext,swiper.controller&&swiper.controller.control&&!byController){const loopParams={slideRealIndex:sli
vendor: 11,207 bytes, line 9755
9755deRealIndex,direction:direction,setTranslate:setTranslate,activeSlideIndex:activeSlideIndex,byController:!0};Array.isArray(swiper.controller.control)?swiper.controller.control.forEach(c=>{!c.destroyed&&c.params.loop&&c.loopFix({...loopParams,slideTo:c.params.slidesPerView===params.slidesPerView&&slideTo})}):swiper.controller.control instanceof swiper.constructor&&swiper.controller.control.params.loop&&swiper.controller.control.loopFix({...loopParams,slideTo:swiper.controller.control.params.slidesPerView===params.slidesPerView&&slideTo})}swiper.emit("loopFix")}function loopDestroy(){const swiper=this,{params:params,slidesEl:slidesEl}=this;if(!params.loop||this.virtual&&this.params.virtual.enabled)return;this.recalcSlides();const newSlidesOrder=[];this.slides.forEach(slideEl=>{const index=void 0===slideEl.swiperSlideIndex?1*slideEl.getAttribute("data-swiper-slide-index"):slideEl.swiperSlideIndex;newSlidesOrder[index]=slideEl}),this.slides.forEach(slideEl=>{slideEl.removeAttribute("data-swiper-slide-index")}),newSlidesOrder.forEach(slideEl=>{slidesEl.append(slideEl)}),this.recalcSlides(),this.slideTo(this.realIndex,0)}function setGrabCursor(moving){const swiper=this;if(!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode)return;const el="container"===swiper.params.touchEventsTarget?swiper.el:swiper.wrapperEl;swiper.isElement&&(swiper.__preventObserver__=!0),el.style.cursor="move",el.style.cursor=moving?"grabbing":"grab",swiper.isElement&&requestAnimationFrame(()=>{swiper.__preventObserver__=!1})}function unsetGrabCursor(){const swiper=this;swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode||(swiper.isElement&&(swiper.__preventObserver__=!0),swiper["container"===swiper.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",swiper.isElement&&requestAnimationFrame(()=>{swiper.__preventObserver__=!1}))}function closestElement(selector,base){function __closestFrom(el){if(!el||el===getDocument()||el===getWindow())return null;el.assignedSlot&&(el=el.assignedSlot);const found=el.closest(selector);return found||el.getRootNode?found||__closestFrom(el.getRootNode().host):null}return void 0===base&&(base=this),__closestFrom(base)}function preventEdgeSwipe(swiper,event,startX){const window=getWindow(),{params:params}=swiper,edgeSwipeDetection=params.edgeSwipeDetection,edgeSwipeThreshold=params.edgeSwipeThreshold;return!edgeSwipeDetection||!(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)||"prevent"===edgeSwipeDetection&&(event.preventDefault(),!0)}function onTouchStart(event){const swiper=this,document=getDocument();let e=event;e.originalEvent&&(e=e.originalEvent);const data=swiper.touchEventsData;if("pointerdown"===e.type){if(null!==data.pointerId&&data.pointerId!==e.pointerId)return;data.pointerId=e.pointerId}else"touchstart"===e.type&&1===e.targetTouches.length&&(data.touchId=e.targetTouches[0].identifier);if("touchstart"===e.type)return void preventEdgeSwipe(swiper,e,e.targetTouches[0].pageX);const{params:params,touches:touches,enabled:enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&"mouse"===e.pointerType)return;if(swiper.animating&&params.preventInteractionOnTransition)return;!swiper.animating&&params.cssMode&&params.loop&&swiper.loopFix();let targetEl=e.target;if("wrapper"===params.touchEventsTarget&&!swiper.wrapperEl.contains(targetEl))return;if("which"in e&&3===e.which)return;if("button"in e&&e.button>0)return;if(data.isTouched&&data.isMoved)return;const swipingClassHasValue=!!params.noSwipingClass&&""!==params.noSwipingClass,eventPath=e.composedPath?e.composedPath():e.path;swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath&&(targetEl=eventPath[0]);const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`,isTargetShadow=!(!e.target||!e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,targetEl):targetEl.closest(noSwipingSelector)))return void(swiper.allowClick=!0);if(params.swipeHandler&&!targetEl.closest(params.swipeHandler))return;touches.currentX=e.pageX,touches.currentY=e.pageY;const startX=touches.currentX,startY=touches.currentY;if(!preventEdgeSwipe(swiper,e,startX))return;Object.assign(data,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),touches.startX=startX,touches.startY=startY,data.touchStartTime=now(),swiper.allowClick=!0,swiper.updateSize(),swiper.swipeDirection=void 0,params.threshold>0&&(data.allowThresholdMove=!1);let preventDefault=!0;targetEl.matches(data.focusableElements)&&(preventDefault=!1,"SELECT"===targetEl.nodeName&&(data.isTouched=!1)),document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl&&document.activeElement.blur();const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&&params.touchStartPreventDefault;!params.touchStartForcePreventDefault&&!shouldPreventDefault||targetEl.isContentEditable||e.preventDefault(),params.freeMode&&params.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode&&swiper.freeMode.onTouchStart(),swiper.emit("touchStart",e)}function onTouchMove(event){const document=getDocument(),swiper=this,data=swiper.touchEventsData,{params:params,touches:touches,rtlTranslate:rtl,enabled:enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&"mouse"===event.pointerType)return;let e=event,targetTouch;if(e.originalEvent&&(e=e.originalEvent),"pointermove"===e.type){if(null!==data.touchId)return;const id=e.pointerId;if(id!==data.pointerId)return}if("touchmove"===e.type){if(targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0],!targetTouch||targetTouch.identifier!==data.touchId)return}else targetTouch=e;if(!data.isTouched)return void(data.startMoving&&data.isScrolling&&swiper.emit("touchMoveOpposite",e));const pageX=targetTouch.pageX,pageY=targetTouch.pageY;if(e.preventedByNestedSwiper)return touches.startX=pageX,void(touches.startY=pageY);if(!swiper.allowTouchMove)return e.target.matches(data.focusableElements)||(swiper.allowClick=!1),void(data.isTouched&&(Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY}),data.touchStartTime=now()));if(params.touchReleaseOnEdges&&!params.loop)if(swiper.isVertical()){if(pageY<touches.startY&&swiper.translate<=swiper.maxTranslate()||pageY>touches.startY&&swiper.translate>=swiper.minTranslate())return data.isTouched=!1,void(data.isMoved=!1)}else if(pageX<touches.startX&&swiper.translate<=swiper.maxTranslate()||pageX>touches.startX&&swiper.translate>=swiper.minTranslate())return;if(document.activeElement&&e.target===document.activeElement&&e.target.matches(data.focusableElements))return data.isMoved=!0,void(swiper.allowClick=!1);data.allowTouchCallbacks&&swiper.emit("touchMove",e),touches.previousX=touches.currentX,touches.previousY=touches.currentY,touches.currentX=pageX,touches.currentY=pageY;const diffX=touches.currentX-touches.startX,diffY=touches.currentY-touches.startY;if(swiper.params.threshold&&Math.sqrt(diffX**2+diffY**2)<swiper.params.threshold)return;if(void 0===data.isScrolling){let touchAngle;swiper.isHorizontal()&&touches.currentY===touches.startY||swiper.isVertical()&&touches.currentX===touches.startX?data.isScrolling=!1:diffX*diffX+diffY*diffY>=25&&(touchAngle=180*Math.atan2(Math.abs(diffY),Math.abs(diffX))/Math.PI,data.isScrolling=swiper.isHorizontal()?touchAngle>params.touchAngle:90-touchAngle>params.touchAngle)}if(data.isScrolling&&swiper.emit("touchMoveOpposite",e),void 0===data.startMoving&&(touches.currentX===touches.startX&&touches.currentY===touches.startY||(data.startMoving=!0)),data.isScrolling)return void(data.isTouched=!1);if(!data.startMoving)return;swiper.allowClick=!1,!params.cssMode&&e.cancelable&&e.preventDefault(),params.touchMoveStopPropagation&&!params.nested&&e.stopPropagation();let diff=swiper.isHorizontal()?diffX:diffY,touchesDiff=swiper.isHorizontal()?touches.currentX-touches.previousX:touches.currentY-touches.previousY;params.oneWayMovement&&(diff=Math.abs(diff)*(rtl?1:-1),touchesDiff=Math.abs(touchesDiff)*(rtl?1:-1)),touches.diff=diff,diff*=params.touchRatio,rtl&&(diff=-diff,touchesDiff=-touchesDiff);const prevTouchesDirection=swiper.touchesDirection;swiper.swipeDirection=diff>0?"prev":"next",swiper.touchesDirection=touchesDiff>0?"prev":"next";const isLoop=swiper.params.loop&&!params.cssMode,allowLoopFix="next"===swiper.touchesDirection&&swiper.allowSlideNext||"prev"===swiper.touchesDirection&&swiper.allowSlidePrev;if(!data.isMoved){if(isLoop&&allowLoopFix&&swiper.loopFix({direction:swiper.swipeDirection}),data.startTranslate=swiper.getTranslate(),swiper.setTransition(0),swiper.animating){const evt=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});swiper.wrapperEl.dispatchEvent(evt)}data.allowMomentumBounce=!1,!params.grabCursor||!0!==swiper.allowSlideNext&&!0!==swiper.allowSlidePrev||swiper.setGrabCursor(!0),swiper.emit("sliderFirstMove",e)}let loopFixed;if((new Date).getTime(),data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff)>=1)return Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,startTranslate:data.currentTranslate}),data.loopSwapReset=!0,void(data.startTranslate=data.currentTranslate);swiper.emit("sliderMove",e),data.isMoved=!0,data.currentTranslate=diff+data.startTranslate;let disableParentSwiper=!0,resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges&&(resistanceRatio=0),diff>0?(isLoop&&allowLoopFix&&data.allowThresholdMove&&data.currentTranslate>(params.centeredSlides?swiper.minTranslate()-swiper.slidesSizesGrid[swiper.activeIndex+1]:swiper.minTranslate())&&swiper.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),data.currentTranslate>swiper.minTranslate()&&(disableParentSwiper=!1,params.resistance&&(data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+data.startTranslate+diff)**resistanceRatio))):diff<0&&(isLoop&&allowLoopFix&&data.allowThresholdMove&&data.currentTranslate<(params.centeredSlides?swiper.maxTranslate()+swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]:swiper.maxTranslate())&&swiper.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:swiper.slides.length-("auto"===params.slidesPerView?swiper.slidesPerViewDynamic():Math.ceil(parseFloat(params.slidesPerView,10)))}),data.currentTranslate<swiper.maxTranslate()&&(disableParentSwiper=!1,params.resistance&&(data.currentTranslate=swiper.maxTranslate()+1-(swiper.maxTranslate()-data.startTranslate-diff)**resistanceRatio))),disableParentSwiper&&(e.preventedByNestedSwiper=!0),!swiper.allowSlideNext&&"next"===swiper.swipeDirection&&data.currentTranslate<data.startTranslate&&(data.currentTranslate=data.startTranslate),!swiper.allowSlidePrev&&"prev"===swiper.swipeDirection&&data.currentTranslate>data.startTranslate&&(data.currentTranslate=data.startTranslate),swiper.allowSlidePrev||swiper.allowSlideNext||(data.currentTranslate=data.startTranslate),params.threshold>0){if(!(Math.abs(diff)>params.threshold||data.allowThresholdMove))return void(data.currentTranslate=data.startTranslate);
9755if(!data.allowThresholdMove)return data.allowThresholdMove=!0,touches.startX=touches.currentX,touches.startY=touches.currentY,data.currentTranslate=data.startTranslate,void(touches.diff=swiper.isHorizontal()?touches.currentX-touches.startX:touches.currentY-touches.startY)}params.followFinger&&!params.cssMode&&((params.freeMode&&params.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress)&&(swiper.updateActiveIndex(),swiper.updateSlidesClasses()),params.freeMode&&params.freeMode.enabled&&swiper.freeMode&&swiper.freeMode.onTouchMove(),swiper.updateProgress(data.currentTranslate),swiper.setTranslate(data.currentTranslate))}function onTouchEnd(event){const swiper=this,data=swiper.touchEventsData;let e=event,targetTouch;e.originalEvent&&(e=e.originalEvent);const isTouchEvent="touchend"===e.type||"touchcancel"===e.type;if(isTouchEvent){if(targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0],!targetTouch||targetTouch.identifier!==data.touchId)return}else{if(null!==data.touchId)return;if(e.pointerId!==data.pointerId)return;targetTouch=e}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(e.type)){const proceed=["pointercancel","contextmenu"].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView);if(!proceed)return}data.pointerId=null,data.touchId=null;const{params:params,touches:touches,rtlTranslate:rtl,slidesGrid:slidesGrid,enabled:enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&"mouse"===e.pointerType)return;if(data.allowTouchCallbacks&&swiper.emit("touchEnd",e),data.allowTouchCallbacks=!1,!data.isTouched)return data.isMoved&&params.grabCursor&&swiper.setGrabCursor(!1),data.isMoved=!1,void(data.startMoving=!1);params.grabCursor&&data.isMoved&&data.isTouched&&(!0===swiper.allowSlideNext||!0===swiper.allowSlidePrev)&&swiper.setGrabCursor(!1);const touchEndTime=now(),timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){const pathTree=e.path||e.composedPath&&e.composedPath();swiper.updateClickedSlide(pathTree&&pathTree[0]||e.target,pathTree),swiper.emit("tap click",e),timeDiff<300&&touchEndTime-data.lastClickTime<300&&swiper.emit("doubleTap doubleClick",e)}if(data.lastClickTime=now(),nextTick(()=>{swiper.destroyed||(swiper.allowClick=!0)}),!data.isTouched||!data.isMoved||!swiper.swipeDirection||0===touches.diff&&!data.loopSwapReset||data.currentTranslate===data.startTranslate&&!data.loopSwapReset)return data.isTouched=!1,data.isMoved=!1,void(data.startMoving=!1);let currentPos;if(data.isTouched=!1,data.isMoved=!1,data.startMoving=!1,currentPos=params.followFinger?rtl?swiper.translate:-swiper.translate:-data.currentTranslate,params.cssMode)return;if(params.freeMode&&params.freeMode.enabled)return void swiper.freeMode.onTouchEnd({currentPos:currentPos});const swipeToLast=currentPos>=-swiper.maxTranslate()&&!swiper.params.loop;let stopIndex=0,groupSize=swiper.slidesSizesGrid[0];for(let i=0;i<slidesGrid.length;i+=i<params.slidesPerGroupSkip?1:params.slidesPerGroup){const increment=i<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;void 0!==slidesGrid[i+increment]?(swipeToLast||currentPos>=slidesGrid[i]&&currentPos<slidesGrid[i+increment])&&(stopIndex=i,groupSize=slidesGrid[i+increment]-slidesGrid[i]):(swipeToLast||currentPos>=slidesGrid[i])&&(stopIndex=i,groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2])}let rewindFirstIndex=null,rewindLastIndex=null;params.rewind&&(swiper.isBeginning?rewindLastIndex=params.virtual&&params.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1:swiper.isEnd&&(rewindFirstIndex=0));const ratio=(currentPos-slidesGrid[stopIndex])/groupSize,increment=stopIndex<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(timeDiff>params.longSwipesMs){if(!params.longSwipes)return void swiper.slideTo(swiper.activeIndex);"next"===swiper.swipeDirection&&(ratio>=params.longSwipesRatio?swiper.slideTo(params.rewind&&swiper.isEnd?rewindFirstIndex:stopIndex+increment):swiper.slideTo(stopIndex)),"prev"===swiper.swipeDirection&&(ratio>1-params.longSwipesRatio?swiper.slideTo(stopIndex+increment):null!==rewindLastIndex&&ratio<0&&Math.abs(ratio)>params.longSwipesRatio?swiper.slideTo(rewindLastIndex):swiper.slideTo(stopIndex))}else{if(!params.shortSwipes)return void swiper.slideTo(swiper.activeIndex);const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);isNavButtonTarget?e.target===swiper.navigation.nextEl?swiper.slideTo(stopIndex+increment):swiper.slideTo(stopIndex):("next"===swiper.swipeDirection&&swiper.slideTo(null!==rewindFirstIndex?rewindFirstIndex:stopIndex+increment),"prev"===swiper.swipeDirection&&swiper.slideTo(null!==rewindLastIndex?rewindLastIndex:stopIndex))}}function onResize(){const swiper=this,{params:params,el:el}=swiper;if(el&&0===el.offsetWidth)return;params.breakpoints&&swiper.setBreakpoint();const{allowSlideNext:allowSlideNext,allowSlidePrev:allowSlidePrev,snapGrid:snapGrid}
9755=swiper,isVirtual=swiper.virtual&&swiper.params.virtual.enabled;swiper.allowSlideNext=!0,swiper.allowSlidePrev=!0,swiper.updateSize(),swiper.updateSlides(),swiper.updateSlidesClasses();const isVirtualLoop=isVirtual&&params.loop;!("auto"===params.slidesPerView||params.slidesPerView>1)||!swiper.isEnd||swiper.isBeginning||swiper.params.centeredSlides||isVirtualLoop?swiper.params.loop&&!isVirtual?swiper.slideToLoop(swiper.realIndex,0,!1,!0):swiper.slideTo(swiper.activeIndex,0,!1,!0):swiper.slideTo(swiper.slides.length-1,0,!1,!0),swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused&&(clearTimeout(swiper.autoplay.resizeTimeout),swiper.autoplay.resizeTimeout=setTimeout(()=>{swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused&&swiper.autoplay.resume()},500)),swiper.allowSlidePrev=allowSlidePrev,swiper.allowSlideNext=allowSlideNext,swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid&&swiper.checkOverflow()}function onClick(e){const swiper=this;swiper.enabled&&(swiper.allowClick||(swiper.params.preventClicks&&e.preventDefault(),swiper.params.preventClicksPropagation&&swiper.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function onScroll(){const swiper=this,{wrapperEl:wrapperEl,rtlTranslate:rtlTranslate,enabled:enabled}=swiper;if(!enabled)return;let newProgress;swiper.previousTranslate=swiper.translate,swiper.isHorizontal()?swiper.translate=-wrapperEl.scrollLeft:swiper.translate=-wrapperEl.scrollTop,0===swiper.translate&&(swiper.translate=0),swiper.updateActiveIndex(),swiper.updateSlidesClasses();const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();newProgress=0===translatesDiff?0:(swiper.translate-swiper.minTranslate())/translatesDiff,newProgress!==swiper.progress&&swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate),swiper.emit("setTranslate",swiper.translate,!1)}function onLoad(e){const swiper=this;processLazyPreloader(this,e.target),this.params.cssMode||"auto"!==this.params.slidesPerView&&!this.params.autoHeight||this.update()}function onDocumentTouchStart(){const swiper=this;swiper.documentTouchHandlerProceeded||(swiper.documentTouchHandlerProceeded=!0,swiper.params.touchReleaseOnEdges&&(swiper.el.style.touchAction="auto"))}const events=(swiper,method)=>{const document=getDocument(),{params:params,el:el,wrapperEl:wrapperEl,device:device}=swiper,capture=!!params.nested,domMethod="on"===method?"addEventListener":"removeEventListener",swiperMethod=method;document[domMethod]("touchstart",swiper.onDocumentTouchStart,{passive:!1,capture:capture}),el[domMethod]("touchstart",swiper.onTouchStart,{passive:!1}),el[domMethod]("pointerdown",swiper.onTouchStart,{passive:!1}),document[domMethod]("touchmove",swiper.onTouchMove,{passive:!1,capture:capture}),document[domMethod]("pointermove",swiper.onTouchMove,{passive:!1,capture:capture}),document[domMethod]("touchend",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointerup",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointercancel",swiper.onTouchEnd,{passive:!0}),document[domMethod]("touchcancel",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointerout",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointerleave",swiper.onTouchEnd,{passive:!0}),document[domMethod]("contextmenu",swiper.onTouchEnd,{passive:!0}),(params.preventClicks||params.preventClicksPropagation)&&el[domMethod]("click",swiper.onClick,!0),params.cssMode&&wrapperEl[domMethod]("scroll",swiper.onScroll),params.updateOnWindowResize?swiper[swiperMethod](device.ios||device.android?"resize orientationchange observerUpdate":"resize observerUpdate",onResize,!0):swiper[swiperMethod]("observerUpdate",onResize,!0),el[domMethod]("load",swiper.onLoad,{capture:!0})};function attachEvents(){const swiper=this,{params:params}=swiper;swiper.onTouchStart=onTouchStart.bind(swiper),swiper.onTouchMove=onTouchMove.bind(swiper),swiper.onTouchEnd=onTouchEnd.bind(swiper),swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper),params.cssMode&&(swiper.onScroll=onScroll.bind(swiper)),swiper.onClick=onClick.bind(swiper),swiper.onLoad=onLoad.bind(swiper),events(swiper,"on")}function detachEvents(){const swiper=this;events(this,"off")}var events$1;const isGridEnabled=(swiper,params)=>swiper.grid&&params.grid&&params.grid.rows>1;function setBreakpoint(){const swiper=this,{realIndex:realIndex,initialized:initialized,params:params,el:el}=swiper,breakpoints=params.breakpoints;if(!breakpoints||breakpoints&&0===Object.keys(breakpoints).length)return;
9755const breakpoint=swiper.getBreakpoint(breakpoints,swiper.params.breakpointsBase,swiper.el);if(!breakpoint||swiper.currentBreakpoint===breakpoint)return;const breakpointOnlyParams=breakpoint in breakpoints?breakpoints[breakpoint]:void 0,breakpointParams=breakpointOnlyParams||swiper.originalParams,wasMultiRow=isGridEnabled(swiper,params),isMultiRow=isGridEnabled(swiper,breakpointParams),wasEnabled=params.enabled;wasMultiRow&&!isMultiRow?(el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`),swiper.emitContainerClasses()):!wasMultiRow&&isMultiRow&&(el.classList.add(`${params.containerModifierClass}grid`),(breakpointParams.grid.fill&&"column"===breakpointParams.grid.fill||!breakpointParams.grid.fill&&"column"===params.grid.fill)&&el.classList.add(`${params.containerModifierClass}grid-column`),swiper.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach(prop=>{if(void 0===breakpointParams[prop])return;const wasModuleEnabled=params[prop]&&params[prop].enabled,isModuleEnabled=breakpointParams[prop]&&breakpointParams[prop].enabled;wasModuleEnabled&&!isModuleEnabled&&swiper[prop].disable(),!wasModuleEnabled&&isModuleEnabled&&swiper[prop].enable()});const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction,needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged),wasLoop=params.loop;directionChanged&&initialized&&swiper.changeDirection(),extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled,hasLoop=swiper.params.loop;Object.assign(swiper,{allowTouchMove:swiper.params.allowTouchMove,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev}),wasEnabled&&!isEnabled?swiper.disable():!wasEnabled&&isEnabled&&swiper.enable(),swiper.currentBreakpoint=breakpoint,swiper.emit("_beforeBreakpoint",breakpointParams),initialized&&(needsReLoop?(swiper.loopDestroy(),swiper.loopCreate(realIndex),swiper.updateSlides()):!wasLoop&&hasLoop?(swiper.loopCreate(realIndex),swiper.updateSlides()):wasLoop&&!hasLoop&&swiper.loopDestroy()),swiper.emit("breakpoint",breakpointParams)}function getBreakpoint(breakpoints,base,containerEl){if(void 0===base&&(base="window"),!breakpoints||"container"===base&&!containerEl)return;let breakpoint=!1;const window=getWindow(),currentHeight="window"===base?window.innerHeight:containerEl.clientHeight,points=Object.keys(breakpoints).map(point=>{if("string"==typeof point&&0===point.indexOf("@")){const minRatio=parseFloat(point.substr(1)),value=currentHeight*minRatio;return{value:value,point:point}}return{value:point,point:point}});points.sort((a,b)=>
9755parseInt(a.value,10)-parseInt(b.value,10));for(let i=0;i<points.length;i+=1){const{point:point,value:value}=points[i];"window"===base?window.matchMedia(`(min-width: ${value}px)`).matches&&(breakpoint=point):value<=containerEl.clientWidth&&(breakpoint=point)}return breakpoint||"max"}var breakpoints,classes;function prepareClasses(entries,prefix){const resultClasses=[];return entries.forEach(item=>{"object"==typeof item?Object.keys(item).forEach(classNames=>{item[classNames]&&resultClasses.push(prefix+classNames)}):"string"==typeof item&&resultClasses.push(prefix+item)}),resultClasses}function addClasses(){const swiper=this,{classNames:classNames,params:params,rtl:rtl,el:el,device:device}=this,suffixes=prepareClasses(["initialized",params.direction,{"free-mode":this.params.freeMode&&params.freeMode.enabled},{autoheight:params.autoHeight},{rtl:rtl},{grid:params.grid&&params.grid.rows>1},{"grid-column":params.grid&&params.grid.rows>1&&"column"===params.grid.fill},{android:device.android},{ios:device.ios},{"css-mode":params.cssMode},{centered:params.cssMode&&params.centeredSlides},{"watch-progress":params.watchSlidesProgress}],params.containerModifierClass);classNames.push(...suffixes),el.classList.add(...classNames),this.emitContainerClasses()}function removeClasses(){const swiper=this,{el:el,classNames:classNames}=this;el.classList.remove(...classNames),this.emitContainerClasses()}function checkOverflow(){const swiper=this,{isLocked:wasLocked,params:params}=swiper,{slidesOffsetBefore:slidesOffsetBefore}=params;if(slidesOffsetBefore){const lastSlideIndex=swiper.slides.length-1,lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex]+swiper.slidesSizesGrid[lastSlideIndex]+2*slidesOffsetBefore;swiper.isLocked=swiper.size>lastSlideRightEdge}else swiper.isLocked=1===swiper.snapGrid.length;!0===params.allowSlideNext&&(swiper.allowSlideNext=!swiper.isLocked),!0===params.allowSlidePrev&&(swiper.allowSlidePrev=!swiper.isLocked),wasLocked&&wasLocked!==swiper.isLocked&&(swiper.isEnd=!1),wasLocked!==swiper.isLocked&&swiper.emit(swiper.isLocked?"lock":"unlock")}var checkOverflow$1,defaults={init:!0,direction:"horizontal",oneWayMovement:!1,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",spaceBetween: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 moduleExtendParams(params,allModulesParams){return function extendParams(obj){void 0===obj&&(obj={});const moduleParamName=Object.keys(obj)[0],moduleParams=obj[moduleParamName];"object"==typeof moduleParams&&null!==moduleParams?(!0===params[moduleParamName]&&(params[moduleParamName]={enabled:!0}),"navigation"===moduleParamName&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl&&(params[moduleParamName].auto=!0),["pagination","scrollbar"].indexOf(moduleParamName)>=0&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].el&&(params[moduleParamName].auto=!0),moduleParamName in params&&"enabled"in moduleParams?("object"!=typeof params[moduleParamName]||"enabled"in params[moduleParamName]||(params[moduleParamName].enabled=!0),params[moduleParamName]||(params[moduleParamName]={enabled:!1}),extend(allModulesParams,obj)):extend(allModulesParams,obj)):extend(allModulesParams,obj)}}const prototypes={eventsEmitter:eventsEmitter,update:{updateSize:updateSize,updateSlides:updateSlides,updateAutoHeight:updateAutoHeight,updateSlidesOffset:updateSlidesOffset,updateSlidesProgress:updateSlidesProgress,updateProgress:updateProgress,updateSlidesClasses:updateSlidesClasses,updateActiveIndex:updateActiveIndex,updateClickedSlide:updateClickedSlide},translate:{getTranslate:getSwiperTranslate,setTranslate:setTranslate,minTranslate:minTranslate,maxTranslate:maxTranslate,translateTo:translateTo},transition:{setTransition:setTransition,transitionStart:transitionStart,transitionEnd:transitionEnd},slide:{slideTo:slideTo,slideToLoop:slideToLoop,slideNext:slideNext,slidePrev:slidePrev,slideReset:slideReset,slideToClosest:slideToClosest,slideToClickedSlide:slideToClickedSlide},loop:{loopCreate:loopCreate,loopFix:loopFix,loopDestroy:loopDestroy},grabCursor:{setGrabCursor:setGrabCursor,unsetGrabCursor:unsetGrabCursor},events:{attachEvents:attachEvents,detachEvents:detachEvents}
9755,breakpoints:{setBreakpoint:setBreakpoint,getBreakpoint:getBreakpoint},checkOverflow:{checkOverflow:checkOverflow},classes:{addClasses:addClasses,removeClasses:removeClasses}},extendedDefaults={};class Swiper{constructor(){let el,params;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];1===args.length&&args[0].constructor&&"Object"===Object.prototype.toString.call(args[0]).slice(8,-1)?params=args[0]:[el,params]=args,params||(params={}),params=extend({},params),el&&!params.el&&(params.el=el);const document=getDocument();if(params.el&&"string"==typeof params.el&&document.querySelectorAll(params.el).length>1){const swipers=[];return document.querySelectorAll(params.el).forEach(containerEl=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))}),swipers}const swiper=this;swiper.__swiper__=!0,swiper.support=getSupport(),swiper.device=getDevice({userAgent:params.userAgent}),swiper.browser=getBrowser(),swiper.eventsListeners={},swiper.eventsAnyListeners=[],swiper.modules=[...swiper.__modules__],params.modules&&Array.isArray(params.modules)&&swiper.modules.push(...params.modules);const allModulesParams={};swiper.modules.forEach(mod=>{mod({params:params,swiper:swiper,extendParams:moduleExtendParams(params,allModulesParams),on:swiper.on.bind(swiper),once:swiper.once.bind(swiper),off:swiper.off.bind(swiper),emit:swiper.emit.bind(swiper)})});const swiperParams=extend({},defaults,allModulesParams);return swiper.params=extend({},swiperParams,extendedDefaults,params),swiper.originalParams=extend({},swiper.params),swiper.passedParams=extend({},params),swiper.params&&swiper.params.on&&Object.keys(swiper.params.on).forEac
9755h(eventName=>{swiper.on(eventName,swiper.params.on[eventName])}),swiper.params&&swiper.params.onAny&&swiper.onAny(swiper.params.onAny),Object.assign(swiper,{enabled:swiper.params.enabled,el:el,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===swiper.params.direction,isVertical:()=>"vertical"===swiper.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:swiper.params.allowSlideNext,allowSlidePrev:swiper.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:swiper.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:swiper.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),swiper.emit("_swiper"),swiper.params.init&&swiper.init(),swiper}getDirectionLabel(property){return this.isHorizontal()?property:{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"}[property]}getSlideIndex(slideEl){const{slidesEl:slidesEl,params:params}=this,slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`),firstSlideIndex=elementIndex(slides[0]);return elementIndex(slideEl)-firstSlideIndex}getSlideIndexByData(index){return this.getSlideIndex(this.slides.filter(slideEl=>1*slideEl.getAttribute("data-swiper-slide-index")===index)[0])}recalcSlides(){const swiper=this,{slidesEl:slidesEl,params:params}=this;this.slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)}enable(){const swiper=this;swiper.enabled||(swiper.enabled=!0,swiper.params.grabCursor&&swiper.setGrabCursor(),swiper.emit("enable"))}disable(){const swiper=this;swiper.enabled&&(swiper.enabled=!1,swiper.params.grabCursor&&swiper.unsetGrabCursor(),swiper.emit("disable"))}setProgress(progress,speed){const swiper=this;progress=Math.min(Math.max(progress,0),1);const min=this.minTranslate(),max=this.maxTranslate(),current=(max-min)*progress+min;this.translateTo(current,void 0===speed?0:speed),this.updateActiveIndex(),this.updateSlidesClasses()}emitContainerClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const cls=swiper.el.className.split(" ").filter(className=>0===className.indexOf("swiper")||0===className.indexOf(swiper.params.containerModifierClass));swiper.emit("_containerClasses",cls.join(" "))}getSlideClasses(slideEl){const swiper=this;return swiper.destroyed?"":slideEl.className.split(" ").filter(className=>0===className.indexOf("swiper-slide")||0===className.indexOf(swiper.params.slideClass)).join(" ")}emitSlidesClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const updates=[];
9755swiper.slides.forEach(slideEl=>{const classNames=swiper.getSlideClasses(slideEl);updates.push({slideEl:slideEl,classNames:classNames}),swiper.emit("_slideClass",slideEl,classNames)}),swiper.emit("_slideClasses",updates)}slidesPerViewDynamic(view,exact){void 0===view&&(view="current"),void 0===exact&&(exact=!1);const swiper=this,{params:params,slides:slides,slidesGrid:slidesGrid,slidesSizesGrid:slidesSizesGrid,size:swiperSize,activeIndex:activeIndex}=this;let spv=1;if("number"==typeof params.slidesPerView)return params.slidesPerView;if(params.centeredSlides){let slideSize=slides[activeIndex]?slides[activeIndex].swiperSlideSize:0,breakLoop;for(let i=activeIndex+1;i<slides.length;i+=1)slides[i]&&!breakLoop&&(slideSize+=slides[i].swiperSlideSize,spv+=1,slideSize>swiperSize&&(breakLoop=!0));for(let i=activeIndex-1;i>=0;i-=1)slides[i]&&!breakLoop&&(slideSize+=slides[i].swiperSlideSize,spv+=1,slideSize>swiperSize&&(breakLoop=!0))}else if("current"===view)for(let i=activeIndex+1;i<slides.length;i+=1){const slideInView=exact?slidesGrid[i]+slidesSizesGrid[i]-slidesGrid[activeIndex]<swiperSize:slidesGrid[i]-slidesGrid[activeIndex]<swiperSize;slideInView&&(spv+=1)}else for(let i=activeIndex-1;i>=0;i-=1){const slideInView=slidesGrid[activeIndex]-slidesGrid[i]<swiperSize;slideInView&&(spv+=1)}return spv}update(){const swiper=this;if(!swiper||swiper.destroyed)return;const{snapGrid:snapGrid,params:params}=swiper;function setTranslate(){const translateValue=swiper.rtlTranslate?-1*swiper.translate:swiper.translate,newTranslate=Math.min(Math.max(translateValue,swiper.maxTranslate()),swiper.minTranslate());swiper.setTranslate(newTranslate),swiper.updateActiveIndex(),swiper.updateSlidesClasses()}let translated;if(params.breakpoints&&swiper.setBreakpoint(),[...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl=>{imageEl.complete&&processLazyPreloader(swiper,imageEl)}),swiper.updateSize(),swiper.updateSlides(),swiper.updateProgress(),swiper.updateSlidesClasses(),params.freeMode&&params.freeMode.enabled&&!params.cssMode)setTranslate(),params.autoHeight&&swiper.updateAutoHeight();else{if(("auto"===params.slidesPerView||params.slidesPerView>1)&&swiper.isEnd&&!params.centeredSlides){const slides=swiper.virtual&&params.virtual.enabled?swiper.virtual.slides:swiper.slides;translated=swiper.slideTo(slides.length-1,0,!1,!0)}else translated=swiper.slideTo(swiper.activeIndex,0,!1,!0);translated||setTranslate()}params.watchOverflow&&snapGrid!==swiper.snapGrid&&swiper.checkOverflow(),swiper.emit("update")}changeDirection(newDirection,needUpdate){void 0===needUpdate&&(needUpdate=!0);const swiper=this,currentDirection=swiper.params.direction;return newDirection||(newDirection="horizontal"===currentDirection?"vertical":"horizontal"),newDirection===currentDirection||"horizontal"!==newDirection&&"vertical"!==newDirection?swiper:(swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`),swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`),swiper.emitContainerClasses(),swiper.params.direction=newDirection,swiper.slides.forEach(sli
9755deEl=>{"vertical"===newDirection?slideEl.style.width="":slideEl.style.height=""}),swiper.emit("changeDirection"),needUpdate&&swiper.update(),swiper)}changeLanguageDirection(direction){const swiper=this;swiper.rtl&&"rtl"===direction||!swiper.rtl&&"ltr"===direction||(swiper.rtl="rtl"===direction,swiper.rtlTranslate="horizontal"===swiper.params.direction&&swiper.rtl,swiper.rtl?(swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`),swiper.el.dir="rtl"):(swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`),swiper.el.dir="ltr"),swiper.update())}mount(element){const swiper=this;if(swiper.mounted)return!0;let el=element||swiper.params.el;if("string"==typeof el&&(el=document.querySelector(el)),!el)return!1;el.swiper=swiper,el.parentNode&&el.parentNode.host&&"SWIPER-CONTAINER"===el.parentNode.host.nodeName&&(swiper.isElement=!0);const getWrapperSelector=()=>`.${(swiper.params.wrapperClass||"").trim().split(" ").join(".")}`,getWrapper=()=>{if(el&&el.shadowRoot&&el.shadowRoot.querySelector){const res=el.shadowRoot.querySelector(getWrapperSelector());return res}return elementChildren(el,getWrapperSelector())[0]};let wrapperEl=getWrapper();return!wrapperEl&&swiper.params.createElements&&(wrapperEl=createElement("div",swiper.params.wrapperClass),el.append(wrapperEl),elementChildren(el,`.${swiper.params.slideClass}
9755`).forEach(slideEl=>{wrapperEl.append(slideEl)})),Object.assign(swiper,{el:el,wrapperEl:wrapperEl,slidesEl:swiper.isElement&&!el.parentNode.host.slideSlots?el.parentNode.host:wrapperEl,hostEl:swiper.isElement?el.parentNode.host:el,mounted:!0,rtl:"rtl"===el.dir.toLowerCase()||"rtl"===elementStyle(el,"direction"),rtlTranslate:"horizontal"===swiper.params.direction&&("rtl"===el.dir.toLowerCase()||"rtl"===elementStyle(el,"direction")),wrongRTL:"-webkit-box"===elementStyle(wrapperEl,"display")}),!0}init(el){const swiper=this;if(swiper.initialized)return swiper;const mounted=swiper.mount(el);if(!1===mounted)return swiper;swiper.emit("beforeInit"),swiper.params.breakpoints&&swiper.setBreakpoint(),swiper.addClasses(),swiper.updateSize(),swiper.updateSlides(),swiper.params.watchOverflow&&swiper.checkOverflow(),swiper.params.grabCursor&&swiper.enabled&&swiper.setGrabCursor(),swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled?swiper.slideTo(swiper.params.initialSlide+swiper.virtual.slidesBefore,0,swiper.params.runCallbacksOnInit,!1,!0):swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,!1,!0),swiper.params.loop&&swiper.loopCreate(),swiper.attachEvents();const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]')];return swiper.isElement&&lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')),lazyElements.forEach(imageEl=>{imageEl.complete?processLazyPreloader(swiper,imageEl):imageEl.addEventListener("load",e=>{processLazyPreloader(swiper,e.target)})}),preload(swiper),swiper.initialized=!0,preload(swiper),swiper.emit("init"),swiper.emit("afterInit"),swiper}destroy(deleteInstance,cleanStyles){void 0===deleteInstance&&(deleteInstance=!0),void 0===cleanStyles&&(cleanStyles=!0);const swiper=this,{params:params,el:el,wrapperEl:wrapperEl,slides:slides}=swiper;return void 0===swiper.params||swiper.destroyed?null:(swiper.emit("beforeDestroy"),swiper.initialized=!1,swiper.detachEvents(),params.loop&&swiper.loopDestroy(),cleanStyles&&(swiper.removeClasses(),el.removeAttribute("style"),wrapperEl.removeAttribute("style"),slides&&slides.length&&slides.forEach(sli
9755deEl=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass),slideEl.removeAttribute("style"),slideEl.removeAttribute("data-swiper-slide-index")})),swiper.emit("destroy"),Object.keys(swiper.eventsListeners).forEach(eventName=>{swiper.off(eventName)}),!1!==deleteInstance&&(swiper.el.swiper=null,deleteProps(swiper)),swiper.destroyed=!0,null)}static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)}static get extendedDefaults(){return extendedDefaults}static get defaults(){return defaults}static installModule(mod){Swiper.prototype.__modules__||(Swiper.prototype.__modules__=[]);const modules=Swiper.prototype.__modules__;"function"==typeof mod&&modules.indexOf(mod)<0&&modules.push(mod)}static use(module){return Array.isArray(module)?(module.forEach(m=>Swiper.installModule(m)),Swiper):(Swiper.installModule(module),Swiper)}}function Keyboard(_ref){let{swiper:swiper,extendParams:extendParams,on:on,emit:emit}=_ref;const document=getDocument(),window=getWindow();function handle(event){if(!swiper.enabled)return;const{rtlTranslate:rtl}=swiper;let e=event;e.originalEvent&&(e=e.originalEvent);const kc=e.keyCode||e.charCode,pageUpDown=swiper.params.keyboard.pageUpDown,isPageUp=pageUpDown&&33===kc,isPageDown=pageUpDown&&34===kc,isArrowLeft=37===kc,isArrowRight=39===kc,isArrowUp=38===kc,isArrowDown=40===kc;if(!swiper.allowSlideNext&&(swiper.isHorizontal()&&isArrowRight||swiper.isVertical()&&isArrowDown||isPageDown))return!1;if(!swiper.allowSlidePrev&&(swiper.isHorizontal()&&isArrowLeft||swiper.isVertical()&&isArrowUp||isPageUp))return!1;if(!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey||document.activeElement&&document.activeElement.nodeName&&("input"===document.activeElement.nodeName.toLowerCase()||"textarea"===document.activeElement.nodeName.toLowerCase()))){if(swiper.params.keyboard.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){let inView=!1;if(elementParents(swiper.el,`.${swiper.params.slideClass}, swiper-slide`).length>0&&0===elementParents(swiper.el,`.${swiper.params.slideActiveClass}`).length)return;const el=swiper.el,swiperWidth=el.clientWidth,swiperHeight=el.clientHeight,windowWidth=window.innerWidth,windowHeight=window.innerHeight,swiperOffset=elementOffset(el);rtl&&(swiperOffset.left-=el.scrollLeft);const swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left+swiperWidth,swiperOffset.top],[swiperOffset.left,swiperOffset.top+swiperHeight],[swiperOffset.left+swiperWidth,swiperOffset.top+swiperHeight]];for(let i=0;i<swiperCoord.length;i+=1){const point=swiperCoord[i];if(point[0]>=0&&point[0]<=windowWidth&&point[1]>=0&&point[1]<=windowHeight){if(0===point[0]&&0===point[1])continue;inView=!0}}if(!inView)return}swiper.isHorizontal()?((isPageUp||isPageDown||isArrowLeft||isArrowRight)&&(e.preventDefault?e.preventDefault():e.returnValue=!1),((isPageDown||isArrowRight)&&!rtl||(isPageUp||isArrowLeft)&&rtl)&&swiper.slideNext(),((isPageUp||isArrowLeft)&&!rtl||(isPageDown||isArrowRight)&&rtl)&&swiper.slidePrev()):((isPageUp||isPageDown||isArrowUp||isArrowDown)&&(e.preventDefault?e.preventDefault():e.returnValue=!1),(isPageDown||isArrowDown)&&swiper.slideNext(),(isPageUp||isArrowUp)&&swiper.slidePrev()),emit("keyPress",kc)}}function enable(){swiper.keyboard.enabled||(document.addEventListener("keydown",handle),swiper.keyboard.enabled=!0)}function disable(){swiper.keyboard.enabled&&(document.removeEventListener("keydown",handle),swiper.keyboard.enabled=!1)}swiper.keyboard={enabled:!1},extendParams({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),on("init",()=>{swiper.params.keyboard.enabled&&enable()}),on("destroy",()=>{swiper.keyboard.enabled&&disable()}),Object.assign(swiper.keyboard,{enable:enable,disable:disable})}function Mousewheel(_ref){let{swiper:swiper,extendParams:extendParams,on:on,emit:emit}=_ref;const window=getWindow();let timeout;extendParams({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),swiper.mousewheel={enabled:!1};let lastScrollTime=now(),lastEventBeforeSnap;const recentWheelEvents=[];function normalize(e){const PIXEL_STEP=10,LINE_HEIGHT=40,PAGE_HEIGHT=800;let sX=0,sY=0,pX=0,pY=0;return"detail"in e&&(sY=e.detail),"wheelDelta"in e&&(sY=-e.wheelDelta/120),"wheelDeltaY"in e&&(sY=-e.wheelDeltaY/120
vendor: 4,294 bytes, line 9755
9755),"wheelDeltaX"in e&&(sX=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(sX=sY,sY=0),pX=10*sX,pY=10*sY,"deltaY"in e&&(pY=e.deltaY),"deltaX"in e&&(pX=e.deltaX),e.shiftKey&&!pX&&(pX=pY,pY=0),(pX||pY)&&e.deltaMode&&(1===e.deltaMode?(pX*=40,pY*=40):(pX*=800,pY*=800)),pX&&!sX&&(sX=pX<1?-1:1),pY&&!sY&&(sY=pY<1?-1:1),{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY}}function handleMouseEnter(){swiper.enabled&&(swiper.mouseEntered=!0)}function handleMouseLeave(){swiper.enabled&&(swiper.mouseEntered=!1)}function animateSlider(newEvent){return!(swiper.params.mousewheel.thresholdDelta&&newEvent.delta<swiper.params.mousewheel.thresholdDelta)&&(!(swiper.params.mousewheel.thresholdTime&&now()-lastScrollTime<swiper.params.mousewheel.thresholdTime)&&(newEvent.delta>=6&&now()-lastScrollTime<60||(newEvent.direction<0?swiper.isEnd&&!swiper.params.loop||swiper.animating||(swiper.slideNext(),emit("scroll",newEvent.raw)):swiper.isBeginning&&!swiper.params.loop||swiper.animating||(swiper.slidePrev(),emit("scroll",newEvent.raw)),lastScrollTime=(new window.Date).getTime(),!1)))}function releaseScroll(newEvent){const params=swiper.params.mousewheel;if(newEvent.direction<0){if(swiper.isEnd&&!swiper.params.loop&&params.releaseOnEdges)return!0}else if(swiper.isBeginning&&!swiper.params.loop&&params.releaseOnEdges)return!0;return!1}function handle(event){let e=event,disableParentSwiper=!0;if(!swiper.enabled)return;if(event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`))return;const params=swiper.params.mousewheel;swiper.params.cssMode&&e.preventDefault();let targetEl=swiper.el;"container"!==swiper.params.mousewheel.eventsTarget&&(targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget));const targetElContainsTarget=targetEl&&targetEl.contains(e.target);if(!swiper.mouseEntered&&!targetElContainsTarget&&!params.releaseOnEdges)return!0;e.originalEvent&&(e=e.originalEvent);let delta=0;const rtlFactor=swiper.rtlTranslate?-1:1,data=normalize(e);if(params.forceToAxis)if(swiper.isHorizontal()){if(!(Math.abs(data.pixelX)>Math.abs(data.pixelY)))return!0;delta=-data.pixelX*rtlFactor}else{if(!(Math.abs(data.pixelY)>Math.abs(data.pixelX)))return!0;delta=-data.pixelY}else delta=Math.abs(data.pixelX)>Math.abs(data.pixelY)?-data.pixelX*rtlFactor:-data.pixelY;if(0===delta)return!0;params.invert&&(delta=-delta);let positions=swiper.getTranslate()+delta*params.sensitivity;if(positions>=swiper.minTranslate()&&(positions=swiper.minTranslate()),positions<=swiper.maxTranslate()&&(positions=swiper.maxTranslate()),disableParentSwiper=!!swiper.params.loop||!(positions===swiper.minTranslate()||positions===swiper.maxTranslate()),disableParentSwiper&&swiper.params.nested&&e.stopPropagation(),swiper.params.freeMode&&swiper.params.freeMode.enabled){const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta)},ignoreWheelEvents=lastEventBeforeSnap&&newEvent.time<lastEventBeforeSnap.time+500&&newEvent.delta<=lastEventBeforeSnap.delta&&newEvent.direction===lastEventBeforeSnap.direction;if(!ignoreWheelEvents){lastEventBeforeSnap=void 0;let position=swiper.getTranslate()+delta*params.sensitivity;const wasBeginning=swiper.isBeginning,wasEnd=swiper.isEnd;if(position>=swiper.minTranslate()&&(position=swiper.minTranslate()),position<=swiper.maxTranslate()&&(position=swiper.maxTranslate()),swiper.setTransition(0),swiper.setTranslate(position),swiper.updateProgress(),swiper.updateActiveIndex(),swiper.updateSlidesClasses(),(!wasBeginning&&swiper.isBeginning||!wasEnd&&swiper.isEnd)&&swiper.updateSlidesClasses(),swiper.params.loop&&swiper.loopFix({direction:newEvent.direction<0?"next":"prev",byMousewheel:!0}),swiper.params.freeMode.sticky){clearTimeout(timeout),timeout=void 0,recentWheelEvents.length>=15&&recentWheelEvents.shift();const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:void 0,firstEvent=recentWheelEvents[0];if(recentWheelEvents.push(newEvent),prevEvent&&(newEvent.delta>prevEvent.delta||newEvent.direction!==prevEvent.direction))recentWheelEvents.splice(0);else if(recentWheelEvents.length>=15&&newEvent.time-firstEvent.time<500&&firstEvent.delta-newEvent.delta>=1&&newEvent.delta<=6){const snapToThreshold=delta>0?.8:.2;lastEventBeforeSnap=newEvent,recentWheelEvents.splice(0),timeout=nextTick(()=>
9755{swiper.slideToClosest(swiper.params.speed,!0,void 0,snapToThreshold)},0)}timeout||(timeout=nextTick(()=>{const snapToThreshold=.5;lastEventBeforeSnap=newEvent,recentWheelEvents.splice(0),swiper.slideToClosest(swiper.params.speed,!0,void 0,.5)},500))}if(ignoreWheelEvents||emit("scroll",e),swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction&&swiper.autoplay.stop(),params.releaseOnEdges&&(position===swiper.minTranslate()||position===swiper.maxTranslate()))return!0}}else{const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),raw:event};recentWheelEvents.length>=2&&recentWheelEvents.shift();const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:void 0;if(recentWheelEvents.push(newEvent),prevEvent?(newEvent.direction!==prevEvent.direction||newEvent.delta>prevEvent.delta||newEvent.time>prevEvent.time+150)&&animateSlider(newEvent):animateSlider(newEvent),releaseScroll(newEvent))return!0}return e.preventDefault?e.preventDefault():e.returnValue=!1,!1}function events(method){let targetEl=swiper.el;"container"!==swiper.params.mousewheel.eventsTarget&&(targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)),targetEl[method]("mouseenter",handleMouseEnter),targetEl[method]("mouseleave",handleMouseLeave),targetEl[method]("wheel",handle)}function enable(){return swiper.params.cssMode?(swiper.wrapperEl.removeEventListener("wheel",handle),!0):!swiper.mousewheel.enabled&&(events("addEventListener"),swiper.mousewheel.enabled=!0,!0)}function disable(){return swiper.params.cssMode?(swiper.wrapperEl.addEventListener(event,handle),!0):!!swiper.mousewheel.enabled&&(events("removeEventListener"),swiper.mousewheel.enabled=!1,!0)}on("init",()=>{!swiper.params.mousewheel.enabled&&swiper.params.cssMode&&disable(),swiper.params.mousewheel.enabled&&enable()}),on("destroy",()=>{swiper.params.cssMode&&enable(),swiper.mousewheel.enabled&&disable()}),Object.assign(swiper.mousewheel,{enable:enable,disable:disable})}function createElementIfNotDefined(swiper,originalParams,params,checkProps){return swiper.params.createElements&&Object.keys(checkProps).forEach(key=>{if(!params[key]&&!0===params.auto){let element=elementChildren(swiper.el,`.${checkProps[key]}`)[0];element||(element=createElement("div",checkProps[key]),element.className=checkProps[key],swiper.el.append(element)),params[key]=element,originalParams[key]=element}}),params}function Navigation(_ref){let{swiper:swiper,extendParams:extendParams,on:on,emit:emit}=_ref;extendParams({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),swiper.navigation={nextEl:null,prevEl:null};const makeElementsArray=el=>(Array.isArray(el)?el:[el]).filter(e=>!!e);function getEl(el){let res;return el&&"string"==typeof el&&swiper.isElement&&(res=swiper.el.querySelector(el),res)?res:(el&&("string"==typeof el&&(res=[...document.querySelectorAll(el)]),swiper.params.uniqueNavElements&&"string"==typeof el&&res.length>1&&1===swiper.el.querySelectorAll(el).length&&(res=swiper.el.querySelector(el))),el&&!res?el:res)}function toggleEl(el,disabled){const params=swiper.params.navigation;(el=makeElementsArray(el)).forEach(subEl=>{subEl&&(subEl.classList[disabled?"add":"remove"](...params.disabledClass.split(" ")),"BUTTON"===subEl.tagName&&(subEl.disabled=disabled),swiper.params.watchOverflow&&swiper.enabled&&subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass))})}function update(){const{nextEl:nextEl,prevEl:prevEl}=swiper.navigation;if(swiper.params.loop)return toggleEl(prevEl,!1),void toggleEl(nextEl,!1);toggleEl(prevEl,swiper.isBeginning&&!swiper.params.rewind),toggleEl(nextEl,swiper.isEnd&&!swiper.params.rewind)}function onPrevClick(e){e.preventDefault(),(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind)&&(swiper.slidePrev(),emit("navigationPrev"))}function onNextClick(e){e.preventDefault(),(!swiper.isEnd||swiper.params.loop||swiper.params.rewind)&&(swiper.slideNext(),emit("navigationNext"))}
9755function init(){const params=swiper.params.navigation;if(swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!params.nextEl&&!params.prevEl)return;let nextEl=getEl(params.nextEl),prevEl=getEl(params.prevEl);Object.assign(swiper.navigation,{nextEl:nextEl,prevEl:prevEl}),nextEl=makeElementsArray(nextEl),prevEl=makeElementsArray(prevEl);const initButton=(el,dir)=>{el&&el.addEventListener("click","next"===dir?onNextClick:onPrevClick),!swiper.enabled&&el&&el.classList.add(...params.lockClass.split(" "))};nextEl.forEach(el=>initButton(el,"next")),prevEl.forEach(el=>initButton(el,"prev"))}function destroy(){let{nextEl:nextEl,prevEl:prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl),prevEl=makeElementsArray(prevEl);const destroyButton=(el,dir)=>{el.removeEventListener("click","next"===dir?onNextClick:onPrevClick),el.classList.remove(...swiper.params.navigation.disabledClass.split(" "))};nextEl.forEach(el=>destroyButton(el,"next")),prevEl.forEach(el=>destroyButton(el,"prev"))}on("init",()=>{!1===swiper.params.navigation.enabled?disable():(init(),update())}),on("toEdge fromEdge lock unlock",()=>{update()}),on("destroy",()=>{destroy()}),on("enable disable",()=>{let{nextEl:nextEl,prevEl:prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl),prevEl=makeElementsArray(prevEl),swiper.enabled?update():[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.add(swiper.params.navigation.lockClass))}),on("click",(_s,e)=>{let{nextEl:nextEl,prevEl:prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl),prevEl=makeElementsArray(prevEl);const targetEl=e.target;if(swiper.params.navigation.hideOnClick&&!prevEl.includes(targetEl)&&!nextEl.includes(targetEl)){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl)))return;let isHidden;nextEl.length?isHidden=nextEl[0].classList.contains(swiper.params.navigation.hiddenClass):prevEl.length&&(isHidden=prevEl[0].classList.contains(swiper.params.navigation.hiddenClass)),emit(!0===isHidden?"navigationShow":"navigationHide"),[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.toggle(swiper.params.navigation.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(" ")),init(),update()},disable=()=>{swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(" ")),destroy()};Object.assign(swiper.navigation,{enable:enable,disable:disable,update:update,init:init,destroy:destroy})}function classesToSelector(classes){return void 0===classes&&(classes=""),`.${classes.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function Pagination(_ref){let{swiper:swiper,extendParams:extendParams,on:on,emit:emit}=_ref;const pfx="swiper-pagination";let bulletSize;extendParams({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:number=>number,formatFractionTotal:number=>number,bulletClass:`${pfx}-bullet`,bulletActiveClass:`${pfx}-bullet-active`,modifierClass:`${pfx}-`,currentClass:`${pfx}-current`,totalClass:`${pfx}-total`,hiddenClass:`${pfx}-hidden`,progressbarFillClass:`${pfx}-progressbar-fill`,progressbarOppositeClass:`${pfx}-progressbar-opposite`,clickableClass:`${pfx}-clickable`,lockClass:`${pfx}-lock`,horizontalClass:`${pfx}-horizontal`,verticalClass:`${pfx}-vertical`,paginationDisabledClass:`${pfx}-disabled`}}),swiper.pagination={el:null,bullets:[]};let dynamicBulletIndex=0;const makeElementsArray=el=>(Array.isArray(el)?el:[el]).filter(e=>!!e);function isPaginationDisabled(){return!swiper.params.pagination.el||!swiper.pagination.el||Array.isArray(swiper.pagination.el)&&0===swiper.pagination.el.length}function setSideBullets(bulletEl,position){const{bulletActiveClass:bulletActiveClass}=swiper.params.pagination;bulletEl&&(bulletEl=bulletEl[`${"prev"===position?"previous":"next"}ElementSibling`])&&(bulletEl.classList.add(`${bulletActiveClass}-${position}`),(bulletEl=bulletEl[`${"prev"===position?"previous":"next"}ElementSibling`])&&bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`))}function onBulletClick(e){const bulletEl=e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));if(!bulletEl)return;e.preventDefault();const index=elementIndex(bulletEl)*swiper.params.slidesPerGroup;if(swiper.params.loop){if(swiper.realIndex===index)return;swiper.slideToLoop(index)}else swiper.slideTo(index)}
9755function update(){const rtl=swiper.rtl,params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el,current,previousIndex;el=makeElementsArray(el);const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.slides.length,total=swiper.params.loop?Math.ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.loop?(previousIndex=swiper.previousRealIndex||0,current=swiper.params.slidesPerGroup>1?Math.floor(swiper.realIndex/swiper.params.slidesPerGroup):swiper.realIndex):void 0!==swiper.snapIndex?(current=swiper.snapIndex,previousIndex=swiper.previousSnapIndex):(previousIndex=swiper.previousIndex||0,current=swiper.activeIndex||0),"bullets"===params.type&&swiper.pagination.bullets&&swiper.pagination.bullets.length>0){const bullets=swiper.pagination.bullets;let firstIndex,lastIndex,midIndex;if(params.dynamicBullets&&(bulletSize=elementOuterSize(bullets[0],swiper.isHorizontal()?"width":"height",!0),el.forEach(subEl=>{subEl.style[swiper.isHorizontal()?"width":"height"]=`${bulletSize*(params.dynamicMainBullets+4)}px`}),params.dynamicMainBullets>1&&void 0!==previousIndex&&(dynamicBulletIndex+=current-(previousIndex||0),dynamicBulletIndex>params.dynamicMainBullets-1?dynamicBulletIndex=params.dynamicMainBullets-1:dynamicBulletIndex<0&&(dynamicBulletIndex=0)),firstIndex=Math.max(current-dynamicBulletIndex,0),lastIndex=firstIndex+(Math.min(bullets.length,params.dynamicMainBullets)-1),midIndex=(lastIndex+firstIndex)/2),bullets.forEach(bulletEl=>{const classesToRemove=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(suffix=>`${params.bulletActiveClass}${suffix}`)].map(s=>"string"==typeof s&&s.includes(" ")?s.split(" "):s).flat();bulletEl.classList.remove(...classesToRemove)}),el.length>1)bullets.forEach(bullet=>{const bulletIndex=elementIndex(bullet);bulletIndex===current?bullet.classList.add(...params.bulletActiveClass.split(" ")):swiper.isElement&&bullet.setAttribute("part","bullet"),params.dynamicBullets&&(bulletIndex>=firstIndex&&bulletIndex<=lastIndex&&bullet.classList.add(...`${params.bulletActiveClass}-main`.split(" ")),bulletIndex===firstIndex&&setSideBullets(bullet,"prev"),bulletIndex===lastIndex&&setSideBullets(bullet,"next"))});else{const bullet=bullets[current];if(bullet&&bullet.classList.add(...params.bulletActiveClass.split(" ")),swiper.isElement&&bullets.forEach((bulletEl,bulletIndex)=>{bulletEl.setAttribute("part",bulletIndex===current?"bullet-active":"bullet")}),params.dynamicBullets){const firstDisplayedBullet=bullets[firstIndex],lastDisplayedBullet=bullets[lastIndex];for(let i=firstIndex;i<=lastIndex;i+=1)bullets[i]&&bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(" "));setSideBullets(firstDisplayedBullet,"prev"),setSideBullets(lastDisplayedBullet,"next")}}if(params.dynamicBullets){const dynamicBulletsLength=Math.min(bullets.length,params.dynamicMainBullets+4),bulletsOffset=(bulletSize*dynamicBulletsLength-bulletSize)/2-midIndex*bulletSize,offsetProp=rtl?"right":"left";bullets.forEach(bullet=>{bullet.style[swiper.isHorizontal()?offsetProp:"top"]=`${bulletsOffset}px`})}}el.forEach((subEl,subElIndex)=>{if("fraction"===params.type&&(subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl=>{fractionEl.textContent=params.formatFractionCurrent(current+1)}),subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl=>{totalEl.textContent=params.formatFractionTotal(total)})),"progressbar"===params.type){let progressbarDirection;progressbarDirection=params.progressbarOpposite?swiper.isHorizontal()?"vertical":"horizontal":swiper.isHorizontal()?"horizontal":"vertical";const scale=(current+1)/total;let scaleX=1,scaleY=1;"horizontal"===progressbarDirection?scaleX=scale:scaleY=scale,subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl=>{progressEl.style.transform=`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`,progressEl.style.transitionDuration=`${swiper.params.speed}ms`})}"custom"===params.type&&params.renderCustom?(subEl.innerHTML=params.renderCustom(swiper,current+1,total),0===subElIndex&&emit
9755("paginationRender",subEl)):(0===subElIndex&&emit("paginationRender",subEl),emit("paginationUpdate",subEl)),swiper.params.watchOverflow&&swiper.enabled&&subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass)})}function render(){const params=swiper.params.pagination;if(isPaginationDisabled())return;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.grid&&swiper.params.grid.rows>1?swiper.slides.length/Math.ceil(swiper.params.grid.rows):swiper.slides.length;let el=swiper.pagination.el;el=makeElementsArray(el);let paginationHTML="";if("bullets"===params.type){let numberOfBullets=swiper.params.loop?Math.ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;swiper.params.freeMode&&swiper.params.freeMode.enabled&&numberOfBullets>slidesLength&&(numberOfBullets=slidesLength);for(let i=0;i<numberOfBullets;i+=1)params.renderBullet?paginationHTML+=params.renderBullet.call(swiper,i,params.bulletClass):paginationHTML+=`<${params.bulletElement} ${swiper.isElement?'part="bullet"':""} class="${params.bulletClass}"></${params.bulletElement}>`}"fraction"===params.type&&(paginationHTML=params.renderFraction?params.renderFraction.call(swiper,params.currentClass,params.totalClass):`<span class="${params.currentClass}"></span>`+" / "+`<span class="${params.totalClass}"></span>`),"progressbar"===params.type&&(paginationHTML=params.renderProgressbar?params.renderProgressbar.call(swiper,params.progressbarFillClass):`<span class="${params.progressbarFillClass}"></span>`),swiper.pagination.bullets=[],el.forEach(subEl=>{"custom"!==params.type&&(subEl.innerHTML=paginationHTML||""),"bullets"===params.type&&swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)))}),"custom"!==params.type&&emit("paginationRender",el[0])}function init(){swiper.params.pagination=createElementIfNotDefined(swiper,swiper.originalParams.pagination,swiper.params.pagination,{el:"swiper-pagination"});const params=swiper.params.pagination;if(!params.el)return;let el;"string"==typeof params.el&&swiper.isElement&&(el=swiper.el.querySelector(params.el)),el||"string"!=typeof params.el||(el=[...document.querySelectorAll(params.el)]),el||(el=params.el),el&&0!==el.length&&(swiper.params.uniqueNavElements&&"string"==typeof params.el&&Array.isArray(el)&&el.length>1&&(el=[...swiper.el.querySelectorAll(params.el)],el.length>1&&(el=el.filter(subEl=>elementParents(subEl,".swiper")[0]===swiper.el)[0])),Array.isArray(el)&&1===el.length&&(el=el[0]),Object.assign(swiper.pagination,{el:el}),el=makeElementsArray(el),el.forEach(subEl=>{"bullets"===params.type&&params.clickable&&subEl.classList.add(...(params.clickableClass||"").split(" ")),subEl.classList.add(params.modifierClass+params.type),subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass),"bullets"===params.type&&params.dynamicBullets&&(subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`),dynamicBulletIndex=0,params.dynamicMainBullets<1&&(params.dynamicMainBullets=1)),"progressbar"===params.type&&params.progressbarOpposite&&subEl.classList.add(params.progressbarOppositeClass),params.clickable&&subEl.addEventListener("click",onBulletClick),swiper.enabled||subEl.classList.add(params.lockClass)}))}function destroy(){const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;el&&(el=makeElementsArray(el),el.forEach(subEl=>{subEl.classList.remove(params.hiddenClass),subEl.classList.remove(params.modifierClass+params.type),subEl.classList.remove(swiper.isHorizontal()?params.horizontalClass:params.verticalClass),params.clickable&&(subEl.classList.remove(...(params.clickableClass||"").split(" ")),subEl.removeEventListener("click",onBulletClick))})),swiper.pagination.bullets&&swiper.pagination.bullets.forEach(subEl=>subEl.classList.remove(...params.bulletActiveClass.split(" ")))}on("changeDirection",()=>{if(!swiper.pagination||!swiper.pagination.el)return;const params=swiper.params.pagination;let{el:el}=swiper.pagination;el=makeElementsArray(el),el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass),subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})}),on("init",()=>{!1===swiper.params.pagination.enabled?disable():(init(),render(),update())}),on("activeIndexChange",()=>{void 0===swiper.snapIndex&&update()}),on("snapIndexChange",()=>
9755{update()}),on("snapGridLengthChange",()=>{render(),update()}),on("destroy",()=>{destroy()}),on("enable disable",()=>{let{el:el}=swiper.pagination;el&&(el=makeElementsArray(el),el.forEach(subEl=>subEl.classList[swiper.enabled?"remove":"add"](swiper.params.pagination.lockClass)))}),on("lock unlock",()=>{update()}),on("click",(_s,e)=>{const targetEl=e.target,el=makeElementsArray(swiper.pagination.el);if(swiper.params.pagination.el&&swiper.params.pagination.hideOnClick&&el&&el.length>0&&!targetEl.classList.contains(swiper.params.pagination.bulletClass)){if(swiper.navigation&&(swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl||swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl))return;const isHidden=el[0].classList.contains(swiper.params.pagination.hiddenClass);emit(!0===isHidden?"paginationShow":"paginationHide"),el.forEach(subEl=>subEl.classList.toggle(swiper.params.pagination.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);let{el:el}=swiper.pagination;el&&(el=makeElementsArray(el),el.forEach(subEl=>subEl.classList.remove(swiper.params.pagination.paginationDisabledClass))),init(),render(),update()},disable=()=>{swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);let{el:el}=swiper.pagination;el&&(el=makeElementsArray(el),el.forEach(subEl=>subEl.classList.add(swiper.params.pagination.paginationDisabledClass))),destroy()};Object.assign(swiper.pagination,{enable:enable,disable:disable,render:render,update:update,init:init,destroy:destroy})}function Controller(_ref){let{swiper:swiper,extendParams:extendParams,on:on}=_ref;function LinearSpline(x,y){const binarySearch=function search(){let maxIndex,minIndex,guess;return(array,val)=>{for(minIndex=-1,maxIndex=array.length;maxIndex-minIndex>1;)guess=maxIndex+minIndex>>1,array[guess]<=val?minIndex=guess:maxIndex=guess;return maxIndex}}();let i1,i3;return this.x=x,this.y=y,this.lastIndex=x.length-1,this.interpolate=function interpolate(x2){return x2?(i3=binarySearch(this.x,x2),i1=i3-1,(x2-this.x[i1])*(this.y[i3]-this.y[i1])/(this.x[i3]-this.x[i1])+this.y[i1]):0},this}function getInterpolateFunction(c){swiper.controller.spline=swiper.params.loop?new LinearSpline(swiper.slidesGrid,c.slidesGrid):new LinearSpline(swiper.snapGrid,c.snapGrid)}function setTranslate(_t,byController){const controlled=swiper.controller.control;let multiplier,controlledTranslate;const Swiper=swiper.constructor;function setControlledTranslate(c){if(c.destroyed)return;const translate=swiper.rtlTranslate?-swiper.translate:swiper.translate;"slide"===swiper.params.controller.by&&(getInterpolateFunction(c),controlledTranslate=-swiper.controller.spline.interpolate(-translate)),controlledTranslate&&"container"!==swiper.params.controller.by||(multiplier=(c.maxTranslate()-c.minTranslate())/(swiper.maxTranslate()-swiper.minTranslate()),!Number.isNaN(multiplier)&&Number.isFinite(multiplier)||(multiplier=1),controlledTranslate=(translate-swiper.minTranslate())*multiplier+c.minTranslate()),swiper.params.controller.inverse&&(controlledTranslate=c.maxTranslate()-controlledTranslate),c.updateProgress(controlledTranslate),c.setTranslate(controlledTranslate,swiper),c.updateActiveIndex(),c.updateSlidesClasses()}if(Array.isArray(controlled))for(let i=0;i<controlled.length;i+=1)controlled[i]!==byController&&controlled[i]instanceof Swiper&&setControlledTranslate(controlled[i]);else controlled instanceof Swiper&&byController!==controlled&&setControlledTranslate(controlled)}function setTransition(duration,byController){const Swiper=swiper.constructor,controlled=swiper.controller.control;let i;function setControlledTransition(c){c.destroyed||(c.setTransition(duration,swiper),0!==duration&&(c.transitionStart(),c.params.autoHeight&&nextTick(()=>{c.updateAutoHeight()}),elementTransitionEnd(c.wrapperEl,()=>{controlled&&c.transitionEnd()})))}if(Array.isArray(controlled))for(i=0;i<controlled.length;i+=1)controlled[i]!==byController&&controlled[i]instanceof Swiper&&setControlledTransition(controlled[i]);else controlled instanceof Swiper&&byController!==controlled&&setControlledTransition(controlled)}function removeSpline(){swiper.controller.control&&swiper.controller.spline&&(swiper.controller.spline=void 0,delete swiper.controller.spline)}extendParams({controller:{control:void 0,inverse:!1,by:"slide"}}),swiper.controller={control:void 0},on("beforeInit",()=>{if("undefined"!=typeof window&&("string"==typeof swiper.params.controller.control||swiper.params.controller.control instanceof HTMLElement)){const controlElement=document.querySelector(swiper.params.controller.control);if(controlElement&&controlElement.swiper)swiper.controller.control=controlElement.swiper;else if(controlElement){const onControllerSwiper=e=>
9755{swiper.controller.control=e.detail[0],swiper.update(),controlElement.removeEventListener("init",onControllerSwiper)};controlElement.addEventListener("init",onControllerSwiper)}}else swiper.controller.control=swiper.params.controller.control}),on("update",()=>{removeSpline()}),on("resize",()=>{removeSpline()}),on("observerUpdate",()=>{removeSpline()}),on("setTranslate",(_s,translate,byController)=>{swiper.controller.control&&!swiper.controller.control.destroyed&&swiper.controller.setTranslate(translate,byController)}),on("setTransition",(_s,duration,byController)=>{swiper.controller.control&&!swiper.controller.control.destroyed&&swiper.controller.setTransition(duration,byController)}),Object.assign(swiper.controller,{setTranslate:setTranslate,setTransition:setTransition})}function Autoplay(_ref){let{swiper:swiper,extendParams:extendParams,on:on,emit:emit,params:params}=_ref,timeout,raf;swiper.autoplay={running:!1,paused:!1,timeLeft:0},extendParams({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let autoplayDelayTotal=params&&params.autoplay?params.autoplay.delay:3e3,autoplayDelayCurrent=params&&params.autoplay?params.autoplay.delay:3e3,autoplayTimeLeft,autoplayStartTime=(new Date).getTime(),wasPaused,isTouched,pausedByTouch,touchStartTimeout,slideChanged,pausedByInteraction,pausedByPointerEnter;function onTransitionEnd(e){swiper&&!swiper.destroyed&&swiper.wrapperEl&&e.target===swiper.wrapperEl&&(swiper.wrapperEl.removeEventListener("transitionend",onTransitionEnd),pausedByPointerEnter||resume())}const calcTimeLeft=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;swiper.autoplay.paused?wasPaused=!0:wasPaused&&(autoplayDelayCurrent=autoplayTimeLeft,wasPaused=!1);const timeLeft=swiper.autoplay.paused?autoplayTimeLeft:autoplayStartTime+autoplayDelayCurrent-(new Date).getTime();swiper.autoplay.timeLeft=timeLeft,emit("autoplayTimeLeft",timeLeft,timeLeft/autoplayDelayTotal),raf=requestAnimationFrame(()=>{calcTimeLeft()})},getSlideDelay=()=>{let activeSlideEl;if(activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slides.filter(slideEl=>slideEl.classList.contains("swiper-slide-active"))[0]:swiper.slides[swiper.activeIndex],!activeSlideEl)return;const currentSlideDelay=parseInt(activeSlideEl.getAttribute("data-swiper-autoplay"),10);return currentSlideDelay},run=delayForce=>{if(swiper.destroyed||!swiper.autoplay.running)return;cancelAnimationFrame(raf),calcTimeLeft();let delay=void 0===delayForce?swiper.params.autoplay.delay:delayForce;autoplayDelayTotal=swiper.params.autoplay.delay,autoplayDelayCurrent=swiper.params.autoplay.delay;const currentSlideDelay=getSlideDelay();!Number.isNaN(currentSlideDelay)&&currentSlideDelay>0&&void 0===delayForce&&(delay=currentSlideDelay,autoplayDelayTotal=currentSlideDelay,autoplayDelayCurrent=currentSlideDelay),autoplayTimeLeft=delay;const speed=swiper.params.speed,proceed=()=>{swiper&&!swiper.destroyed&&(swiper.params.autoplay.reverseDirection?!swiper.isBeginning||swiper.params.loop||swiper.params.rewind?(swiper.slidePrev(speed,!0,!0),emit("autoplay")):swiper.params.autoplay.stopOnLastSlide||(swiper.slideTo(swiper.slides.length-1,speed,!0,!0),emit("autoplay")):!swiper.isEnd||swiper.params.loop||swiper.params.rewind?(swiper.slideNext(speed,!0,!0),emit("autoplay")):swiper.params.autoplay.stopOnLastSlide||(swiper.slideTo(0,speed,!0,!0),emit("autoplay")),swiper.params.cssMode&&(autoplayStartTime=(new Date).getTime(),requestAnimationFrame(()=>{run()})))};return delay>0?(clearTimeout(timeout),timeout=setTimeout(()=>{proceed()},delay)):requestAnimationFrame(()=>{proceed()}),delay},start=()=>{autoplayStartTime=(new Date).getTime(),swiper.autoplay.running=!0,run(),emit("autoplayStart")},stop=()=>{swiper.autoplay.running=!1,clearTimeout(timeout),cancelAnimationFrame(raf),emit("autoplayStop")},pause=(internal,reset)=>{if(swiper.destroyed||!swiper.autoplay.running)return;clearTimeout(timeout),internal||(pausedByInteraction=!0);const proceed=()=>{emit("autoplayPause"),swiper.params.autoplay.waitForTransition?swiper.wrapperEl.addEventListener("transitionend",onTransitionEnd):resume()};if(swiper.autoplay.paused=!0,reset)return slideChanged&&(autoplayTimeLeft=swiper.params.autoplay.delay),slideChanged=!1,void proceed();const delay=autoplayTimeLeft||swiper.params.autoplay.delay;autoplayTimeLeft=delay-((new Date).getTime()-autoplayStartTime),swiper.isEnd&&autoplayTimeLeft<0&&!swi
9755per.params.loop||(autoplayTimeLeft<0&&(autoplayTimeLeft=0),proceed())},resume=()=>{swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop||swiper.destroyed||!swiper.autoplay.running||(autoplayStartTime=(new Date).getTime(),pausedByInteraction?(pausedByInteraction=!1,run(autoplayTimeLeft)):run(),swiper.autoplay.paused=!1,emit("autoplayResume"))},onVisibilityChange=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;const document=getDocument();"hidden"===document.visibilityState&&(pausedByInteraction=!0,pause(!0)),"visible"===document.visibilityState&&resume()},onPointerEnter=e=>{"mouse"===e.pointerType&&(pausedByInteraction=!0,pausedByPointerEnter=!0,swiper.animating||swiper.autoplay.paused||pause(!0))},onPointerLeave=e=>{"mouse"===e.pointerType&&(pausedByPointerEnter=!1,swiper.autoplay.paused&&resume())},attachMouseEvents=()=>{swiper.params.autoplay.pauseOnMouseEnter&&(swiper.el.addEventListener("pointerenter",onPointerEnter),swiper.el.addEventListener("pointerleave",onPointerLeave))},detachMouseEvents=()=>{swiper.el.removeEventListener("pointerenter",onPointerEnter),swiper.el.removeEventListener("pointerleave",onPointerLeave)},attachDocumentEvents=()=>{const document=getDocument();document.addEventListener("visibilitychange",onVisibilityChange)},detachDocumentEvents=()=>{const document=getDocument();document.removeEventListener("visibilitychange",onVisibilityChange)};on("init",()=>{swiper.params.autoplay.enabled&&(attachMouseEvents(),attachDocumentEvents(),start())}),on("destroy",()=>{detachMouseEvents(),detachDocumentEvents(),swiper.autoplay.running&&stop()}),on("_freeModeStaticRelease",()=>{(pausedByTouch||pausedByInteraction)&&resume()}),on("_freeModeNoMomentumRelease",()=>{swiper.params.autoplay.disableOnInteraction?stop():pause(!0,!0)}),on("beforeTransitionStart",(_s,speed,internal)=>{!swiper.destroyed&&swiper.autoplay.running&&(internal||!swiper.params.autoplay.disableOnInteraction?pause(!0,!0):stop())}),on("sliderFirstMove",()=>{!swiper.destroyed&&swiper.autoplay.running&&(swiper.params.autoplay.disableOnInteraction?stop():(isTouched=!0,pausedByTouch=!1,pausedByInteraction=!1,touchStartTimeout=setTimeout(()=>{pausedByInteraction=!0,pausedByTouch=!0,pause(!0)},200)))}),on("touchEnd",()=>{if(!swiper.destroyed&&swiper.autoplay.running&&isTouched){if(clearTimeout(touchStartTimeout),clearTimeout(timeout),swiper.params.autoplay.disableOnInteraction)return pausedByTouch=!1,void(isTouched=!1);pausedByTouch&&swiper.params.cssMode&&resume(),pausedByTouch=!1,isTouched=!1}}),on("slideChange",()=>{!swiper.destroyed&&swiper.autoplay.running&&(slideChanged=!0)}),Object.assign(swiper.autoplay,{start:start,stop:stop,pause:pause,resume:resume})}function Thumb(_ref){let{swiper:swiper,extendParams:extendParams,on:on}=_ref;extendParams({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let initialized=!1,swiperCreated=!1;function onThumbClick(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const clickedIndex=thumbsSwiper.clickedIndex,clickedSlide=thumbsSwiper.clickedSlide;if(clickedSlide&&clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass))return;if(null==clickedIndex)return;let slideToIndex;slideToIndex=thumbsSwiper.params.loop?parseInt(thumbsSwiper.clickedSlide.getAttribute("data-swiper-slide-index"),10):clickedIndex,swiper.params.loop?swiper.slideToLoop(slideToIndex):swiper.slideTo(slideToIndex)}function init(){const{thumbs:thumbsParams}=swiper.params;if(initialized)return!1;initialized=!0;const SwiperClass=swiper.constructor;if(thumbsParams.swiper instanceof SwiperClass)swiper.thumbs.swiper=thumbsParams.swiper,Object.assign(swiper.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(swiper.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),swiper.thumbs.swiper.update();else if(isObject(thumbsParams.swiper)){const thumbsSwiperParams=Object.assign({},thumbsParams.swiper);Object.assign(thumbsSwiperParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),swiper.thumbs.swiper=new SwiperClass(thumbsSwiperParams),swiperCreated=!0}return swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass),swiper.thumbs.swiper.on("tap",onThumbClick),!0}function update(initial){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const slidesPerView="auto"===thumbsSwiper.params.slidesPerView?thumbsSwiper.slidesPerViewDynamic():thumbsSwiper.params.slidesPerView;let thumbsToActivate=1;const thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;if(swiper.params.slidesPerView>
97551&&!swiper.params.centeredSlides&&(thumbsToActivate=swiper.params.slidesPerView),swiper.params.thumbs.multipleActiveThumbs||(thumbsToActivate=1),thumbsToActivate=Math.floor(thumbsToActivate),thumbsSwiper.slides.forEach(slideEl=>slideEl.classList.remove(thumbActiveClass)),thumbsSwiper.params.loop||thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled)for(let i=0;i<thumbsToActivate;i+=1)elementChildren(thumbsSwiper.slidesEl,`[data-swiper-slide-index="${swiper.realIndex+i}"]`).forEach(slideEl=>{slideEl.classList.add(thumbActiveClass)});else for(let i=0;i<thumbsToActivate;i+=1)thumbsSwiper.slides[swiper.realIndex+i]&&thumbsSwiper.slides[swiper.realIndex+i].classList.add(thumbActiveClass);const autoScrollOffset=swiper.params.thumbs.autoScrollOffset,useOffset=autoScrollOffset&&!thumbsSwiper.params.loop;if(swiper.realIndex!==thumbsSwiper.realIndex||useOffset){const currentThumbsIndex=thumbsSwiper.activeIndex;let newThumbsIndex,direction;if(thumbsSwiper.params.loop){const newThumbsSlide=thumbsSwiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")===`${swiper.realIndex}`)[0];newThumbsIndex=thumbsSwiper.slides.indexOf(newThumbsSlide),direction=swiper.activeIndex>swiper.previousIndex?"next":"prev"}else newThumbsIndex=swiper.realIndex,direction=newThumbsIndex>swiper.previousIndex?"next":"prev";useOffset&&(newThumbsIndex+="next"===direction?autoScrollOffset:-1*autoScrollOffset),thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex)<0&&(thumbsSwiper.params.centeredSlides?newThumbsIndex=newThumbsIndex>currentThumbsIndex?newThumbsIndex-Math.floor(slidesPerView/2)+1:newThumbsIndex+Math.floor(slidesPerView/2)-1:newThumbsIndex>currentThumbsIndex&&thumbsSwiper.params.slidesPerGroup,thumbsSwiper.slideTo(newThumbsIndex,initial?0:void 0))}}swiper.thumbs={swiper:null},on("beforeInit",()=>{const{thumbs:thumbs}=swiper.params;if(thumbs&&thumbs.swiper)if("string"==typeof thumbs.swiper||thumbs.swiper instanceof HTMLElement){const document=getDocument(),getThumbsElementAndInit=()=>{const thumbsElement="string"==typeof thumbs.swiper?document.querySelector(thumbs.swiper):thumbs.swiper;if(thumbsElement&&thumbsElement.swiper)thumbs.swiper=thumbsElement.swiper,init(),update(!0);else if(thumbsElement){const onThumbsSwiper=e=>{thumbs.swiper=e.detail[0],thumbsElement.removeEventListener("init",onThumbsSwiper),init(),update(!0),thumbs.swiper.update(),swiper.update()};thumbsElement.addEventListener("init",onThumbsSwiper)}return thumbsElement},watchForThumbsToAppear=()=>{if(swiper.destroyed)return;const thumbsElement=getThumbsElementAndInit();thumbsElement||requestAnimationFrame(watchForThumbsToAppear)};requestAnimationFrame(watchForThumbsToAppear)}else init(),update(!0)}),on("slideChange update resize observerUpdate",()=>{update()}),on("setTransition",(_s,duration)=>{const thumbsSwiper=swiper.thumbs.swiper;thumbsSwiper&&!thumbsSwiper.destroyed&&thumbsSwiper.setTransition(duration)}),on("beforeDestroy",()=>{const thumbsSwiper=swiper.thumbs.swiper;thumbsSwiper&&!thumbsSwiper.destroyed&&swiperCreated&&thumbsSwiper.destroy()}),Object.assign(swiper.thumbs,{init:init,update:update})}function freeMode(_ref){let{swiper:swiper,extendParams:extendParams,emit:emit,once:once}=_ref;function onTouchStart(){if(swiper.params.cssMode)return;const translate=swiper.getTranslate();swiper.setTranslate(translate),swiper.setTransition(0),swiper.touchEventsData.velocities.length=0,swiper.freeMode.onTouchEnd({currentPos:swiper.rtl?swiper.translate:-swiper.translate})}function onTouchMove(){if(swiper.params.cssMode)return;const{touchEventsData:data,touches:touches}=swiper;0===data.velocities.length&&data.velocities.push({position:touches[swiper.isHorizontal()?"startX":"startY"],time:data.touchStartTime}),data.velocities.push({position:touches[swiper.isHorizontal()?"currentX":"currentY"],time:now()})}function onTouchEnd(_ref2){let{currentPos:currentPos}=_ref2;if(swiper.params.cssMode)return;const{params:params,wrapperEl:wrapperEl,rtlTranslate:rtl,snapGrid:snapGrid,touchEventsData:data}=swiper,touchEndTime=now(),timeDiff=touchEndTime-data.touchStartTime;if(currentPos<-swiper.minTranslate())swiper.slideTo(swiper.activeIndex);else if(currentPos>-swiper.maxTranslate())swiper.slides.length<snapGrid.length?swiper.slideTo(snapGrid.length-1):swiper.slideTo(swiper.slides.length-1);else{if(params.freeMode.momentum){if(data.velocities.length>
97551){const lastMoveEvent=data.velocities.pop(),velocityEvent=data.velocities.pop(),distance=lastMoveEvent.position-velocityEvent.position,time=lastMoveEvent.time-velocityEvent.time;swiper.velocity=distance/time,swiper.velocity/=2,Math.abs(swiper.velocity)<params.freeMode.minimumVelocity&&(swiper.velocity=0),(time>150||now()-lastMoveEvent.time>300)&&(swiper.velocity=0)}else swiper.velocity=0;swiper.velocity*=params.freeMode.momentumVelocityRatio,data.velocities.length=0;let momentumDuration=1e3*params.freeMode.momentumRatio;const momentumDistance=swiper.velocity*momentumDuration;let newPosition=swiper.translate+momentumDistance;rtl&&(newPosition=-newPosition);let doBounce=!1,afterBouncePosition;const bounceAmount=20*Math.abs(swiper.velocity)*params.freeMode.momentumBounceRatio;let needsLoopFix;if(newPosition<swiper.maxTranslate())params.freeMode.momentumBounce?(newPosition+swiper.maxTranslate()<-bounceAmount&&(newPosition=swiper.maxTranslate()-bounceAmount),afterBouncePosition=swiper.maxTranslate(),doBounce=!0,data.allowMomentumBounce=!0):newPosition=swiper.maxTranslate(),params.loop&&params.centeredSlides&&(needsLoopFix=!0);else if(newPosition>swiper.minTranslate())params.freeMode.momentumBounce?(newPosition-swiper.minTranslate()>bounceAmount&&(newPosition=swiper.minTranslate()+bounceAmount),afterBouncePosition=swiper.minTranslate(),doBounce=!0,data.allowMomentumBounce=!0):newPosition=swiper.minTranslate(),params.loop&&params.centeredSlides&&(needsLoopFix=!0);else if(params.freeMode.sticky){let nextSlide;for(let j=0;j<snapGrid.length;j+=1)if(snapGrid[j]>-newPosition){nextSlide=j;break}newPosition=Math.abs(snapGrid[nextSlide]-newPosition)<Math.abs(snapGrid[nextSlide-1]-newPosition)||"next"===swiper.swipeDirection?snapGrid[nextSlide]:snapGrid[nextSlide-1],newPosition=-newPosition}if(needsLoopFix&&once("transitionEnd",()=>{swiper.loopFix()}),0!==swiper.velocity){if(momentumDuration=rtl?Math.abs((-newPosition-swiper.translate)/swiper.velocity):Math.abs((newPosition-swiper.translate)/swiper.velocity),params.freeMode.sticky){const moveDistance=Math.abs((rtl?-newPosition:newPosition)-swiper.translate),currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];momentumDuration=moveDistance<currentSlideSize?params.speed:moveDistance<2*currentSlideSize?1.5*params.speed:2.5*params.speed}}else if(params.freeMode.sticky)return void swiper.slideToClosest();params.freeMode.momentumBounce&&doBounce?(swiper.updateProgress(afterBouncePosition),swiper.setTransition(momentumDuration),swiper.setTranslate(newPosition),swiper.transitionStart(!0,swiper.swipeDirection),swiper.animating=!0,elementTransitionEnd(wrapperEl,()=>{swiper&&!swiper.destroyed&&data.allowMomentumBounce&&(emit("momentumBounce"),swiper.setTransition(params.speed),setTimeout(()=>{swiper.setTranslate(afterBouncePosition),elementTransitionEnd(wrapperEl,()=>{swiper&&!swiper.destroyed&&swiper.transitionEnd()})},0))})):swiper.velocity?(emit("_freeModeNoMomentumRelease"),swiper.updateProgress(newPosition),swiper.setTransition(momentumDuration),swiper.setTranslate(newPosition),swiper.transitionStart(!0,swiper.swipeDirection),swiper.animating||(swiper.animating=!0,elementTransitionEnd(wrapperEl,()=>{swiper&&!swiper.destroyed&&swiper.transitionEnd()}))):swiper.updateProgress(newPosition),swiper.updateActiveIndex(),swiper.updateSlidesClasses()}else{if(params.freeMode.sticky)return void swiper.slideToClosest();params.freeMode&&emit("_freeModeNoMomentumRelease")}(!params.freeMode.momentum||timeDiff>=params.longSwipesMs)&&(emit("_freeModeStaticRelease"),swiper.updateProgress(),swiper.updateActiveIndex(),swiper.updateSlidesClasses())}}extendParams({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(swiper,{freeMode:{onTouchStart:onTouchStart,onTouchMove:onTouchMove,onTouchEnd:onTouchEnd}})}function appendSlide(slides){const swiper=this,{params:params,slidesEl:slidesEl}=swiper;params.loop&&swiper.loopDestroy();const appendElement=slideEl=>{if("string"==typeof slideEl){const tempDOM=document.createElement("div");tempDOM.innerHTML=slideEl,slidesEl.append(tempDOM.children[0]),tempDOM.innerHTML=""}else slidesEl.append(slideEl)};if("object"==typeof slides&&"length"in slides)for(let i=0;i<slides.length;i+=1)slides[i]&&appendElement(slides[i]);else appendElement(slides);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(
9755)}function prependSlide(slides){const swiper=this,{params:params,activeIndex:activeIndex,slidesEl:slidesEl}=swiper;params.loop&&swiper.loopDestroy();let newActiveIndex=activeIndex+1;const prependElement=slideEl=>{if("string"==typeof slideEl){const tempDOM=document.createElement("div");tempDOM.innerHTML=slideEl,slidesEl.prepend(tempDOM.children[0]),tempDOM.innerHTML=""}else slidesEl.prepend(slideEl)};if("object"==typeof slides&&"length"in slides){for(let i=0;i<slides.length;i+=1)slides[i]&&prependElement(slides[i]);newActiveIndex=activeIndex+slides.length}else prependElement(slides);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(),swiper.slideTo(newActiveIndex,0,!1)}function addSlide(index,slides){const swiper=this,{params:params,activeIndex:activeIndex,slidesEl:slidesEl}=swiper;let activeIndexBuffer=activeIndex;params.loop&&(activeIndexBuffer-=swiper.loopedSlides,swiper.loopDestroy(),swiper.recalcSlides());const baseLength=swiper.slides.length;if(index<=0)return void swiper.prependSlide(slides);if(index>=baseLength)return void swiper.appendSlide(slides);let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides[i];currentSlide.remove(),slidesBuffer.unshift(currentSlide)}if("object"==typeof slides&&"length"in slides){for(let i=0;i<slides.length;i+=1)slides[i]&&slidesEl.append(slides[i]);newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+slides.length:activeIndexBuffer}else slidesEl.append(slides);for(let i=0;i<slidesBuffer.length;i+=1)slidesEl.append(slidesBuffer[i]);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(),params.loop?swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,!1):swiper.slideTo(newActiveIndex,0,!1)}function removeSlide(slidesIndexes){const swiper=this,{params:params,activeIndex:activeIndex}=swiper;let activeIndexBuffer=activeIndex;params.loop&&(activeIndexBuffer-=swiper.loopedSlides,swiper.loopDestroy());let newActiveIndex=activeIndexBuffer,indexToRemove;if("object"==typeof slidesIndexes&&"length"in slidesIndexes){for(let i=0;i<slidesIndexes.length;i+=1)indexToRemove=slidesIndexes[i],swiper.slides[indexToRemove]&&swiper.slides[indexToRemove].remove(),indexToRemove<newActiveIndex&&(newActiveIndex-=1);newActiveIndex=Math.max(newActiveIndex,0)}else indexToRemove=slidesIndexes,swiper.slides[indexToRemove]&&swiper.slides[indexToRemove].remove(),indexToRemove<newActiveIndex&&(newActiveIndex-=1),newActiveIndex=Math.max(newActiveIndex,0);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(),params.loop?swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,!1):swiper.slideTo(newActiveIndex,0,!1)}function removeAllSlides(){const swiper=this,slidesIndexes=[];for(let i=0;i<swiper.slides.length;i+=1)slidesIndexes.push(i);swiper.removeSlide(slidesIndexes)}function Manipulation(_ref){let{swiper:swiper}=_ref;Object.assign(swiper,{appendSlide:appendSlide.bind(swiper),prependSlide:prependSlide.bind(swiper),addSlide:addSlide.bind(swiper),removeSlide:removeSlide.bind(swiper),removeAllSlides:removeAllSlides.bind(swiper)})}function effectInit(params){const{effect:effect,swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,overwriteParams:overwriteParams,perspective:perspective,recreateShadows:recreateShadows,getEffectParams:getEffectParams}=params;let requireUpdateOnVirtual;on("beforeInit",()=>{if(swiper.params.effect!==effect)return;swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`),perspective&&perspective()&&swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);const overwriteParamsResult=overwriteParams?overwriteParams():{};Object.assign(swiper.params,overwriteParamsResult),Object.assign(swiper.originalParams,overwriteParamsResult)}),on("setTranslate",()=>{swiper.params.effect===effect&&setTranslate()}),on("setTransition",(_s,duration)=>{swiper.params.effect===effect&&setTransition(duration)}),on("transitionEnd",()=>{if(swiper.params.effect===effect&&recreateShadows){if(!getEffectParams||!getEffectParams().slideShadows)return;
9755swiper.slides.forEach(slideEl=>{slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>shadowEl.remove())}),recreateShadows()}}),on("virtualUpdate",()=>{swiper.params.effect===effect&&(swiper.slides.length||(requireUpdateOnVirtual=!0),requestAnimationFrame(()=>{requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length&&(setTranslate(),requireUpdateOnVirtual=!1)}))})}function effectTarget(effectParams,slideEl){const transformEl=getSlideTransformEl(slideEl);return transformEl!==slideEl&&(transformEl.style.backfaceVisibility="hidden",transformEl.style["-webkit-backface-visibility"]="hidden"),transformEl}function effectVirtualTransitionEnd(_ref){let{swiper:swiper,duration:duration,transformElements:transformElements,allSlides:allSlides}=_ref;const{activeIndex:activeIndex}=swiper,getSlide=el=>{if(!el.parentElement){const slide=swiper.slides.filter(slideEl=>slideEl.shadowRoot&&slideEl.shadowRoot===el.parentNode)[0];return slide}return el.parentElement};if(swiper.params.virtualTranslate&&0!==duration){let eventTriggered=!1,transitionEndTarget;transitionEndTarget=allSlides?transformElements:transformElements.filter(transformEl=>{const el=transformEl.classList.contains("swiper-slide-transform")?getSlide(transformEl):transformEl;return swiper.getSlideIndex(el)===activeIndex}),transitionEndTarget.forEach(el=>{elementTransitionEnd(el,()=>{if(eventTriggered)return;if(!swiper||swiper.destroyed)return;eventTriggered=!0,swiper.animating=!1;const evt=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});swiper.wrapperEl.dispatchEvent(evt)})})}}function EffectFade(_ref){let{swiper:swiper,extendParams:extendParams,on:on}=_ref;extendParams({fadeEffect:{crossFade:!1}});const setTranslate=()=>{const{slides:slides}=swiper,params=swiper.params.fadeEffect;for(let i=0;i<slides.length;i+=1){const slideEl=swiper.slides[i],offset=slideEl.swiperSlideOffset;let tx=-offset;swiper.params.virtualTranslate||(tx-=swiper.translate);let ty=0;swiper.isHorizontal()||(ty=tx,tx=0);const slideOpacity=swiper.params.fadeEffect.crossFade?Math.max(1-Math.abs(slideEl.progress),0):1+Math.min(Math.max(slideEl.progress,-1),0),targetEl=effectTarget(params,slideEl);targetEl.style.opacity=slideOpacity,targetEl.style.transform=`translate3d(${tx}px, ${ty}px, 0px)`}},setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`}),effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements,allSlides:!0})};effectInit({effect:"fade",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})}Object.keys(prototypes).forEach(prototypeGroup=>{Object.keys(prototypes[prototypeGroup]).forEach(protoMethod=>{Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod]})}),Swiper.use([Resize,Observer]);const modules=[Keyboard,Mousewheel,Navigation,Pagination,Controller,Autoplay,Thumb,freeMode,Manipulation,EffectFade];return Swiper.use(modules),Swiper}();
9756/* End */
9757;
9758; /* Start:"a:4:{s:4:"full";s:104:"/bitrix/templates/aspro-premier/components/bitrix/catalog.section/catalog_block/script.js?17745963252623";s:6:"source";s:89:"/bitrix/templates/aspro-premier/components/bitrix/catalog.section/catalog_block/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9759if (!funcDefined("sliceItemBlock")) {
9760  sliceItemBlock = function () {
9761    $(".catalog-block .catalog-block__item:visible .catalog-block__info-title").sliceHeight({
9762      row: ".grid-list",
9763      item: ".catalog-block__item:visible",
9764      mobile: true,
9765    });
9766  };
9767}
9768
9769(function () {
9770  const ready = function (callback) {
9771    if (document.readyState !== "loading") {
9772      callback();
9773    } else {
9774      document.addEventListener("DOMContentLoaded", callback);
9775    }
9776  };
9777  const equalHeight = function (options) {
9778    const parent = options.items.parent();
9779    const parentRect = parent[0].getBoundingClientRect();
9780    const index = options.index;
9781    let items = options.items;
9782    let size = options.size;
9783
9784    if (!size) {
9785      const rect = options.items[0].getBoundingClientRect();
9786      size = Math.round(parentRect.width / rect.width);
9787    }
9788    if (index) {
9789      let from = 1;
9790      let to = size;
9791      if (index % size === 0) {
9792        from = index - size;
9793      } else {
9794        from = index - (index % size);
9795      }
9796      to += from;
9797      items = options.items.slice(from, to);
9798    }
9799
9800    const sizes = [];
9801    items.each(function (item) {
9802      const _this = $(this).find(options.block);
9803      _this.css("height", "");
9804      sizes.push(_this[0].clientHeight);
9805    });
9806    const maxSize = Math.max.apply(null, sizes);
9807
9808    if (options.current) {
9809      options.current.find(options.block).css("height", maxSize);
9810    } else if (index) {
9811      items
9812        .eq(index - 1)
9813        .find(options.block)
9814        .css("height", maxSize);
9815    } else {
9816      items.each(function () {
9817        $(this).find(options.block).css("height", maxSize);
9818      });
9819    }
9820  };
9821  const handler = function () {
9822    $(document).on("mouseenter", ".catalog-block__wrapper.has-offers", function () {
9823      const _this = $(this);
9824      const parent = _this.parent();
9825      const bHovered = _this.data("hovered");
9826      if (bHovered) {
9827        return;
9828      }
9829
9830      let items = parent.find(" .catalog-block__wrapper:visible");
9831      let index = items.index(this) + 1;
9832
9833      equalHeight({
9834        items: items,
9835        current: _this,
9836        block: ".catalog-block__info",
9837        index: index,
9838      });
9839
9840      const rect = _this[0].getBoundingClientRect();
9841      _this.css("height", rect.height);
9842      _this.attr("data-hovered", true);
9843    });
9844    $(document).on("mouseleave", ".catalog-block__wrapper.has-offers", function () {
9845      const _this = $(this);
9846
9847      _this.css("height", "");
9848      _this.attr("data-hovered", false);
9849      _this.find(".catalog-block__info").css("height", "");
9850    });
9851  };
9852  ready(handler);
9853})();
9854
9855/* End */
9856;
9857; /* Start:"a:4:{s:4:"full";s:74:"/bitrix/templates/aspro-premier/js/conditional/prices.min.js?1774596326420";s:6:"source";
9857s:60:"/bitrix/templates/aspro-premier/js/conditional/prices.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9858BX.Aspro.Utils.readyDOM((()=>{let e=null,t=function(o){let n=(o=o||window.event).target||o.srcElement;n&&n.closest(".price__popup-toggle")&&"function"!=typeof BX.Aspro.xPopover&&(n.classList.add("animate"),e?e.classList.remove("animate"):BX.Aspro.Loader.add({ext:"popover"}).then((()=>{BX.unbind(document.body,"click",t),e.classList.remove("animate"),BX.fireEvent(e,"click")})),e=n)};BX.bind(document.body,"click",t)}));
9859/* End */
9860;
9861; /* Start:"a:4:{s:4:"full";s:74:"/bitrix/templates/aspro-premier/js/conditional/pagination.js?1774596326873";s:6:"source";s:60:"/bitrix/templates/aspro-premier/js/conditional/pagination.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9862BX.namespace('BX.Aspro.Pagination');
9863
9864BX.Aspro.Pagination = {
9865  lazyLoad: () => {
9866    setTimeout(() => {
9867      if ($(".with-load-block .ajax_load_btn:not(.appear-block)").length) {
9868        $(".with-load-block .ajax_load_btn:not(.appear-block)").iAppear(
9869          function () {
9870            var $this = $(this);
9871            $this.addClass("appear-block").trigger("click");
9872          },
9873          {
9874            rootMargin: "-10% 0px 0px 0px",
9875            accX: 0,
9876            accY: 200
9877          }
9878        );
9879      }
9880    }, 200);
9881  }
9882}
9883
9884BX.Aspro.Utils.readyDOM(() => {
9885  BX.Aspro.Pagination.lazyLoad();
9886
9887  BX.addCustomEvent("onCompleteAction", function (eventdata) {
9888    try {
9889      if (eventdata.action === "jsLoadBlock" || eventdata.action === "ajaxContentLoaded") {
9890        BX.Aspro.Pagination.lazyLoad();
9891      }
9892    } catch (e) {
9893      console.error(e);
9894    }
9895  });
9896});
9897
9898/* End */
9899;
9900; /* Start:"a:4:{s:4:"full";s:78:"/bitrix/templates/aspro-premier/js/conditional/input_numeric.js?17745963261261";s:6:"source";s:63:"/bitrix/templates/aspro-premier/js/conditional/input_numeric.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9901function input_numeric(selector, customRegExp) {
9902  if (!selector) return;
9903
9904  try {
9905    const nodes = Array.from(
9906      document.querySelectorAll(selector),
9907      node =>
9907 node.nodeType === node.ELEMENT_NODE && node instanceof HTMLInputElement && node
9908    );
9909    nodes.forEach(eventsHandler);
9910  } catch (e) {
9911    console.error(e);
9912  }
9913
9914  function eventsHandler(node) {
9915    ["input", "keydown", "keyup", "mousedown", "mouseup", "select", "contextmenu", "drop", "focusout"].forEach(
9916      function (event) {
9917        node.addEventListener(event, eventHandler);
9918      }
9919    );
9920  }
9921
9922  function eventHandler(e) {
9923    if (regexp.test(this.value)) {
9924      this.oldValue = this.value;
9925      this.oldSelectionStart = this.selectionStart;
9926      this.oldSelectionEnd = this.selectionEnd;
9927    } else if (this.oldValue) {
9928      this.value = this.oldValue;
9929      this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
9930    } else {
9931      // Rejected value - nothing to restore
9932      const value = parseFloat(this.value)
9933      if (!Number.isNaN(value)) {
9934        this.value = value;
9935      } else {
9936        this.value = '';
9937      }
9938    }
9939  }
9940
9941  let regexp = /^-?\d*[.,]?\d*$/;
9942  if (customRegExp && customRegExp instanceof RegExp) {
9943    regexp = customRegExp;
9944  }
9945}
9946
9947/* End */
9948;
9949; /* Start:"a:4:{s:4:"full";s:73:"/bitrix/templates/aspro-premier/js/select_offer_load.min.js?1774596326230";s:6:"source";s:59:"/bitrix/templates/aspro-premier/js/select_offer_load.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9950function useOfferSelect(){BX.ready(()=>{if(!("SelectOfferProp"in window)){const $catalogItems=$(".catalog-items");$catalogItems.length&&$catalogItems.iAppear((function(e){BX.loadExt(["aspro_select_offer"])}),{accX:0,accY:100})}})}
9951/* End */
9952;
9953; /* Start:"a:4:{s:4:"full";s:72:"/bitrix/templates/aspro-premier/js/conditional/hint.min.js?1774596326515";s:6:"source";s:58:"/bitrix/templates/aspro-premier/js/conditional/hint.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9954$(document).ready((function(){$("html, body").on("mousedown",(function(e){"string"==typeof e.target.className&&e.target.className.indexOf("adm")<0&&(e.stopPropagation(),$(e.target).closest(".hint.active").length||$(".hint.active .hint__icon").trigger("click"))})),$(document).on("click",".hint",(function(e){let _this=$(this),target=e.target;e.stopImmediatePropagation(),"A"!==target.tagName&&e.preventDefault(),target.closest(".tooltip")||_this.toggleClass("active").find(".tooltip").stop().slideToggle(200)}))}));
9955/* End */
9956;
9957; /* Start:"a:4:{s:4:"full";s:67:"/bitrix/templates/aspro-premier/js/index-tabs.min.js?17745963262381";s:6:"source";s:52:"/bitrix/templates/aspro-premier/js/index-tabs.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9958const ajaxRequest=function(t,e,a){parseUrlQuery();const n=a.data||{},s=t||"GET";const o=Object.assign({},{ajax_get:"Y",AJAX_REQUEST:"Y",AJAX_POST:"Y",bitrix_include_areas:"N",TABS_REQUEST:"Y"},n),c=new FormData,i=Object.keys(o);for(let t=0;t<i.length;t++)c.append(i[t],o[i[t]]);const r=new XMLHttpRequest;r.open(s,e+""),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r.send(c),r.onload=function(){let t=r.response;if(a.context.classList.remove("loading-state"),200!=r.status)a.context.innerHTML="Error "+r.status+": "+r.statusText;else{const n=BX.processHTML(t);a.context.innerHTML=n.HTML,BX.onCustomEvent("onSetHeightBanner"),setTimeout((function(){BX.ajax.processScripts(n.SCRIPT)}),0);var e={action:"ajaxContentLoaded",content:t};BX.onCustomEvent("onCompleteAction",[e,a.tab])}},r.onerror=function(){a.context.classList.remove("loading-state"),a.context.innerHTML="Error"}},readyHandler=function(){document.addEventListener("click",(function(t){const e=t.target.closest(".element-list .nav-tabs .nav-tabs__item");if(e){const a=e.closest(".element-list"),n=a.querySelectorAll(".nav-tabs__item"),s=a.querySelector(".js-request-data");if(n.length&&e.classList.contains("nav-tabs__item")&&!e.classList.contains("active")){const o=e.dataset.code,c=a.querySelectorAll(".tab-content-block"),i=a.querySelector(".tab-content-block[data-code='"+o+"']");for(let t=0;t<n.length;t++)n[t].classList.remove("active");e.classList.toggle("active");for(let t=0;t<c.length;t++)c[t].classList.remove("active");if(i.classList.toggle("active"),e.classList.contains("clicked"))BX.onCustomEvent("onSetHeightBanner");else{const a=s.dataset.action?window.location.origin+s.dataset.action:window.location.href,n=new URL(a),c={FILTER_HIT_PROP:o,AJAX_PARAMS:s.dataset.value,GLOBAL_FILTER:i.dataset.f
9958ilter};if(document.querySelector(".body.index")){const e=t.target.closest(".drag-block").dataset.class.replace("_drag","").replace(/\s/g,"");n.searchParams.set("BLOCK",e)}ajaxRequest("POST",n.href,{data:c,context:i,tab:e}),e.classList.add("clicked")}}}}))};document.addEventListener("DOMContentLoaded",readyHandler),window.tabsInitOnReady=function(t){$.isFunction($.fn.scrollTab)&&$(".element-list[data-block_key='"+t+"'] .nav-tabs-wrapper").scrollTab({tabs_wrapper:".nav-tabs",tab_item:".nav-tabs__item",offset:8,outer_wrapper:".element-list[data-block_key='"+t+"'] .index-block__title-wrapper"})};
9959/* End */
9960;
9961; /* Start:"a:4:{s:4:"full";s:85:"/bitrix/templates/aspro-premier/components/bitrix/menu/bottom/script.js?1774596325470";s:6:"source";s:71:"/bitrix/templates/aspro-premier/components/bitrix/menu/bottom/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9962$(document).ready(function(){
9963    $(document).on('click', '.bottom-menu .items > .item-link.items-child', function(event){
9964        if (window.matchMedia("(max-width:767px)").matches) {
9965            var _this = $(this);
9966            var target = event.target;
9967
9968            if (!target.getAttribute('href')){
9969                _this.next('.wrap_menu_compact_mobile').slideToggle();
9970                _this.toggleClass("opened");
9971            }
9972        }
9973    });
9974});
9975
9976/* End */
9977;
9978; /* Start:"a:4:{s:4:"full";s:81:"/bitrix/templates/aspro-premier/js/jquery.inputmask.bundle.min.js?177459632670933";s:6:"source";s:65:"/bitrix/templates/aspro-premier/js/jquery.inputmask.bundle.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
9979!function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,i){"use strict";var n,a,r;"function"==typeof Symbol&&Symbol.iterator,a=[i(2)],void 0!==(r="function"==typeof(n=function(e){return e})?n.apply(t,a):n)&&(e.exports=r)},function(e,t,i){"use strict";var n,a,r,o="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=[i(0),i(5),i(6)],void 0!==(r="function"==typeof(n=function(e,t,i,n){function a(t,i,o){if(!(this instanceof a))return new a(t,i,o);this.el=n,this.events={},this.maskset=n,this.refreshValue=!1,!0!==o&&(e.isPlainObject(t)?i=t:(i=i||{},t&&(i.alias=t)),this.opts=e.extend(!0,{},this.defaults,i),this.noMasksCache=i&&i.definitions!==n,this.userOptions=i||{},this.isRTL=this.opts.numericInput,r(this.opts.alias,i,this.opts))}function r(t,i,o){var s=a.prototype.aliases[t];return s?(s.alias&&r(s.alias,n,o),e.extend(!0,o,s),e.extend(!0,o,i),!0):(null===o.mask&&(o.mask=t),!1)}function s(t,i){function r(t,r,o){var s=!1;if(null!==t&&""!==t||((s=null!==o.regex)?t=(t=o.regex).replace(/^(\^)(.*)(\$)$/,"$2"):(s=!0,t=".*")),1===t.length&&!1===o.greedy&&0!==o.repeat&&(o.placeholder=""),o.repeat>0||"*"===o.repeat||"+"===o.repeat){var l="*"===o.repeat?0:"+"===o.repeat?1:o.repeat;t=o.groupmarker[0]+t+o.groupmarker[1]+o.quantifiermarker[0]+l+","+o.repeat+o.quantifiermarker[1]}var u,c=s?"regex_"+o.regex:o.numericInput?t.split("").reverse().join(""):t;return a.prototype.masksCache[c]===n||!0===i?(u={mask:t,maskToken:a.prototype.analyseMask(t,s,o),validPositions:{},_buffer:n,buffer:n,tests:{},excludes:{},metadata:r,maskLength:n},!0!==i&&(a.prototype.masksCache[c]=u,u=e.extend(!0,{},a.prototype.masksCache[c]))):u=e.extend(!0,{},a.prototype.masksCache[c]),u}if(e.isFunction(t.mask)&&(t.mask=t.mask(t)),e.isArray(t.mask)){if(t.mask.length>1){if(null===t.keepStatic){t.keepStatic="auto";for(var o=0;o<t.mask.length;o++)if(t.mask[o].charAt(0)!==t.mask[0].charAt(0)){t.keepStatic=!0;break}}var s=t.groupmarker[0];return e.each(t.isRTL?t.mask.reverse():t.mask,function(i,a){s.length>1&&(s+=t.groupmarker[1]+t.alternatormarker+t.groupmarker[0]),a.mask===n||e.isFunction(a.mask)?s+=a:s+=a.mask}),r(s+=t.groupmarker[1],t.mask,t)}t.mask=t.mask.pop()}return t.mask&&t.mask.mask!==n&&!e.isFunction(t.mask.mask)?r(t.mask.mask,t.mask,t):r(t.mask,t.mask,t)}function l(e){var t=i.createElement("input"),n="on"+e,a=n in t;return a||(t.setAttribute(n,"return;"),a="function"==typeof t[n]),t=null,a}function u(r,s,c){function d(e,t,i){t=t||0;var a,r,o,s=[],l=0,u=v();
9979do{!0===e&&h().validPositions[l]?(r=(o=h().validPositions[l]).match,a=o.locator.slice(),s.push(!0===i?o.input:!1===i?r.nativeDef:N(l,r))):(r=(o=P(l,a,l-1)).match,a=o.locator.slice(),(!1===c.jitMasking||l<u||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>l)&&s.push(!1===i?r.nativeDef:N(l,r))),"auto"===c.keepStatic&&r.newBlockMarker&&null!==r.fn&&(c.keepStatic=l-1),l++}while(($===n||l<$)&&(null!==r.fn||""!==r.def)||t>l);return""===s[s.length-1]&&s.pop(),!1===i&&h().maskLength!==n||(h().maskLength=l-1),s}function h(){return s}function g(e){var t=h();t.buffer=n,!0!==e&&(t.validPositions={},t.p=0)}function v(e,t,i){var a=-1,r=-1,o=i||h().validPositions;e===n&&(e=-1);for(var s in o){var l=parseInt(s);o[l]&&(t||!0!==o[l].generatedInput)&&(l<=e&&(a=l),l>=e&&(r=l))}return-1!==a&&e-a>1||r<e?a:r}function k(t,i,a,r){var o,s=t,l=e.extend(!0,{},h().validPositions),u=!1;for(h().p=t,o=i-1;o>=s;o--)h().validPositions[o]!==n&&(!0!==a&&(!h().validPositions[o].match.optionality&&function(e){var t=h().validPositions[e];if(t!==n&&null===t.match.fn){var i=h().validPositions[e-1],a=h().validPositions[e+1];return i!==n&&a!==n}return!1}(o)||!1===c.canClearPosition(h(),o,v(n,!0),r,c))||delete h().validPositions[o]);for(g(!0),o=s+1;o<=v();){for(;h().validPositions[s]!==n;)s++;if(o<s&&(o=s+1),h().validPositions[o]===n&&j(o))o++;else{var p=P(o);!1===u&&l[s]&&l[s].match.def===p.match.def?(h().validPositions[s]=e.extend(!0,{},l[s]),h().validPositions[s].input=p.input,delete h().validPositions[o],o++):A(s,p.match.def)?!1!==_(s,p.input||N(o),!0)&&(delete h().validPositions[o],o++,u=!0):j(o)||(o++,s--),s++}}if(!0!==r)for(o=v(-1,!0);h().validPositions[o]&&!0===h().validPositions[o].generatedInput;)delete h().validPositions[o--];g(!0)}function y(e,t,i){for(var a,r=S(e=e>0?e-1:0),o=r.alternation!==n?r.locator[r.alternation].toString().split(","):[],s=0;s<t.length&&(!((a=t[s]).match&&(c.greedy&&!0!==a.match.optionalQuantifier||(!1===a.match.optionality||!1===a.match.newBlockMarker)&&!0!==a.match.optionalQuantifier)&&(r.alternation===n||r.alternation!==a.alternation||a.locator[r.alternation]!==n&&D(a.locator[r.alternation].toString().split(","),o)))||!0===i&&(null!==a.match.fn||/[0-9a-bA-Z]/.test(a.match.def)));s++);return a}function b(e){var t=e.locator[e.alternation];return"string"==typeof t&&t.length>0&&(t=t.split(",")[0]),t!==n?t.toString():""}function x(e,t){for(var i=(e.alternation!=n?e.mloc[b(e)]:e.locator).join("");i.length<t;)i+="0";return i}function P(e,t,i){return h().validPositions[e]||y(e,C(e,t?t.slice():t,i))}function S(e){return h().validPositions[e]?h().validPositions[e]:C(e)[0]}function A(e,t){for(var i=!1,n=C(e),a=0;a<n.length;a++)if(n[a].match&&n[a].match.def===t){i=!0;break}return i}function C(t,i,a){function r(i,a,s,l){function u(s,l,p){function m(t,i){var n=0===e.inArray(t,i.matches);return n||e.each(i.matches,function(e,a){if(!0===a.isQuantifier&&(n=m(t,i.matches[e-1])))return!1}),n}function k(t,i,a){var r,o;if((h().tests[t]||h().validPositions[t])&&e.each(h().tests[t]||[h().validPositions[t]],function(e,t){if(t.mloc[i])return r=t,!1;var s=a!==n?a:t.alternation,l=t.locator[s]!==n?t.locator[s].toString().indexOf(i):-1;(o===n||l<o)&&-1!==l&&(r=t,o=l)}),r){var s=r.locator[r.alternation];return(r.mloc[i]||r.mloc[s]||r.locator).slice((a!==n?a:r.alternation)+1)}return a!==n?k(t,i):n}function y(e,t){function i(e){for(var t,i,n=[],a=0,r=e.length;a<r;a++)if("-"===e.charAt(a))for(i=e.charCodeAt(a+1);++t<i;)n.push(String.fromCharCode(t));else t=e.charCodeAt(a),n.push(e.charAt(a));return n.join("")}return c.regex&&null!==e.match.fn&&null!==t.match.fn?-1!==i(t.match.def.replace(/[\[\]]/g,"")).indexOf(i(e.match.def.replace(/[\[\]]/g,""))):e.match.def===t.match.nativeDef}function b(e,t){if(t===n||e.alternation===t.alternation&&-1===e.locator[e.alternation].toString().indexOf(t.locator[t.alternation])){e.mloc=e.mloc||{};var i=e.locator[e.alternation];if(i!==n){if("string"==typeof i&&(i=i.split(",")[0]),e.mloc[i]===n&&(e.mloc[i]=e.locator.slice()),t!==n){for(var a in t.mloc)"string"==typeof a&&(a=a.split(",")[0]),e.mloc[a]===n&&(e.mloc[a]=t.mloc[a]
9979);e.locator[e.alternation]=Object.keys(e.mloc).join(",")}return!0}e.alternation=n}return!1}if(f>1e4)throw"Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. "+h().mask;if(f===t&&s.matches===n)return d.push({match:s,locator:l.reverse(),cd:v,mloc:{}}),!0;if(s.matches!==n){if(s.isGroup&&p!==s){if(s=u(i.matches[e.inArray(s,i.matches)+1],l))return!0}else if(s.isOptional){var x=s;if(s=r(s,a,l,p)){if(!m(o=d[d.length-1].match,x))return!0;g=!0,f=t}}else if(s.isAlternator){var P,S=s,A=[],C=d.slice(),M=l.length,E=a.length>0?a.shift():-1;if(-1===E||"string"==typeof E){var w,D=f,O=a.slice(),_=[];if("string"==typeof E)_=E.split(",");else for(w=0;w<S.matches.length;w++)_.push(w.toString());if(h().excludes[t]){for(var j=_.slice(),F=0,T=h().excludes[t].length;F<T;F++)_.splice(_.indexOf(h().excludes[t][F].toString()),1);0===_.length&&(h().excludes[t]=n,_=j)}(!0===c.keepStatic||isFinite(parseInt(c.keepStatic))&&D>=c.keepStatic)&&(_=_.slice(0,1));for(var R=0;R<_.length;R++){w=parseInt(_[R]),d=[],a=k(f,w,M)||O.slice(),S.matches[w]&&u(S.matches[w],[w].concat(l),p)&&(s=!0),P=d.slice(),f=D,d=[];for(var N=0;N<P.length;N++){var G=P[N],B=!1;G.alternation=G.alternation||M,b(G);for(var I=0;I<A.length;I++){var L=A[I];if("string"!=typeof E||G.alternation!==n&&-1!==e.inArray(G.locator[G.alternation].toString(),_)){if(G.match.nativeDef===L.match.nativeDef){B=!0,b(L,G);break}if(y(G,L)){b(G,L)&&(B=!0,A.splice(A.indexOf(L),0,G));break}if(y(L,G)){b(L,G);break}if(z=L,null===(U=G).match.fn&&null!==z.match.fn&&z.match.fn.test(U.match.def,h(),t,!1,c,!1)){b(G,L)&&(B=!0,A.splice(A.indexOf(L),0,G));break}}}B||A.push(G)}}d=C.concat(A),f=t,g=d.length>0,s=A.length>0,a=O.slice()}else s=u(S.matches[E]||i.matches[E],[E].concat(l),p);if(s)return!0}else if(s.isQuantifier&&p!==i.matches[e.inArray(s,i.matches)-1])for(var H=s,V=a.length>0?a.shift():0;V<(isNaN(H.quantifier.max)?V+1:H.quantifier.max)&&f<=t;V++){var K=i.matches[e.inArray(H,i.matches)-1];
9979if(s=u(K,[V].concat(l),K)){if((o=d[d.length-1].match).optionalQuantifier=V>H.quantifier.min-1,m(o,K)){if(V>H.quantifier.min-1){g=!0,f=t;break}return!0}return!0}}else if(s=r(s,a,l,p))return!0}else f++;var U,z}for(var p=a.length>0?a.shift():0;p<i.matches.length;p++)if(!0!==i.matches[p].isQuantifier){var m=u(i.matches[p],[p].concat(s),l);if(m&&f===t)return m;if(f>t)break}}var o,s,l,u,p=h().maskToken,f=i?a:0,m=i?i.slice():[0],d=[],g=!1,v=i?i.join(""):"";if(t>-1){if(i===n){for(var k,b=t-1;(k=h().validPositions[b]||h().tests[b])===n&&b>-1;)b--;k!==n&&b>-1&&(s=b,l=k,u=[],e.isArray(l)||(l=[l]),l.length>0&&(l[0].alternation===n?0===(u=y(s,l.slice()).locator.slice()).length&&(u=l[0].locator.slice()):e.each(l,function(e,t){if(""!==t.def)if(0===u.length)u=t.locator.slice();else for(var i=0;i<u.length;i++)t.locator[i]&&-1===u[i].toString().indexOf(t.locator[i])&&(u[i]+=","+t.locator[i])})),v=(m=u).join(""),f=b)}if(h().tests[t]&&h().tests[t][0].cd===v)return h().tests[t];for(var x=m.shift();x<p.length&&!(r(p[x],m,[x])&&f===t||f>t);x++);}return(0===d.length||g)&&d.push({match:{fn:null,optionality:!0,casing:null,def:"",placeholder:""},locator:[],mloc:{},cd:v}),i!==n&&h().tests[t]?e.extend(!0,[],d):(h().tests[t]=e.extend(!0,[],d),h().tests[t])}function M(){return h()._buffer===n&&(h()._buffer=d(!1,1),h().buffer===n&&(h().buffer=h()._buffer.slice())),h()._buffer}function E(e){return h().buffer!==n&&!0!==e||(h().buffer=d(!0,v(),!0)),h().buffer}function w(e,t,i){var a,r;if(!0===e)g(),e=0,t=i.length;else for(a=e;a<t;a++)delete h().validPositions[a];for(r=e,a=e;a<t;a++)if(g(!0),i[a]!==c.skipOptionalPartCharacter){var o=_(r,i[a],!0,!0);!1!==o&&(g(!0),r=o.caret!==n?o.caret:o.pos+1)}}function D(t,i,a){for(var r,o=c.greedy?i:i.slice(0,1),s=!1,l=a!==n?a.split(","):[],u=0;u<l.length;u++)-1!==(r=t.indexOf(l[u]))&&t.splice(r,1);for(var p=0;p<t.length;p++)if(-1!==e.inArray(t[p],o)){s=!0;break}return s}function O(t,i,a,r,o){var s,l,u,p,f,m,d,k=e.extend(!0,{},h().validPositions),y=!1,x=o!==n?o:v();if(-1===x&&o===n)l=(p=S(s=0)).alternation;else for(;x>=0;x--)if((u=h().validPositions[x])&&u.alternation!==n){if(p&&p.locator[u.alternation]!==u.locator[u.alternation])break;s=x,l=h().validPositions[s].alternation,p=u}if(l!==n){d=parseInt(s),h().excludes[d]=h().excludes[d]||[],!0!==t&&h().excludes[d].push(b(p));var P=[],A=0;for(f=d;f<v(n,!0)+1;f++)(m=h().validPositions[f])&&!0!==m.generatedInput&&/[0-9a-bA-Z]/.test(m.input)?P.push(m.input):f<t&&A++,delete h().validPositions[f];for(;h().excludes[d]&&h().excludes[d].length<10;){var C=-1*A,M=P.slice();for(h().tests[d]=n,g(!0),y=!0;M.length>0;){var E=M.shift();if(E!==c.skipOptionalPartCharacter&&!(y=_(v(n,!0)+1,E,!1,r,!0)))break}if(y&&i!==n){var w=v(t)+1;for(f=d;f<v()+1;f++)((m=h().validPositions[f])===n||null==m.match.fn)&&f<t+C&&C++;y=_((t+=C)>w?w:t,i,a,r,!0)}if(y)break;if(g(),p=S(d),h().validPositions=e.extend(!0,{},k),!h().excludes[d]){y=O(t,i,a,r,d-1);break}var D=b(p);if(-1!==h().excludes[d].indexOf(D)){y=O(t,i,a,r,d-1);break}for(h().excludes[d].push(D),f=d;f<v(n,!0)+1;f++)delete h().validPositions[f]}}return h().excludes[d]=n,y}function _(t,i,r,o,s,l){function u(e){return X?e.begin-e.end>1||e.begin-e.end==1:e.end-e.begin>1||e.end-e.begin==1}function p(i,r,s){var l=!1;return e.each(C(i),function(p,f){var d=f.match;if(E(!0),!1!==(l=null!=d.fn?d.fn.test(r,h(),i,s,c,u(t)):(r===d.def||r===c.skipOptionalPartCharacter)&&""!==d.def&&{c:N(i,d,!0)||d.def,pos:i})){var y=l.c!==n?l.c:r;y=y===c.skipOptionalPartCharacter&&null===d.fn?N(i,d,!0)||d.def:y;var b=i,x=E();if(l.remove!==n&&(e.isArray(l.remove)||(l.remove=[l.remove]),e.each(l.remove.sort(function(e,t){return t-e}),function(e,t){k(t,t+1,!0)})),l.insert!==n&&(e.isArray(l.insert)||(l.insert=[l.insert]),e.each(l.insert.sort(function(e,t){return e-t}),function(e,t){_(t.pos,t.c,!0,o)})),l.refreshFromBuffer){var P=l.refreshFromBuffer;if(w(!0===P?P:P.start,P.end,x),l.pos===n&&l.c===n)return l.pos=v(),!1;if((b=l.pos!==n?l.pos:i)!==i)return l=e.extend(l,_(b,y,!0,o)),!1}else if(!0!==l&&l.pos!==n&&l.pos!==i&&(b=l.pos,w(i,b,E().slice()),b!==i))return l=e.extend(l,_(b,y,!0)),!1;return(!0===l||l.pos!==n||l.c!==n)&&(p>0&&g(!0),m(b,e.extend({}
9979,f,{input:function(t,i,n){switch(c.casing||i.casing){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break;case"title":var r=h().validPositions[n-1];t=0===n||r&&r.input===String.fromCharCode(a.keyCode.SPACE)?t.toUpperCase():t.toLowerCase();break;default:if(e.isFunction(c.casing)){var o=Array.prototype.slice.call(arguments);o.push(h().validPositions),t=c.casing.apply(this,o)}}return t}(y,d,b)}),o,u(t))||(l=!1),!1)}}),l}function f(t,i,a){var r;if(t===n)for(t=i-1;t>0&&!h().validPositions[t];t--);for(var o=t;o<i;o++)if(h().validPositions[o]===n&&!j(o,!0)){var s=0==o?S(o):h().validPositions[o-1];if(s){var l,u=x(s),c=C(o).slice(),p=n,f=S(o);if(""===c[c.length-1].match.def&&c.pop(),e.each(c,function(e,t){l=x(t,u.length);var i=Math.abs(l-u);(p===n||i<p)&&null===t.match.fn&&!0!==t.match.optionality&&!0!==t.match.optionalQuantifier&&(p=i,f=t)}),(f=e.extend({},f,{input:N(o,f.match,!0)||f.match.def})).generatedInput=!0,m(o,f,!0),!0!==a){var d=h().validPositions[i].input;h().validPositions[i]=n,r=_(i,d,!0,!0)}}}return r}function m(t,i,a,r){if(r||c.insertMode&&h().validPositions[t]!==n&&a===n){var o,s=e.extend(!0,{},h().validPositions),l=v(n,!0);for(o=t;o<=l;o++)delete h().validPositions[o];h().validPositions[t]=e.extend(!0,{},i);var u,p=!0,m=h().validPositions,d=!1;for(o=u=t;o<=l;o++){var k=s[o];if(k!==n)for(var y=u;""!==S(y).match.def&&(null===k.match.fn&&m[o]&&(!0===m[o].match.optionalQuantifier||!0===m[o].match.optionality)||null!=k.match.fn);){if(y++,!1===d&&s[y]&&s[y].match.def===k.match.def)h().validPositions[y]=e.extend(!0,{},s[y]),h().validPositions[y].input=k.input,f(n,y,!0),u=y,p=!0;else if(A(y,k.match.def)){var b=_(y,k.input,!0,!0);p=!1!==b,u=b.caret||b.insert?v():y,d=!0}else if(!(p=!0===k.generatedInput)&&""===S(y).match.def)break;if(p)break}if(!p)break}if(!p)return h().validPositions=e.extend(!0,{},s),g(!0),!1}else h().validPositions[t]=e.extend(!0,{},i);return g(!0),!0}r=!0===r;var d=t;t.begin!==n&&(d=X&&!u(t)?t.end:t.begin);var y=!0,b=e.extend(!0,{},h().validPositions);if(e.isFunction(c.preValidation)&&!r&&!0!==o&&!0!==l&&(y=c.preValidation(E(),d,i,u(t),c)),!0===y){if(f(n,d,!0),u(t)&&(K(0,a.keyCode.DELETE,t,!0,!0),d=h().p),($===n||d<$)&&(y=p(d,i,r),(!r||!0===o)&&!1===y&&!0!==l)){var P=h().validPositions[d];if(!P||null!==P.match.fn||P.match.def!==i&&i!==c.skipOptionalPartCharacter){if((c.insertMode||h().validPositions[F(d)]===n)&&!j(d,!0))for(var M=d+1,D=F(d);M<=D;M++)if(!1!==(y=p(M,i,r))){y=f(d,y.pos!==n?y.pos:M)||y,d=M;break}}else y={caret:F(d)}}!1!==y||null===c.keepStatic||!1===c.keepStatic||r||!0===s||(y=O(d,i,r,o)),!0===y&&(y={pos:d})}if(e.isFunction(c.postValidation)&&!1!==y&&!r&&!0!==o&&!0!==l){var T=c.postValidation(E(!0),y,c);if(T!==n){if(T.refreshFromBuffer&&T.buffer){var R=T.refreshFromBuffer;w(!0===R?R:R.start,R.end,T.buffer)}y=!0===T?y:T}}return y&&y.pos===n&&(y.pos=d),!1!==y&&!0!==l||(g(!0),h().validPositions=e.extend(!0,{},b)),y}function j(e,t){var i=P(e).match;if(""===i.def&&(i=S(e).match),null!=i.fn)return i.fn;if(!0!==t&&e>-1){var n=C(e);return n.length>1+(""===n[n.length-1].match.def?1:0)}return!1}function F(e,t){for(var i=e+1;""!==S(i).match.def&&(!0===t&&(!0!==S(i).match.newBlockMarker||!j(i))||!0!==t&&!j(i));)i++;return i}function T(e,t){var i,n=e;if(n<=0)return 0;for(;--n>0&&(!0===t&&!0!==S(n).match.newBlockMarker||!0!==t&&!j(n)&&((i=C(n)).length<2||2===i.length&&""===i[1].match.def)););return n}function R(t,i,a,r,o){if(r&&e.isFunction(c.onBeforeWrite)){var s=c.onBeforeWrite.call(J,r,i,a,c);if(s){if(s.refreshFromBuffer){var l=s.refreshFromBuffer;w(!0===l?l:l.start,l.end,s.buffer||i),i=E(!0)}a!==n&&(a=s.caret!==n?s.caret:a)}}t!==n&&(t.inputmask._valueSet(i.join("")),a===n||r!==n&&"blur"===r.type?z(t,a,0===i.length):I(t,a),!0===o&&(te=!0,e(t).trigger("input")))}function N(t,i,a){if((i=i||S(t).match).placeholder!==n||!0===a)return e.isFunction(i.placeholder)?i.placeholder(c):i.placeholder;if(null===i.fn){if(t>-1&&h().validPositions[t]===n){var r,o=C(t),s=[];if(o.length>1+(""===o[o.length-1].match.def?1:0))for(var l=0;l<o.length;l++)if(!0!==o[l].match.optionality&&!0!==o[l].match.optionalQuantifier&&(null===o[l].match.fn||r===n||!1!==o[l].match.fn.test(r.match.def,h(),t,!0,c))&&(s.push(o[l]),null===o[l].match.fn&&(r=o[l]),s.length>1&&/[0-9a-bA-Z]/.test(s[0].match.def)))return c.placeholder.charAt(t%c.placeholder.length)}return i.def}return c.placeholder.charAt(t%c.placeholder.length)}function G(t,i,r,o,s){var l=o.slice(),u="",p=-1,f=n;if(g(),r||!0===c.autoUnmask)p=F(p);else{var m=M().slice(0,F(-1)).join(""),k=l.join("").match(new RegExp("^"+a.escapeRegex(m),"g"));k&&k.length>0&&(l.splice(0,k.length*m.length),p=F(p))}-1===p?(h().p=F(p),p=0):h().p=p,e.each(l,function(i,a){if(a!==n)if(h().validPositions[i]===n&&l[i]===N(i)&&j(i,!0)&&!1===_(i,l[i],!0,n,n,!0))h().p++;else{var o=new e.Event("_checkval");
9979o.which=a.charCodeAt(0),u+=a;var s=v(n,!0),m=S(s),g=P(s+1,m?m.locator.slice():n,s);if(y=p,b=u,-1===d(!0,0,!1).slice(y,F(y)).join("").indexOf(b)||j(y)||S(y).match.nativeDef!==b.charAt(0)&&(" "!==S(y).match.nativeDef||S(y+1).match.nativeDef!==b.charAt(0))||r||c.autoUnmask){var k=r?i:null==g.match.fn&&g.match.optionality&&s+1<h().p?s+1:h().p;(f=oe.keypressEvent.call(t,o,!0,!1,r,k))&&(p=k+1,u="")}else f=oe.keypressEvent.call(t,o,!0,!1,!0,s+1);R(n,E(),f.forwardPosition,o,!1)}var y,b}),i&&R(t,E(),f?f.forwardPosition:n,s||new e.Event("checkval"),s&&"input"===s.type)}function B(t){if(t){if(t.inputmask===n)return t.value;t.inputmask&&t.inputmask.refreshValue&&oe.setValueEvent.call(t)}var i=[],a=h().validPositions;for(var r in a)a[r].match&&null!=a[r].match.fn&&i.push(a[r].input);var o=0===i.length?"":(X?i.reverse():i).join("");if(e.isFunction(c.onUnMask)){var s=(X?E().slice().reverse():E()).join("");o=c.onUnMask.call(J,s,o,c)}return o}function I(a,r,o,s){function l(e){return!0===s||!X||"number"!=typeof e||c.greedy&&""===c.placeholder||(e=a.inputmask.__valueGet.call(a).length-e),e}var u;if(r===n)return a.setSelectionRange?(r=a.selectionStart,o=a.selectionEnd):t.getSelection?(u=t.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode!==a&&u.commonAncestorContainer!==a||(r=u.startOffset,o=u.endOffset):i.selection&&i.selection.createRange&&(o=(r=0-(u=i.selection.createRange()).duplicate().moveStart("character",-a.inputmask._valueGet().length))+u.text.length),{begin:l(r),end:l(o)};if(e.isArray(r)&&(o=X?r[0]:r[1],r=X?r[1]:r[0]),r.begin!==n&&(o=X?r.begin:r.end,r=X?r.end:r.begin),"number"==typeof r){r=l(r),o="number"==typeof(o=l(o))?o:r;var p=parseInt(((a.ownerDocument.defaultView||t).getComputedStyle?(a.ownerDocument.defaultView||t).getComputedStyle(a,null):a.currentStyle).fontSize)*o;if(a.scrollLeft=p>a.scrollWidth?p:0,!1===c.insertMode&&r===o&&o++,a.inputmask.caretPos={begin:r,end:o},a.setSelectionRange)a.selectionStart=r,a.selectionEnd=o;else if(t.getSelection){if(u=i.createRange(),a.firstChild===n||null===a.firstChild){var f=i.createTextNode("");a.appendChild(f)}u.setStart(a.firstChild,r<a.inputmask._valueGet().length?r:a.inputmask._valueGet().length),u.setEnd(a.firstChild,o<a.inputmask._valueGet().length?o:a.inputmask._valueGet().length),u.collapse(!0);var m=t.getSelection();m.removeAllRanges(),m.addRange(u)}else a.createTextRange&&((u=a.createTextRange()).collapse(!0),u.moveEnd("character",o),u.moveStart("character",r),u.select());z(a,{begin:r,end:o})}}function L(t){var i,a,r=E(),o=r.length,s=v(),l={},u=h().validPositions[s],c=u!==n?u.locator.slice():n;for(i=s+1;i<r.length;i++)c=(a=P(i,c,i-1)).locator.slice(),l[i]=e.extend(!0,{},a);var p=u&&u.alternation!==n?u.locator[u.alternation]:n;for(i=o-1;i>s&&((a=l[i]).match.optionality||a.match.optionalQuantifier&&a.match.newBlockMarker||p&&(p!==l[i].locator[u.alternation]&&null!=a.match.fn||null===a.match.fn&&a.locator[u.alternation]&&D(a.locator[u.alternation].toString().split(","),p.toString().split(","))&&""!==C(i)[0].def))&&r[i]===N(i,a.match);i--)o--;return t?{l:o,def:l[o]?l[o].match:n}:o}function H(e){for(var t,i=L(),a=e.length,r=h().validPositions[v()];i<a&&!j(i,!0)&&(t=r!==n?P(i,r.locator.slice(""),r):S(i))&&!0!==t.match.optionality&&(!0!==t.match.optionalQuantifier&&!0!==t.match.newBlockMarker||i+1===a&&""===(r!==n?P(i+1,r.locator.slice(""),r):S(i+1)).match.def);)i++;for(;(t=h().validPositions[i-1])&&t&&t.match.optionality&&t.input===c.skipOptionalPartCharacter;)i--;return e.splice(i),e}function V(t){if(e.isFunction(c.isComplete))return c.isComplete(t,c);if("*"===c.repeat)return n;var i=!1,a=L(!0),r=T(a.l);if(a.def===n||a.def.newBlockMarker||a.def.optionality||a.def.optionalQuantifier){i=!0;for(var o=0;o<=r;o++){var s=P(o).match;if(null!==s.fn&&h().validPositions[o]===n&&!0!==s.optionality&&!0!==s.optionalQuantifier||null===s.fn&&t[o]!==N(o,s)){i=!1;break}}}return i}function K(e,t,i,r,o){if((c.numericInput||X)&&(t===a.keyCode.BACKSPACE?t=a.keyCode.DELETE:t===a.keyCode.DELETE&&(t=a.keyCode.BACKSPACE),X)){var s=i.end;i.end=i.begin,i.begin=s}if(t===a.keyCode.BACKSPACE&&(i.end-i.begin<1||!1===c.insertMode)?(i.begin=T(i.begin),h().validPositions[i.begin]!==n&&h().validPositions[i.begin].input===c.groupSeparator&&i.begin--):t===a.keyCode.DELETE&&i.begin===i.end&&(i.end=j(i.end,!0)&&h().validPositions[i.end]&&h().validPositions[i.end].input!==c.radixPoint?i.end+1:F(i.end)+1,h().validPositions[i.begin]!==n&&h().validPositions[i.begin].input===c.groupSeparator&&i.end++),k(i.begin,i.end,!1,r),!0!==r&&null!==c.keepStatic&&!1!==c.keepStatic){var l=O(!0);l&&(i.begin=l.caret!==n?l.caret:l.pos?F(l.pos.begin?l.pos.begin:l.pos):v(-1,!0))}var u=v(i.begin,!0);if(u<i.begin||-1===i.begin)h().p=F(u);else if(!0!==r&&(h().p=i.begin,!0!==o))for(;h().p<u&&h().validPositions[h().p]===n;)h().p++}function U(n){var a=(n.ownerDocument.defaultView||t).getComputedStyle(n,null),r=i.createElement("div");r.style.width=a.width,r.style.textAlign=a.textAlign,q=i.createElement("div"),n.inputmask.colorMask=q,q.className="im-colormask",n.parentNode.insertBefore(q,n),n.parentNode.removeChild(n),q.appendChild(r),q.appendChild(n),n.style.left=r.offsetLeft+"px",e(n).on("click",function(e){return I(n,function(e){var t,r=i.createElement("span");for(var o in a)isNaN(o)&&-1!==o.indexOf("font")&&(r.style[o]=a[o]);r.style.textTransform=a.textTransform,r.style.letterSpacing=a.letterSpacing,r.style.position="absolute",r.style.height="auto",r.style.width="auto",r.style.visibility="hidden",r.style.whiteSpace="nowrap",i.body.appendChild(r);var s,l=n.inputmask._valueGet(),u=0;for(t=0,s=l.length;t<=s;t++){if(r.innerHTML+=l.charAt(t)||"_",r.offsetWidth>=e){var c=e-u,p=r.offsetWidth-e;r.innerHTML=l.charAt(t),t=(c-=r.offsetWidth/3)<p?t-1:t;break}u=r.offsetWidth}return i.body.removeChild(r),t}(e.clientX)),oe.clickEvent.call(n,[e])}),e(n).on("keydown",function(e){e.shiftKey||!1===c.insertMode||setTimeout(function(){z(n)},0)})}function z(e,t,a){function r(e){if(e===n&&(e=""),p||null!==o.fn&&s.input!==n)if(p&&(null!==o.fn&&s.input!==n||""===o.def)){p=!1;var t=u.length;u[t-1]=u[t-1]+"</span>",u.push(e)}else u.push(e);else p=!0,u.push("<span class='im-static'>"+e)}var o,s,l,u=[],p=!1,f=0;if(q!==n){var m=E();if(t===n?t=I(e):t.begin===n&&(t={begin:t,end:t}),!0!==a){var d=v();
9979do{h().validPositions[f]?(s=h().validPositions[f],o=s.match,l=s.locator.slice(),r(m[f])):(s=P(f,l,f-1),o=s.match,l=s.locator.slice(),(!1===c.jitMasking||f<d||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>f)&&r(N(f,o))),f++}while(($===n||f<$)&&(null!==o.fn||""!==o.def)||d>f||p);p&&r(),i.activeElement===e&&(u.splice(t.begin,0,t.begin===t.end?'<mark class="im-caret" style="border-right-width: 1px;border-right-style: solid;">':'<mark class="im-caret-select">'),u.splice(t.end+1,0,"</mark>"))}var g=q.getElementsByTagName("div")[0];g.innerHTML=u.join(""),e.inputmask.positionColorMask(e,g)}}s=s||this.maskset,c=c||this.opts;var Q,W,$,q,Z,J=this,Y=this.el,X=this.isRTL,ee=!1,te=!1,ie=!1,ne=!1,ae=!1,re={on:function(t,i,r){var o=function(t){var i=this;if(i.inputmask===n&&"FORM"!==this.nodeName){var o=e.data(i,"_inputmask_opts");o?new a(o).mask(i):re.off(i)}else{if("setvalue"===t.type||"FORM"===this.nodeName||!(i.disabled||i.readOnly&&!("keydown"===t.type&&t.ctrlKey&&67===t.keyCode||!1===c.tabThrough&&t.keyCode===a.keyCode.TAB))){switch(t.type){case"input":if(!0===te)return te=!1,t.preventDefault();p&&(ae=!0);break;case"keydown":ee=!1,te=!1;break;case"keypress":if(!0===ee)return t.preventDefault();ee=!0;break;case"click":if(f||m){var s=arguments;return setTimeout(function(){r.apply(i,s)},0),!1}}var l=r.apply(i,arguments);return ae&&(ae=!1,setTimeout(function(){I(i,i.inputmask.caretPos,n,!0)})),!1===l&&(t.preventDefault(),t.stopPropagation()),l}t.preventDefault()}};t.inputmask.events[i]=t.inputmask.events[i]||[],t.inputmask.events[i].push(o),-1!==e.inArray(i,["submit","reset"])?null!==t.form&&e(t.form).on(i,o):e(t).on(i,o)},off:function(t,i){var n;t.inputmask&&t.inputmask.events&&(i?(n=[])[i]=t.inputmask.events[i]:n=t.inputmask.events,e.each(n,function(i,n){for(;n.length>0;){var a=n.pop();-1!==e.inArray(i,["submit","reset"])?null!==t.form&&e(t.form).off(i,a):e(t).off(i,a)}delete t.inputmask.events[i]}))}},oe={keydownEvent:function(t){var i=this,n=e(i),r=t.keyCode,o=I(i);if(r===a.keyCode.BACKSPACE||r===a.keyCode.DELETE||m&&r===a.keyCode.BACKSPACE_SAFARI||t.ctrlKey&&r===a.keyCode.X&&!l("cut"))t.preventDefault(),K(0,r,o),R(i,E(!0),h().p,t,i.inputmask._valueGet()!==E().join("")),i.inputmask._valueGet()===M().join("")?n.trigger("cleared"):!0===V(E())&&n.trigger("complete");else if(r===a.keyCode.END||r===a.keyCode.PAGE_DOWN){t.preventDefault();var s=F(v());c.insertMode||s!==h().maskLength||t.shiftKey||s--,I(i,t.shiftKey?o.begin:s,s,!0)}else r===a.keyCode.HOME&&!t.shiftKey||r===a.keyCode.PAGE_UP?(t.preventDefault(),I(i,0,t.shiftKey?o.begin:0,!0)):(c.undoOnEscape&&r===a.keyCode.ESCAPE||90===r&&t.ctrlKey)&&!0!==t.altKey?(G(i,!0,!1,Q.split("")),n.trigger("click")):r!==a.keyCode.INSERT||t.shiftKey||t.ctrlKey?!0===c.tabThrough&&r===a.keyCode.TAB?(!0===t.shiftKey?(null===S(o.begin).match.fn&&(o.begin=F(o.begin)),o.end=T(o.begin,!0),o.begin=T(o.end,!0)):(o.begin=F(o.begin,!0),o.end=F(o.begin,!0),o.end<h().maskLength&&o.end--),o.begin<h().maskLength&&(t.preventDefault(),I(i,o.begin,o.end))):t.shiftKey||!1===c.insertMode&&(r===a.keyCode.RIGHT?setTimeout(function(){var e=I(i);I(i,e.begin)},0):r===a.keyCode.LEFT&&setTimeout(function(){var e=I(i);I(i,X?e.begin+1:e.begin-1)},0)):(c.insertMode=!c.insertMode,I(i,c.insertMode||o.begin!==h().maskLength?o.begin:o.begin-1));c.onKeyDown.call(this,t,E(),I(i).begin,c),ie=-1!==e.inArray(r,c.ignorables)},keypressEvent:function(t,i,r,o,s){var l=this,u=e(l),p=t.which||t.charCode||t.keyCode;if(!(!0===i||t.ctrlKey&&t.altKey)&&(t.ctrlKey||t.metaKey||ie))return p===a.keyCode.ENTER&&Q!==E().join("")&&(Q=E().join(""),setTimeout(function(){u.trigger("change")},0)),!0;if(p){46===p&&!1===t.shiftKey&&""!==c.radixPoint&&(p=c.radixPoint.charCodeAt(0));var f,m=i?{begin:s,end:s}:I(l),d=String.fromCharCode(p);h().writeOutBuffer=!0;var v=_(m,d,o);if(!1!==v&&(g(!0),f=v.caret!==n?v.caret:F(v.pos.begin?v.pos.begin:v.pos),h().p=f),f=c.numericInput&&v.caret===n?T(f):f,!1!==r&&(setTimeout(function(){c.onKeyValidation.call(l,p,v,c)},0),h().writeOutBuffer&&!1!==v)){var k=E();R(l,k,f,t,!0!==i),!0!==i&&setTimeout(function(){!0===V(k)&&u.trigger("complete")},0)}if(t.preventDefault(),i)return!1!==v&&(v.forwardPosition=f),v}},pasteEvent:function(i){var n,a=this,r=i.originalEvent||i,o=e(a),s=a.inputmask._valueGet(!0),l=I(a);X&&(n=l.end,l.end=l.begin,l.begin=n);var u=s.substr(0,l.begin),p=s.substr(l.end,s.length);if(u===(X?M().reverse():M()).slice(0,l.begin).join("")&&(u=""),p===(X?M().reverse():M()).slice(l.end).join("")&&(p=""),X&&(n=u,u=p,p=n),t.clipboardData&&t.clipboardData.getData)s=u+t.clipboardData.getData("Text")+p;else{if(!r.clipboardData||!r.clipboardData.getData)return!0;s=u+r.clipboardData.getData("text/plain")+p}var f=s;if(e.isFunction(c.onBeforePaste)){if(!1===(f=c.onBeforePaste.call(J,s,c)))return i.preventDefault();f||(f=s)}return G(a,!1,!1,X?f.split("").reverse():f.toString().split("")),R(a,E(),F(v()),i,Q!==E().join("")),!0===V(E())&&o.trigger("complete"),i.preventDefault()},inputFallBackEvent:function(t){var i,n,r=this,o=r.inputmask._valueGet();if(E().join("")!==o){var s=I(r);if(n=s,"."===(i=o).charAt(n.begin-1)&&""!==c.radixPoint&&((i=i.split(""))[n.begin-1]=c.radixPoint.charAt(0),i=i.join("")),o=function(e,t,i){if(f){var n=t.replace(E().join(""),"");if(1===n.length){var a=t.split("");
9979a.splice(i.begin,0,n),t=a.join("")}}return t}(0,o=i,s),E().join("")!==o){var l=E().join(""),u=o.length>l.length?-1:0,p=o.substr(0,s.begin),m=o.substr(s.begin),d=l.substr(0,s.begin+u),h=l.substr(s.begin+u),g=s,v="",k=!1;if(p!==d){for(var y=(k=p.length>=d.length)?p.length:d.length,b=0;p.charAt(b)===d.charAt(b)&&b<y;b++);k&&(0===u&&(g.begin=b),v+=p.slice(b,g.end))}if(m!==h&&(m.length>h.length?v+=m.slice(0,1):m.length<h.length&&(g.end+=h.length-m.length,k||""===c.radixPoint||""!==m||p.charAt(g.begin+u-1)!==c.radixPoint||(g.begin--,v=c.radixPoint))),R(r,E(),{begin:g.begin+u,end:g.end+u}),v.length>0)e.each(v.split(""),function(t,i){var n=new e.Event("keypress");n.which=i.charCodeAt(0),ie=!1,oe.keypressEvent.call(r,n)});else{g.begin===g.end-1&&(g.begin=T(g.begin+1),g.begin===g.end-1?I(r,g.begin):I(r,g.begin,g.end));var x=new e.Event("keydown");x.keyCode=a.keyCode.DELETE,oe.keydownEvent.call(r,x),!1===c.insertMode&&I(r,I(r).begin-1)}t.preventDefault()}}},setValueEvent:function(t){this.inputmask.refreshValue=!1;var i=this.inputmask._valueGet(!0);e.isFunction(c.onBeforeMask)&&(i=c.onBeforeMask.call(J,i,c)||i),i=i.split(""),G(this,!0,!1,X?i.reverse():i),Q=E().join(""),(c.clearMaskOnLostFocus||c.clearIncomplete)&&this.inputmask._valueGet()===M().join("")&&this.inputmask._valueSet("")},focusEvent:function(e){var t=this,i=t.inputmask._valueGet();c.showMaskOnFocus&&(!c.showMaskOnHover||c.showMaskOnHover&&""===i)&&(t.inputmask._valueGet()!==E().join("")?R(t,E(),F(v())):!1===ne&&I(t,F(v()))),!0===c.positionCaretOnTab&&!1===ne&&oe.clickEvent.apply(t,[e,!0]),Q=E().join("")},mouseleaveEvent:function(e){if(ne=!1,c.clearMaskOnLostFocus&&i.activeElement!==this){var t=E().slice(),n=this.inputmask._valueGet();n!==this.getAttribute("placeholder")&&""!==n&&(-1===v()&&n===M().join("")?t=[]:H(t),R(this,t))}},clickEvent:function(t,a){var r=this;setTimeout(function(){if(i.activeElement===r){var t=I(r);if(a&&(X?t.end=t.begin:t.begin=t.end),t.begin===t.end)switch(c.positionCaretOnClick){case"none":break;case"select":I(r,0,E().length);break;case"radixFocus":if(function(t){if(""!==c.radixPoint){var i=h().validPositions;if(i[t]===n||i[t].input===N(t)){if(t<F(-1))return!0;var a=e.inArray(c.radixPoint,E());if(-1!==a){for(var r in i)if(a<r&&i[r].input!==N(r))return!1;return!0}}}return!1}(t.begin)){var o=E().join("").indexOf(c.radixPoint);I(r,c.numericInput?F(o):o);break}default:var s=t.begin,l=v(s,!0),u=F(l);if(s<u)I(r,j(s,!0)||j(s-1,!0)?s:F(s));
9979else{var p=h().validPositions[l],f=P(u,p?p.match.locator:n,p),m=N(u,f.match);if(""!==m&&E()[u]!==m&&!0!==f.match.optionalQuantifier&&!0!==f.match.newBlockMarker||!j(u,!0)&&f.match.def===m){var d=F(u);(s>=d||s===u)&&(u=d)}I(r,u)}}}},0)},dblclickEvent:function(e){var t=this;setTimeout(function(){I(t,0,F(v()))},0)},cutEvent:function(n){var r=e(this),o=I(this),s=n.originalEvent||n,l=t.clipboardData||s.clipboardData,u=X?E().slice(o.end,o.begin):E().slice(o.begin,o.end);l.setData("text",X?u.reverse().join(""):u.join("")),i.execCommand&&i.execCommand("copy"),K(0,a.keyCode.DELETE,o),R(this,E(),h().p,n,Q!==E().join("")),this.inputmask._valueGet()===M().join("")&&r.trigger("cleared")},blurEvent:function(t){var i=e(this);if(this.inputmask){var a=this.inputmask._valueGet(),r=E().slice();""===a&&q===n||(c.clearMaskOnLostFocus&&(-1===v()&&a===M().join("")?r=[]:H(r)),!1===V(r)&&(setTimeout(function(){i.trigger("incomplete")},0),c.clearIncomplete&&(g(),r=c.clearMaskOnLostFocus?[]:M().slice())),R(this,r,n,t)),Q!==E().join("")&&(Q=r.join(""),i.trigger("change"))}},mouseenterEvent:function(e){ne=!0,i.activeElement!==this&&c.showMaskOnHover&&this.inputmask._valueGet()!==E().join("")&&R(this,E())},submitEvent:function(e){Q!==E().join("")&&W.trigger("change"),c.clearMaskOnLostFocus&&-1===v()&&Y.inputmask._valueGet&&Y.inputmask._valueGet()===M().join("")&&Y.inputmask._valueSet(""),c.removeMaskOnSubmit&&(Y.inputmask._valueSet(Y.inputmask.unmaskedvalue(),!0),setTimeout(function(){R(Y,E())},0))},resetEvent:function(e){Y.inputmask.refreshValue=!0,setTimeout(function(){W.trigger("setvalue")},0)}};if(a.prototype.positionColorMask=function(e,t){e.style.left=t.offsetLeft+"px"},r!==n)switch(r.action){case"isComplete":return Y=r.el,V(E());case"unmaskedvalue":return Y!==n&&r.value===n||(Z=r.value,Z=(e.isFunction(c.onBeforeMask)&&c.onBeforeMask.call(J,Z,c)||Z).split(""),G(n,!1,!1,X?Z.reverse():Z),e.isFunction(c.onBeforeWrite)&&c.onBeforeWrite.call(J,n,E(),0,c)),B(Y);case"mask":!function(t){re.off(t);var a=function(t,a){var r=t.getAttribute("type"),s="INPUT"===t.tagName&&-1!==e.inArray(r,a.supportsInputType)||t.isContentEditable||"TEXTAREA"===t.tagName;if(!s)if("INPUT"===t.tagName){var l=i.createElement("input");l.setAttribute("type",r),s="text"===l.type,l=null}else s="partial";return!1!==s?function(t){function r(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():-1!==v()||!0!==a.nullable?i.activeElement===this&&a.clearMaskOnLostFocus?(X?H(E().slice()).reverse():H(E().slice())).join(""):l.call(this):"":l.call(this)}function s(t){u.call(this,t),this.inputmask&&e(this).trigger("setvalue")}var l,u,c;if(!t.inputmask.__valueGet){if(!0!==a.noValuePatching){if(Object.getOwnPropertyDescriptor){"function"!=typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"===o("test".__proto__)?function(e){return e.__proto__}:function(e){return e.constructor.prototype});var p=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value"):n;p&&p.get&&p.set?(l=p.get,u=p.set,Object.defineProperty(t,"value",{get:r,set:s,configurable:!0})):"INPUT"!==t.tagName&&(l=function(){return this.textContent},u=function(e){this.textContent=e},Object.defineProperty(t,"value",{get:r,set:s,configurable:!0}))}else i.__lookupGetter__&&t.__lookupGetter__("value")&&(l=t.__lookupGetter__("value"),u=t.__lookupSetter__("value"),t.__defineGetter__("value",r),t.__defineSetter__("value",s));t.inputmask.__valueGet=l,t.inputmask.__valueSet=u}t.inputmask._valueGet=function(e){return X&&!0!==e?l.call(this.el).split("").reverse().join(""):l.call(this.el)},t.inputmask._valueSet=function(e,t){u.call(this.el,null===e||e===n?"":!0!==t&&X?e.split("").reverse().join(""):e)},l===n&&(l=function(){return this.value},u=function(e){this.value=e},function(t){if(e.valHooks&&(e.valHooks[t]===n||!0!==e.valHooks[t].inputmaskpatch)){var i=e.valHooks[t]&&e.valHooks[t].get?e.valHooks[t].get:function(e){return e.value},r=e.valHooks[t]&&e.valHooks[t].set?e.valHooks[t].set:function(e,t){return e.value=t,e};e.valHooks[t]={get:function(e){if(e.inputmask){if(e.inputmask.opts.autoUnmask)return e.inputmask.unmaskedvalue();var t=i(e);return-1!==v(n,n,e.inputmask.maskset.validPositions)||!0!==a.nullable?t:""}return i(e)},set:function(t,i){var n,a=e(t);return n=r(t,i),t.inputmask&&a.trigger("setvalue"),n},inputmaskpatch:!0}}}(t.type),c=t,re.on(c,"mouseenter",function(t){var i=e(this);this.inputmask._valueGet()!==E().join("")&&i.trigger("setvalue")}))}}(t):t.inputmask=n,s}(t,c);if(!1!==a&&(W=e(Y=t),-1===($=Y!==n?Y.maxLength:n)&&($=n),!0===c.colorMask&&U(Y),p&&("inputmode"in Y&&(Y.inputmode=c.inputmode,Y.setAttribute("inputmode",c.inputmode)),!0===c.disablePredictiveText&&("autocorrect"in Y?Y.autocorrect=!1:(!0!==c.colorMask&&U(Y),Y.type="password"))),!0===a&&(re.on(Y,"submit",oe.submitEvent),re.on(Y,"reset",oe.resetEvent),re.on(Y,"mouseenter",oe.mouseenterEvent),re.on(Y,"blur",oe.blurEvent),re.on(Y,"focus",oe.focusEvent),re.on(Y,"mouseleave",oe.mouseleaveEvent),!0!==c.colorMask&&re.on(Y,"click",oe.clickEvent),re.on(Y,"dblclick",oe.dblclickEvent),re.on(Y,"paste",oe.pasteEvent),re.on(Y,"dragdrop",oe.pasteEvent),re.on(Y,"drop",oe.pasteEvent),re.on(Y,"cut",oe.cutEvent),re.on(Y,"complete",c.oncomplete),re.on(Y,"incomplete",c.onincomplete),re.on(Y,"cleared",c.oncleared),p||!0===c.inputEventOnly?Y.removeAttribute("maxLength"):(re.on(Y,"keydown",oe.keydownEvent),re.on(Y,"keypress",oe.keypressEvent)),re.on(Y,"compositionstart",e.noop),re.on(Y,"compositionupdate",e.noop),re.on(Y,"compositionend",e.noop),re.on(Y,"keyup",e.noop),re.on(Y,"input",oe.inputFallBackEvent),re.on(Y,"beforeinput",e.noop)),re.on(Y,"setvalue",oe.setValueEvent),Q=M().join(""),""!==Y.inputmask._valueGet(!0)||!1===c.clearMaskOnLostFocus||i.activeElement===Y)){var r=e.isFunction(c.onBeforeMask)&&c.onBeforeMask.call(J,Y.
9979inputmask._valueGet(!0),c)||Y.inputmask._valueGet(!0);""!==r&&G(Y,!0,!1,X?r.split("").reverse():r.split(""));var s=E().slice();Q=s.join(""),!1===V(s)&&c.clearIncomplete&&g(),c.clearMaskOnLostFocus&&i.activeElement!==Y&&(-1===v()?s=[]:H(s)),R(Y,s),i.activeElement===Y&&I(Y,F(v()))}}(Y);break;case"format":return Z=(e.isFunction(c.onBeforeMask)&&c.onBeforeMask.call(J,r.value,c)||r.value).split(""),G(n,!0,!1,X?Z.reverse():Z),r.metadata?{value:X?E().slice().reverse().join(""):E().join(""),metadata:u.call(this,{action:"getmetadata"},s,c)}:X?E().slice().reverse().join(""):E().join("");case"isValid":r.value?(Z=r.value.split(""),G(n,!0,!0,X?Z.reverse():Z)):r.value=E().join("");for(var se=E(),le=L(),ue=se.length-1;ue>le&&!j(ue);ue--);return se.splice(le,ue+1-le),V(se)&&r.value===E().join("");case"getemptymask":return M().join("");case"remove":return Y&&Y.inputmask&&(W=e(Y),Y.inputmask._valueSet(c.autoUnmask?B(Y):Y.inputmask._valueGet(!0)),re.off(Y),Y.inputmask.colorMask&&((q=Y.inputmask.colorMask).removeChild(Y),q.parentNode.insertBefore(Y,q),q.parentNode.removeChild(q)),Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Y),"value")&&Y.inputmask.__valueGet&&Object.defineProperty(Y,"value",{get:Y.inputmask.__valueGet,set:Y.inputmask.__valueSet,configurable:!0}):i.__lookupGetter__&&Y.__lookupGetter__("value")&&Y.inputmask.__valueGet&&(Y.__defineGetter__("value",Y.inputmask.__valueGet),Y.__defineSetter__("value",Y.inputmask.__valueSet)),Y.inputmask=n),Y;case"getmetadata":if(e.isArray(s.metadata)){var ce=d(!0,0,!1).join("");return e.each(s.metadata,function(e,t){if(t.mask===ce)return ce=t,!1}),ce}return s.metadata}}var c=navigator.userAgent,p=l("touchstart"),f=/iemobile/i.test(c),m=/iphone/i.test(c)&&!f;return a.prototype={dataAttribute:"data-inputmask",defaults:{placeholder:"_",optionalmarker:["[","]"],quantifiermarker:["{","}"],groupmarker:["(",")"],alternatormarker:"|",escapeChar:"\\",mask:null,regex:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,alias:null,onKeyDown:e.noop,onBeforeMask:null,onBeforePaste:function(t,i){return e.isFunction(i.onBeforeMask)?i.onBeforeMask.call(this,t,i):t},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",radixPointDefinitionSymbol:n,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","password","search"],ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123,0,229],isComplete:null,canClearPosition:e.noop,preValidation:null,postValidation:null,staticDefinitionSymbol:n,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"verbatim",colorMask:!1,disablePredictiveText:!1,importDataAttributes:!0},definitions:{9:{validator:"[0-91-9]",definitionSymbol:"*"},a:{validator:"[A-Za-zÀ-ÿ¨¸A-yµ]",definitionSymbol:"*"},"*":{validator:"[0-91-9A-Za-zÀ-ÿ¨¸A-yµ]"}},aliases:{},masksCache:{},mask:function(o){var l=this;return"string"==typeof o&&(o=i.getElementById(o)||i.querySelectorAll(o)),o=o.nodeName?[o]:o,e.each(o,function(i,o){var c=e.extend(!0,{},l.opts);if(function(i,a,o,s){if(!0===a.importDataAttributes){var l,u,c,p,f=function(e,a){null!==(a=a!==n?a:i.getAttribute(s+"-"+e))&&("string"==typeof a&&(0===e.indexOf("on")?a=t[a]:"false"===a?a=!1:"true"===a&&(a=!0)),o[e]=a)},m=i.getAttribute(s);if(m&&""!==m&&(m=m.replace(/'/g,'"'),u=JSON.parse("{"+m+"}")),u){c=n;for(p in u)if("alias"===p.toLowerCase()){c=u[p];break}}f("alias",c),o.alias&&r(o.alias,o,a);for(l in a){if(u){c=n;for(p in u)if(p.toLowerCase()===l.toLowerCase()){c=u[p];break}}f(l,c)}}return e.extend(!0,a,o),("rtl"===i.dir||a.rightAlign)&&(i.style.textAlign="right"),("rtl"===i.dir||a.numericInput)&&(i.dir="ltr",i.removeAttribute("dir"),a.isRTL=!0),Object.keys(o).length}(o,c,e.extend(!0,{},l.userOptions),l.dataAttribute)){var p=s(c,l.noMasksCache);p!==n&&(o.inputmask!==n&&(o.inputmask.opts.autoUnmask=!0,o.inputmask.remove()),o.inputmask=new a(n,n,!0),o.inputmask.opts=c,o.inputmask.noMasksCache=l.noMasksCache,o.inputmask.userOptions=e.extend(!0,{},l.userOptions),o.inputmask.isRTL=c.isRTL||c.numericInput,o.inputmask.el=o,o.inputmask.maskset=p,e.data(o,"_inputmask_opts",c),u.call(o.inputmask,{action:"mask"}))}}),o&&o[0]&&o[0].inputmask||this},option:function(t,i){return"string"==typeof t?this.opts[t]:"object"===(void 0===t?"undefined":o(t))?(e.extend(this.userOptions,t),this.el&&!0!==i&&this.mask(this.el),this):void 0},unmaskedvalue:function(e){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),u.call(this,{action:"unmaskedvalue",value:e})},remove:function(){return u.call(this,{action:"remove"})},getemptymask:function(){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),u.call(this,{action:"getemptymask"})},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),u.call(this,{action:"isComplete"})},getmetadata:function(){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),u.call(this,{action:"getmetadata"})},isValid:function(e){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),u.call(this,{action:"isValid",value:e})},format:function(e,t){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),u.call(this,{action:"format",value:e,metadata:t})},analyseMask:function(t,i,r){function o(e,t,i,n){this.matches=[],this.openGroup=e||!1,this.alternatorGroup=!1,this.isGroup=e||!1,this.isOptional=t||!1,this.isQuantifier=i||!1,this.isAlternator=n||!1,this.quantifier={min:1,max:1}}function s(t,o,s){s=s!==n?s:t.matches.length;var l=t.matches[s-1];if(i)0===o.indexOf("[")||k&&/\\d|\\s|\\w]/i.test(o)||"."===o?t.matches.splice(s++,0,{fn:new RegExp(o,r.casing?"i":""),optionality:t.isOptional,newBlockMarker:l===n||l.def!==o,casing:null,def:o,placeholder:n,nativeDef:o}):(k&&(o=o[o.length-1]),e.each(o.split(""),function(e,i){l=t.matches[s-1],t.matches.splice(s++,0,{fn:null,optionality:t.isOptional,newBlockMarker:l===n||l.def!==i&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||i,placeholder:r.staticDefinitionSymbol!==n?i:n,nativeDef:i})})),k=!1;else{var u=(r.definitions?r.definitions[o]:n)||a.prototype.definitions[o];u&&!k?t.matches.splice(s++,0,{fn:u.validator?"string"==typeof u.validator?new RegExp(u.validator,r.casing?"i":""):new function(){this.test=u.validator}:new RegExp("."),optionality:t.isOptional,newBlockMarker:l===n||l.def!==(u.definitionSymbol||o),casing:u.casing,def:u.definitionSymbol||o,placeholder:u.placeholder,nativeDef:o}):(t.matches.splice(s++,0,{fn:null,optionality:t.isOptional,newBlockMarker:l===n||l.def!==o&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||o,placeholder:r.staticDefinitionSymbol!==n?o:n,nativeDef:o}),k=!1)}}function l(){if(b.length>0){if(s(f=b[b.length-1],c),f.isAlternator){m=b.pop();for(var e=0;e<m.matches.length;e++)m.matches[e].isGroup=!1;b.length>0?(f=b[b.length-1]).matches.push(m):y.matches.push(m)}}else s(y,c)}var u,c,p,f,m,d,h,g=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g,v=/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,k=!1,y=new o,b=[],x=[];for(i&&(r.optionalmarker[0]=n,r.optionalmarker[1]=n);u=i?v.exec(t):g.exec(t);){if(c=u[0],i)switch(c.charAt(0)){case"?":c="{0,1}";break;case"+":case"*":c="{"+c+"}"}if(k)l();else switch(c.charAt(0)){case r.escapeChar:k=!0,i&&l();break;case r.optionalmarker[1]:case r.groupmarker[1]:if((p=b.pop()).openGroup=!1,p!==n)if(b.length>0){if((f=b[b.length-1]).matches.push(p),f.isAlternator){m=b.pop();for(var P=0;P<m.matches.length;P++)m.matches[P].isGroup=!1,m.matches[P].alternatorGroup=!1;b.length>0?(f=b[b.length-1]).matches.push(m):y.matches.push(m)}}else y.matches.push(p);else l();break;case r.optionalmarker[0]:b.push(new o(!1,!0));break;case r.groupmarker[0]:b.push(new o(!0));break;case r.quantifiermarker[0]:var S=new o(!1,!1,!0),A=(c=c.replace(/[{}]/g,"")).split(","),C=isNaN(A[0])?A[0]:parseInt(A[0]),M=1===A.length?C:isNaN(A[1])?A[1]:parseInt(A[1]);if("*"!==M&&"+"!==M||(C="*"===M?0:1),S.quantifier={min:C,max:M},b.length>0){var E=b[b.length-1].matches;(u=E.pop()).isGroup||((h=new o(!0)).matches.push(u),u=h),E.push(u),E.push(S)}else(u=y.matches.pop()).isGroup||(i&&null===u.fn&&"."===u.def&&(u.fn=new RegExp(u.def,r.casing?"i":"")),(h=new o(!0)).matches.push(u),u=h),y.matches.push(u),y.matches.push(S);break;case r.alternatormarker:if(b.length>0){var w=(f=b[b.length-1]).matches[f.matches.length-1];
9979d=f.openGroup&&(w.matches===n||!1===w.isGroup&&!1===w.isAlternator)?b.pop():f.matches.pop()}else d=y.matches.pop();if(d.isAlternator)b.push(d);else if(d.alternatorGroup?(m=b.pop(),d.alternatorGroup=!1):m=new o(!1,!1,!1,!0),m.matches.push(d),b.push(m),d.openGroup){d.openGroup=!1;var D=new o(!0);D.alternatorGroup=!0,b.push(D)}break;default:l()}}for(;b.length>0;)p=b.pop(),y.matches.push(p);return y.matches.length>0&&(function t(a){a&&a.matches&&e.each(a.matches,function(e,o){var l=a.matches[e+1];(l===n||l.matches===n||!1===l.isQuantifier)&&o&&o.isGroup&&(o.isGroup=!1,i||(s(o,r.groupmarker[0],0),!0!==o.openGroup&&s(o,r.groupmarker[1]))),t(o)})}(y),x.push(y)),(r.numericInput||r.isRTL)&&function e(t){t.matches=t.matches.reverse();for(var i in t.matches)if(t.matches.hasOwnProperty(i)){var a=parseInt(i);if(t.matches[i].isQuantifier&&t.matches[a+1]&&t.matches[a+1].isGroup){var o=t.matches[i];t.matches.splice(i,1),t.matches.splice(a+1,0,o)}t.matches[i].matches!==n?t.matches[i]=e(t.matches[i]):t.matches[i]=function(e){return e===r.optionalmarker[0]?e=r.optionalmarker[1]:e===r.optionalmarker[1]?e=r.optionalmarker[0]:e===r.groupmarker[0]?e=r.groupmarker[1]:e===r.groupmarker[1]&&(e=r.groupmarker[0]),e}(t.matches[i])}return t}(x[0]),x}},a.extendDefaults=function(t){e.extend(!0,a.prototype.defaults,t)},a.extendDefinitions=function(t){e.extend(!0,a.prototype.definitions,t)},a.extendAliases=function(t){e.extend(!0,a.prototype.aliases,t)},a.format=function(e,t,i){return a(t).format(e,i)},a.unmask=function(e,t){return a(t).unmaskedvalue(e)},a.isValid=function(e,t){return a(t).isValid(e)},a.remove=function(t){e.each(t,function(e,t){t.inputmask&&t.inputmask.remove()})},a.escapeRegex=function(e){return e.replace(new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"].join("|\\")+")","gim"),"\\$1")},a.keyCode={BACKSPACE:8,BACKSPACE_SAFARI:127,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,SPACE:32,TAB:9,UP:38,X:88,CONTROL:17},a})?n.apply(t,a):n)&&(e.exports=r)},function(e,t){e.exports=jQuery},function(e,t,i){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}i(4),i(7),i(8),i(9);var a=n(i(1)),r=n(i(0)),o=n(i(2));r.default===o.default&&i(10),window.Inputmask=a.default},function(e,t,i){"use strict";var n,a,r;"function"==typeof Symbol&&Symbol.iterator,a=[i(0),i(1)],void 0!==(r="function"==typeof(n=function(e,t){function i(e){if(!e.tokenizer){var t=[];for(var i in o)-1===t.indexOf(i[0])&&t.push(i[0]);e.tokenizer="("+t.join("+|")+")+?|.",e.tokenizer=new RegExp(e.tokenizer,"g")}return e.tokenizer}function n(e,n,a){for(var r,s="";r=i(a).exec(e);)void 0===n?s+=o[r[0]]?"("+o[r[0]][0]+")":t.escapeRegex(r[0]):o[r[0]]?s+=o[r[0]][3].call(n.date):s+=r[0];return s}function a(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e}function r(e,t,n){var a,r,s,l,u,c,p,f,m={date:new Date(1,0,1)},d=e;if("string"==typeof d){for(;r=i(n).exec(t);){var h=d.slice(0,r[0].length);o.hasOwnProperty(r[0])&&(a=o[r[0]][2],s=o[r[0]][1],l=m,u=h,c=n,p=void 0,f=void 0,"year"===a?(l[a]=(f=4===(p=u).length?p:(new Date).getFullYear().toString().substr(0,4-p.length)+p,n.min&&n.min.year&&n.max&&n.max.year?(f=f.replace(/[^0-9]/g,""),f=p.charAt(0)===n.max.year.charAt(0)?p.replace(/[^0-9]/g,"0"):f+n.min.year.substr(f.length)):f=f.replace(/[^0-9]/g,"0"),f),l["raw"+a]=u):l[a]=c.min&&u.match(/[^0-9]/)?c.min[a]:u,void 0!==s&&s.call(l.date,"month"==a?parseInt(l[a])-1:l[a])),d=d.slice(h.length)}return m}}var o={d:["[1-9]|[12][0-9]|3[01]",Date.prototype.setDate,"day",Date.prototype.getDate],dd:["0[1-9]|[12][0-9]|3[01]",Date.prototype.setDate,"day",function(){return a(Date.prototype.getDate.call(this),2)}],ddd:[""],dddd:[""],m:["[1-9]|1[012]",Date.prototype.setMonth,"month",function(){return Date.prototype.getMonth.call(this)+1}],mm:["0[1-9]|1[012]",Date.prototype.setMonth,"month",function(){return a(Date.prototype.getMonth.call(this)+1,2)}],mmm:[""],mmmm:[""],yy:["[0-9]{2}",Date.prototype.setFullYear,"year",function(){return a(Date.prototype.getFullYear.call(this),2)}],yyyy:["[0-9]{4}",Date.prototype.setFullYear,"year",function(){return a(Date.prototype.getFullYear.call(this),4)}],h:["[1-9]|1[0-2]",Date.prototype.setHours,"hours",Date.prototype.getHours],hh:["0[1-9]|1[0-2]",Date.prototype.setHours,"hours",function(){return a(Date.prototype.getHours.call(this),2)}],hhh:["[0-9]+",Date.prototype.setHours,"hours",Date.prototype.getHours],H:["1?[0-9]|2[0-3]",Date.prototype.setHours,"hours",Date.prototype.getHours],HH:["[01][0-9]|2[0-3]",Date.prototype.setHours,"hours",function(){return a(Date.prototype.getHours.call(this),2)}],HHH:["[0-9]+",Date.prototype.setHours,"hours",Date.prototype.getHours],M:["[1-5]?[0-9]",Date.prototype.setMinutes,"minutes",Date.prototype.getMinutes],MM:["[0-5][0-9]",Date.prototype.setMinutes,"minutes",function(){return a(Date.prototype.getMinutes.call(this),2)}],s:["[1-5]?[0-9]",Date.prototype.setSeconds,"seconds",Date.prototype.getSeconds],ss:["[0-5][0-9]",Date.prototype.setSeconds,"seconds",function(){return a(Date.prototype.getSeconds.call(this),2)}],l:["[0-9]{3}",Date.prototype.setMilliseconds,"milliseconds",function(){return a(Date.prototype.getMilliseconds.call(this),3)}],L:["[0-9]{2}",Date.prototype.setMilliseconds,"milliseconds",function(){return a(Date.prototype.getMilliseconds.call(this),2)}],t:[""],tt:[""],T:[""],TT:[""],Z:[""],o:[""],S:[""]},s={isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};return t.extendAliases({datetime:{mask:function(e){return e.inputFormat=s[e.inputFormat]||e.inputFormat,e.displayFormat=s[e.displayFormat]||e.displayFormat||e.inputFormat,e.outputFormat=s[e.outputFormat]||e.outputFormat||e.inputFormat,e.placeholder=e.placeholder!==t.prototype.defaults.placeholder?e.placeholder:e.inputFormat,e.min=r(e.min,e.inputFormat,e),e.max=r(e.max,e.inputFormat,e),e.regex=n(e.inputFormat,void 0,e),null},inputFormat:"isoDateTime",displayFormat:void 0,outputFormat:void 0,min:null,max:null,i18n:{dayNames:["Mon","Tue","Wed","Thu","Fri","Sat","Sun","Monday","Tuesday","Wednesday","Thursday","Frid
9979ay","Saturday","Sunday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]},postValidation:function(e,t,i){var n,a,o,s,l,u=t,c=r(e.join(""),i.inputFormat,i);return u&&c.date.getTime()==c.date.getTime()&&(s=c,l=u,u=(u=(!isFinite(s.day)||"29"==s.day&&!isFinite(s.rawyear)||new Date(s.date.getFullYear(),isFinite(s.month)?s.month:s.date.getMonth()+1,0).getDate()>=s.day)&&l)&&(n=c.date,o=!0,(a=i).min&&a.min.date.getTime()==a.min.date.getTime()&&(o=o&&a.min.date.getTime()<=n.getTime()),a.max&&a.max.date.getTime()==a.max.date.getTime()&&(o=o&&a.max.date.getTime()>=n.getTime()),o)),u},onKeyDown:function(n,r,o,s){if(n.ctrlKey&&n.keyCode===t.keyCode.RIGHT){for(var l,u=new Date,c="";l=i(s).exec(s.inputFormat);)"d"===l[0].charAt(0)?c+=a(u.getDate(),l[0].length):"m"===l[0].charAt(0)?c+=a(u.getMonth()+1,l[0].length):"yyyy"===l[0]?c+=u.getFullYear().toString():"y"===l[0].charAt(0)&&(c+=a(u.getYear(),l[0].length));this.inputmask._valueSet(c),e(this).trigger("setvalue")}},onUnMask:function(e,t,i){return n(i.outputFormat,r(e,i.inputFormat,i),i)},insertMode:!1}}),t})?n.apply(t,a):n)&&(e.exports=r)},function(e,t,i){"use strict";var n;"function"==typeof Symbol&&Symbol.iterator,void 0!==(n=function(){return window}.call(t,i,t,e))&&(e.exports=n)},function(e,t,i){"use strict";var n;"function"==typeof Symbol&&Symbol.iterator,void 0!==(n=function(){return document}.call(t,i,t,e))&&(e.exports=n)},function(e,t,i){"use strict";var n,a,r;"function"==typeof Symbol&&Symbol.iterator,a=[i(0),i(1)],void 0!==(r="function"==typeof(n=function(e,t){return t.extendDefinitions({A:{validator:"[A-Za-zÀ-ÿ¨¸A-yµ]",casing:"upper"},"&":{validator:"[0-9A-Za-zÀ-ÿ¨¸A-yµ]",casing:"upper"},"#":{validator:"[0-9A-Fa-f]",casing:"upper"}}),t.extendAliases({url:{definitions:{i:{validator:"."}},mask:"(\\http://)|(\\http\\s://)|(ftp://)|(ftp\\s://)i{+}",insertMode:!1,autoUnmask:!1,inputmode:"url"},ip:{mask:"i[i[i]].i[i[i]].i[i[i]].i[i[i]]",definitions:{i:{validator:function(e,t,i,n,a){return i-1>-1&&"."!==t.buffer[i-1]?(e=t.buffer[i-1]+e,e=i-2>-1&&"."!==t.buffer[i-2]?t.buffer[i-2]+e:"0"+e):e="00"+e,new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(e)}}},onUnMask:function(e,t,i){return e},inputmode:"numeric"},email:{mask:"*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",greedy:!1,onBeforePaste:function(e,t){return(e=e.toLowerCase()).replace("mailto:","")},definitions:{"*":{validator:"[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]",casing:"lower"},"-":{validator:"[0-9A-Za-z-]",casing:"lower"}},onUnMask:function(e,t,i){return e},inputmode:"email"},mac:{mask:"##:##:##:##:##:##"},vin:{mask:"V{13}9{4}",definitions:{V:{validator:"[A-HJ-NPR-Za-hj-npr-z\\d]",casing:"upper"}},clearIncomplete:!0,autoUnmask:!0}}),t})?n.apply(t,a):n)&&(e.exports=r)},function(e,t,i){"use strict";var n,a,r;"function"==typeof Symbol&&Symbol.iterator,a=[i(0),i(1)],void 0!==(r="function"==typeof(n=function(e,t,i){function n(e,i){for(var n="",a=0;a<e.length;a++)t.prototype.definitions[e.charAt(a)]||i.definitions[e.charAt(a)]||i.optionalmarker.start===e.charAt(a)||i.optionalmarker.end===e.charAt(a)||i.quantifiermarker.start===e.charAt(a)||i.quantifiermarker.end===e.charAt(a)||i.groupmarker.start===e.charAt(a)||i.groupmarker.end===e.charAt(a)||i.alternatormarker===e.charAt(a)?n+="\\"+e.charAt(a):n+=e.charAt(a);return n}return t.extendAliases({numeric:{mask:function(e){if(0!==e.repeat&&isNaN(e.integerDigits)&&(e.integerDigits=e.repeat),e.repeat=0,e.groupSeparator===e.radixPoint&&e.digits&&"0"!==e.digits&&("."===e.radixPoint?e.groupSeparator=",":","===e.radixPoint?e.groupSeparator=".":e.groupSeparator="")," "===e.groupSeparator&&(e.skipOptionalPartCharacter=i),e.autoGroup=e.autoGroup&&""!==e.groupSeparator,e.autoGroup&&("string"==typeof e.groupSize&&isFinite(e.groupSize)&&(e.groupSize=parseInt(e.groupSize)),isFinite(e.integerDigits))){var t=Math.floor(e.integerDigits/e.groupSize),a=e.integerDigits%e.groupSize;e.integerDigits=parseInt(e.integerDigits)+(0===a?t-1:t),e.integerDigits<1&&(e.integerDigits="*")}e.placeholder.length>1&&(e.placeholder=e.placeholder.charAt(0)),"radixFocus"===e.positionCaretOnClick&&""===e.placeholder&&!1===e.integerOptional&&(e.positionCaretOnClick="lvp"),e.definitions[";"]=e.definitions["~"],e.definitions[";
9979"].definitionSymbol="~",!0===e.numericInput&&(e.positionCaretOnClick="radixFocus"===e.positionCaretOnClick?"lvp":e.positionCaretOnClick,e.digitsOptional=!1,isNaN(e.digits)&&(e.digits=2),e.decimalProtect=!1);var r="[+]";if(r+=n(e.prefix,e),!0===e.integerOptional?r+="~{1,"+e.integerDigits+"}":r+="~{"+e.integerDigits+"}",e.digits!==i){e.radixPointDefinitionSymbol=e.decimalProtect?":":e.radixPoint;var o=e.digits.toString().split(",");isFinite(o[0]&&o[1]&&isFinite(o[1]))?r+=e.radixPointDefinitionSymbol+";{"+e.digits+"}":(isNaN(e.digits)||parseInt(e.digits)>0)&&(e.digitsOptional?r+="["+e.radixPointDefinitionSymbol+";{1,"+e.digits+"}]":r+=e.radixPointDefinitionSymbol+";{"+e.digits+"}")}return r+=n(e.suffix,e),r+="[-]",e.greedy=!1,r},placeholder:"",greedy:!1,digits:"*",digitsOptional:!0,enforceDigitsOnBlur:!1,radixPoint:".",positionCaretOnClick:"radixFocus",groupSize:3,groupSeparator:"",autoGroup:!1,allowMinus:!0,negationSymbol:{front:"-",back:""},integerDigits:"+",integerOptional:!0,prefix:"",suffix:"",rightAlign:!0,decimalProtect:!0,min:null,max:null,step:1,insertMode:!0,autoUnmask:!1,unmaskAsNumber:!1,inputmode:"numeric",preValidation:function(t,n,a,r,o){if("-"===a||a===o.negationSymbol.front)return!0===o.allowMinus&&(o.isNegative=o.isNegative===i||!o.isNegative,""===t.join("")||{caret:n,dopost:!0});if(!1===r&&a===o.radixPoint&&o.digits!==i&&(isNaN(o.digits)||parseInt(o.digits)>0)){var s=e.inArray(o.radixPoint,t);if(-1!==s)return!0===o.numericInput?n===s:{caret:s+1}}return!0},postValidation:function(n,a,r){var o=r.suffix.split(""),s=r.prefix.split("");if(a.pos===i&&a.caret!==i&&!0!==a.dopost)return a;var l=a.caret!==i?a.caret:a.pos,u=n.slice();r.numericInput&&(l=u.length-l-1,u=u.reverse());var c=u[l];if(c===r.groupSeparator&&(c=u[l+=1]),l===u.length-r.suffix.length-1&&c===r.radixPoint)return a;c!==i&&c!==r.radixPoint&&c!==r.negationSymbol.front&&c!==r.negationSymbol.back&&(u[l]="?",r.prefix.length>0&&l>=(!1===r.isNegative?1:0)&&l<r.prefix.length-1+(!1===r.isNegative?1:0)?s[l-(!1===r.isNegative?1:0)]="?":r.suffix.length>0&&l>=u.length-r.suffix.length-(!1===r.isNegative?1:0)&&(o[l-(u.length-r.suffix.length-(!1===r.isNegative?1:0))]="?")),s=s.join(""),o=o.join("");var p=u.join("").replace(s,"");if(p=(p=(p=(p=p.replace(o,"")).replace(new RegExp(t.escapeRegex(r.groupSeparator),"g"),"")).replace(new RegExp("[-"+t.escapeRegex(r.negationSymbol.front)+"]","g"),"")).replace(new RegExp(t.escapeRegex(r.negationSymbol.back)+"$"),""),isNaN(r.placeholder)&&(p=p.replace(new RegExp(t.escapeRegex(r.placeholder),"g"),"")),p.length>1&&1!==p.indexOf(r.radixPoint)&&("0"===c&&(p=p.replace(/^\?/g,"")),p=p.replace(/^0/g,"")),p.charAt(0)===r.radixPoint&&""!==r.radixPoint&&!0!==r.numericInput&&(p="0"+p),""!==p){if(p=p.split(""),(!r.digitsOptional||r.enforceDigitsOnBlur&&"blur"===a.event)&&isFinite(r.digits)){var f=e.inArray(r.radixPoint,p),m=e.inArray(r.radixPoint,u);-1===f&&(p.push(r.radixPoint),f=p.length-1);for(var d=1;d<=r.digits;d++)r.digitsOptional&&(!r.enforceDigitsOnBlur||"blur"!==a.event)||p[f+d]!==i&&p[f+d]!==r.placeholder.charAt(0)?-1!==m&&u[m+d]!==i&&(p[f+d]=p[f+d]||u[m+d]):p[f+d]=a.placeholder||r.placeholder.charAt(0)}if(!0!==r.autoGroup||""===r.groupSeparator||c===r.radixPoint&&a.pos===i&&!a.dopost)p=p.join("");else{var h=p[p.length-1]===r.radixPoint&&a.c===r.radixPoint;p=t(function(e,t){var i="";if(i+="("+t.groupSeparator+"*{"+t.groupSize+"}){*}",""!==t.radixPoint){var n=e.join("").split(t.radixPoint);n[1]&&(i+=t.radixPoint+"*{"+n[1].match(/^\d*\??\d*/)[0].length+"}")}return i}(p,r),{numericInput:!0,jitMasking:!0,definitions:{"*":{validator:"[0-9?]",cardinality:1}}}).format(p.join("")),h&&(p+=r.radixPoint),p.charAt(0)===r.groupSeparator&&p.substr(1)}}if(r.isNegative&&"blur"===a.event&&(r.isNegative="0"!==p),p=s+p,p+=o,r.isNegative&&(p=r.negationSymbol.front+p,p+=r.negationSymbol.back),p=p.split(""),c!==i)if(c!==r.radixPoint&&c!==r.negationSymbol.front&&c!==r.negationSymbol.back)(l=e.inArray("?",p))>-1?p[l]=c:l=a.caret||0;else if(c===r.radixPoint||c===r.negationSymbol.front||c===r.negationSymbol.back){var g=e.inArray(c,p);-1!==g&&(l=g)}r.numericInput&&(l=p.length-l-1,p=p.reverse());var v={caret:c===i||a.pos!==i?l+(r.numericInput?-1:1):l,buffer:p,refreshFromBuffer:a.dopost||n.join("")!==p.join("")};return v.refreshFromBuffer?v:a},onBeforeWrite:function(n,a,r,o){if(n)switch(n.type){case"keydown":return o.postValidation(a,{caret:r,dopost:!0},o);case"blur":case"checkval":var s;if((l=o).parseMinMaxOptions===i&&(null!==l.min&&(l.min=l.min.toString().replace(new RegExp(t.escapeRegex(l.groupSeparator),"g"),""),","===l.radixPoint&&(l.min=l.min.replace(l.radixPoint,".")),l.min=isFinite(l.min)?parseFloat(l.min):NaN,isNaN(l.min)&&(l.min=Number.MIN_VALUE)),null!==l.max&&(l.max=l.max.toString().replace(new RegExp(t.escapeRegex(l.groupSeparator),"g"),""),","===l.radixPoint&&(l.max=l.max.replace(l.radixPoint,".")),l.max=isFinite(l.max)?parseFloat(l.max):NaN,isNaN(l.max)&&(l.max=Number.MAX_VALUE)),l.parseMinMaxOptions="done"),null!==o.min||null!==o.max){if(s=o.onUnMask(a.join(""),i,e.extend({},o,{unmaskAsNumber:!0})),null!==o.min&&s<o.min)return o.isNegative=o.min<0,o.postValidation(o.min.toString().replace(".",o.radixPoint).split(""),{caret:r,dopost:!0,placeholder:"0"},o);if(null!==o.max&&s>o.max)return o.isNegative=o.max<0,o.postValidation(o.max.toString().replace(".",o.radixPoint).split(""),{caret:r,dopost:!0,placeholder:"0"},o)}return o.postValidation(a,{caret:r,placeholder:"0",event:"blur"},o);case"_checkval":return{caret:r}}var l},regex:{integerPart:function(e,i){return i?new RegExp("["+t.escapeRegex(e.negationSymbol.front)+"+]?"):new RegExp("["+t.escapeRegex(e.negationSymbol.front)+"+]?\\d+")},integerNPart:function(e){return new RegExp("[\\d"+t.escapeRegex(e.groupSeparator)+t.escapeRegex(e.placeholder.charAt(0))+"]+")}},definitions:{"~":{validator:function(e,n,a,r,o,s){var l=r?new RegExp("[0-9"+t.escapeRegex(o.groupSeparator)+"]").test(e):new RegExp("[0-9]").test(e);
9979if(!0===l){if(!0!==o.numericInput&&n.validPositions[a]!==i&&"~"===n.validPositions[a].match.def&&!s){var u=n.buffer.join(""),c=(u=(u=u.replace(new RegExp("[-"+t.escapeRegex(o.negationSymbol.front)+"]","g"),"")).replace(new RegExp(t.escapeRegex(o.negationSymbol.back)+"$"),"")).split(o.radixPoint);c.length>1&&(c[1]=c[1].replace(/0/g,o.placeholder.charAt(0))),"0"===c[0]&&(c[0]=c[0].replace(/0/g,o.placeholder.charAt(0))),u=c[0]+o.radixPoint+c[1]||"";var p=n._buffer.join("");for(u===o.radixPoint&&(u=p);null===u.match(t.escapeRegex(p)+"$");)p=p.slice(1);l=(u=(u=u.replace(p,"")).split(""))[a]===i?{pos:a,remove:a}:{pos:a}}}else r||e!==o.radixPoint||n.validPositions[a-1]!==i||(n.buffer[a]="0",l={pos:a+1});return l},cardinality:1},"+":{validator:function(e,t,i,n,a){return a.allowMinus&&("-"===e||e===a.negationSymbol.front)},cardinality:1,placeholder:""},"-":{validator:function(e,t,i,n,a){return a.allowMinus&&e===a.negationSymbol.back},cardinality:1,placeholder:""},":":{validator:function(e,i,n,a,r){var o="["+t.escapeRegex(r.radixPoint)+"]",s=new RegExp(o).test(e);return s&&i.validPositions[n]&&i.validPositions[n].match.placeholder===r.radixPoint&&(s={caret:n+1}),s},cardinality:1,placeholder:function(e){return e.radixPoint}}},onUnMask:function(e,i,n){if(""===i&&!0===n.nullable)return i;var a=e.replace(n.prefix,"");return a=(a=a.replace(n.suffix,"")).replace(new RegExp(t.escapeRegex(n.groupSeparator),"g"),""),""!==n.placeholder.charAt(0)&&(a=a.replace(new RegExp(n.placeholder.charAt(0),"g"),"0")),n.unmaskAsNumber?(""!==n.radixPoint&&-1!==a.indexOf(n.radixPoint)&&(a=a.replace(t.escapeRegex.call(this,n.radixPoint),".")),a=(a=a.replace(new RegExp("^"+t.escapeRegex(n.negationSymbol.front)),"-")).replace(new RegExp(t.escapeRegex(n.negationSymbol.back)+"$"),""),Number(a)):a},isComplete:function(e,i){var n=e.join("");if(e.slice().join("")!==n)return!1;var a=n.replace(i.prefix,"");return a=(a=a.replace(i.suffix,"")).replace(new RegExp(t.escapeRegex(i.groupSeparator)+"([0-9]{3})","g"),"$1"),","===i.radixPoint&&(a=a.replace(t.escapeRegex(i.radixPoint),".")),isFinite(a)},onBeforeMask:function(e,n){if(n.isNegative=i,e=e.toString().charAt(e.length-1)===n.radixPoint?e.toString().substr(0,e.length-1):e.toString(),""!==n.radixPoint&&isFinite(e)){var a=e.split("."),r=""!==n.groupSeparator?parseInt(n.groupSize):0;2===a.length&&(a[0].length>r||a[1].length>r||a[0].length<=r&&a[1].length<r)&&(e=e.replace(".",n.radixPoint))}var o=e.match(/,/g),s=e.match(/\./g);if(e=s&&o?s.length>o.length?(e=e.replace(/\./g,"")).replace(",",n.radixPoint):o.length>s.length?(e=e.replace(/,/g,"")).replace(".",n.radixPoint):e.indexOf(".")<e.indexOf(",")?e.replace(/\./g,""):e.replace(/,/g,""):e.replace(new RegExp(t.escapeRegex(n.groupSeparator),"g"),""),0===n.digits&&(-1!==e.indexOf(".")?e=e.substring(0,e.indexOf(".")):-1!==e.indexOf(",")&&(e=e.substring(0,e.indexOf(",")))),""!==n.radixPoint&&isFinite(n.digits)&&-1!==e.indexOf(n.radixPoint)){var l=e.split(n.radixPoint)[1].match(new RegExp("\\d*"))[0];if(parseInt(n.digits)<l.toString().length){var u=Math.pow(10,parseInt(n.digits));e=e.replace(t.escapeRegex(n.radixPoint),"."),e=(e=Math.round(parseFloat(e)*u)/u).toString().replace(".",n.radixPoint)}}return e},canClearPosition:function(e,t,i,n,a){var r=e.validPositions[t],o=r.input!==a.radixPoint||null!==e.validPositions[t].match.fn&&!1===a.decimalProtect||r.input===a.radixPoint&&e.validPositions[t+1]&&null===e.validPositions[t+1].match.fn||isFinite(r.input)||t===i||r.input===a.groupSeparator||r.input===a.negationSymbol.front||r.input===a.negationSymbol.back;return!o||"+"!==r.match.nativeDef&&"-"!==r.match.nativeDef||(a.isNegative=!1),o},onKeyDown:function(i,n,a,r){var o=e(this);if(i.ctrlKey)switch(i.keyCode){case t.keyCode.UP:o.val(parseFloat(this.inputmask.unmaskedvalue())+parseInt(r.step)),o.trigger("setvalue");break;case t.keyCode.DOWN:o.val(parseFloat(this.inputmask.unmaskedvalue())-parseInt(r.step)),o.trigger("setvalue")}}},currency:{prefix:"$ ",groupSeparator:",",alias:"numeric",placeholder:"0",autoGroup:!0,digits:2,digitsOptional:!1,clearMaskOnLostFocus:!1},decimal:{alias:"numeric"},integer:{alias:"numeric",digits:0,radixPoint:""},percentage:{alias:"numeric",digits:2,digitsOptional:!0,radixPoint:".",placeholder:"0",autoGroup:!1,min:0,max:100,suffix:" %",allowMinus:!1}}),t})?n.apply(t,a):n)&&(e.exports=r)},function(e,t,i){"use strict";var n,a,r;"function"==typeof Symbol&&Symbol.iterator,a=[i(0),i(1)],void 0!==(r="function"==typeof(n=function(e,t){function i(e,t){var i=(e.mask||e).replace(/#/g,"0").replace(/\)/,"0").replace(/[+()#-]/g,""),n=(t.mask||t).replace(/#/g,"0").replace(/\)/,"0").replace(/[+()#-]/g,"");return i.localeCompare(n)}
9979var n=t.prototype.analyseMask;return t.prototype.analyseMask=function(t,i,a){var r={};return a.phoneCodes&&(a.phoneCodes&&a.phoneCodes.length>1e3&&(function e(i,n,a){n=n||"",a=a||r,""!==n&&(a[n]={});for(var o="",s=a[n]||a,l=i.length-1;l>=0;l--)s[o=(t=i[l].mask||i[l]).substr(0,1)]=s[o]||[],s[o].unshift(t.substr(1)),i.splice(l,1);for(var u in s)s[u].length>500&&e(s[u].slice(),u,s)}((t=t.substr(1,t.length-2)).split(a.groupmarker[1]+a.alternatormarker+a.groupmarker[0])),t=function t(i){var n="",r=[];for(var o in i)e.isArray(i[o])?1===i[o].length?r.push(o+i[o]):r.push(o+a.groupmarker[0]+i[o].join(a.groupmarker[1]+a.alternatormarker+a.groupmarker[0])+a.groupmarker[1]):r.push(o+t(i[o]));return 1===r.length?n+=r[0]:n+=a.groupmarker[0]+r.join(a.groupmarker[1]+a.alternatormarker+a.groupmarker[0])+a.groupmarker[1],n}(r)),t=t.replace(/9/g,"\\9")),n.call(this,t,i,a)},t.extendAliases({abstractphone:{groupmarker:["<",">"],countrycode:"",phoneCodes:[],keepStatic:"auto",mask:function(e){return e.definitions={"#":t.prototype.definitions[9]},e.phoneCodes.sort(i)},onBeforeMask:function(e,t){var i=e.replace(/^0{1,2}/,"").replace(/[\s]/g,"");return(i.indexOf(t.countrycode)>1||-1===i.indexOf(t.countrycode))&&(i="+"+t.countrycode+i),i},onUnMask:function(e,t,i){return e.replace(/[()#-]/g,"")},inputmode:"tel"}}),t})?n.apply(t,a):n)&&(e.exports=r)},function(e,t,i){"use strict";var n,a,r,o="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=[i(2),i(1)],void 0!==(r="function"==typeof(n=function(e,t){return void 0===e.fn.inputmask&&(e.fn.inputmask=function(i,n){var a,r=this[0];if(void 0===n&&(n={}),"string"==typeof i)switch(i){case"unmaskedvalue":return r&&r.inputmask?r.inputmask.unmaskedvalue():e(r).val();case"remove":return this.each(function(){this.inputmask&&this.inputmask.remove()});case"getemptymask":return r&&r.inputmask?r.inputmask.getemptymask():"";case"hasMaskedValue":return!(!r||!r.inputmask)&&r.inputmask.hasMaskedValue();case"isComplete":return!r||!r.inputmask||r.inputmask.isComplete();case"getmetadata":return r&&r.inputmask?r.inputmask.getmetadata():void 0;case"setvalue":e(r).val(n),r&&void 0===r.inputmask&&e(r).triggerHandler("setvalue");break;case"option":if("string"!=typeof n)return this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(n)});if(r&&void 0!==r.inputmask)return r.inputmask.option(n);break;default:return n.alias=i,a=new t(n),this.each(function(){a.mask(this)})}else{if("object"==(void 0===i?"undefined":o(i)))return a=new t(i),void 0===i.mask&&void 0===i.alias?this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(i);a.mask(this)}):this.each(function(){a.mask(this)});if(void 0===i)return this.each(function(){(a=new t(n)).mask(this)})}}),e.fn.inputmask})?n.apply(t,a):n)&&(e.exports=r)}]);
9980/* End */
9981;; /* /bitrix/templates/aspro-premier/js/observer.js?17745963267026*/
9982; /* /bitrix/templates/aspro-premier/js/lite.bootstrap.js?177459632619575*/
9983; /* /bitrix/templates/aspro-premier/vendor/jquery.cookie.js?17745963252426*/
9984; /* /bitrix/templates/aspro-premier/vendor/jquery.validate.min.js?177459632522254*/
9985; /* /bitrix/templates/aspro-premier/vendor/js/ripple.js?17745963254702*/
9986; /* /bitrix/templates/aspro-premier/js/detectmobilebrowser.js?17745963262203*/
9987; /* /bitrix/templates/aspro-premier/js/matchMedia.js?17745963261585*/
9988; /* /bitrix/templates/aspro-premier/js/jquery.actual.min.js?17745963261239*/
9989; /* /bitrix/templates/aspro-premier/js/jquery.plugin.min.js?17745963263356*/
9990; /* /bitrix/templates/aspro-premier/js/jqModal.js?177459632611182*/
9991; /* /bitrix/templates/aspro-premier/js/scrollTabs.js?177459632614271*/
9992; /* /bitrix/templates/aspro-premier/js/conditional/file-input.js?17745963261272*/
9993; /* /bitrix/templates/aspro-premier/js/autoload/accordion.js?1774596326853*/
9994; /* /bitrix/templates/aspro-premier/js/autoload/controls.js?17745963263659*/
9995; /* /bitrix/templates/aspro-premier/js/autoload/counter.js?17787654376516*/
9996; /* /bitrix/templates/aspro-premier/js/autoload/dropdown-product.js?17745963261447*/
9997; /* /bitrix/templates/aspro-premier/js/autoload/section-toggle.js?17745963261832*/
9998; /* /bitrix/templates/aspro-premier/js/autoload/tabs-history.js?17745963261664*/
9999; /* /bitrix/templates/aspro-premier/js/general.js?1778765438133855*/
10000; /* /bitrix/templates/aspro-premier/js/mobile.js?177459632629822*/
10001; /* /bitrix/templates/aspro-premier/js/custom.js?1774596326100*/
10002; /* /bitrix/templates/aspro-premier/js/metrika.goals.min.js?17745963267001*/
10003; /* /bitrix/templates/aspro-premier/js/logo.min.js?17745963263052*/
10004; /* /bitrix/templates/aspro-premier/js/item-action.min.js?177876543729303*/
10005; /* /bitrix/templates/aspro-premier/js/notice.min.js?177876543716454*/
10006; /* /bitrix/templates/aspro-premier/js/scroll_to_top.min.js?17745963262367*/
10007; /* /bitrix/templates/aspro-premier/js/regions.define.min.js?17745963262818*/
10008; /* /bitrix/templates/aspro-premier/components/bitrix/menu/header/script.js?17745963253972*/
10009; /* /bitrix/templates/aspro-premier/js/conditional/collaps.js?1774596326590*/
10010;
10010 /* /bitrix/components/aspro/theme.selector.premier/templates/.default/script.js?17745962967768*/
10011; /* /bitrix/components/bitrix/search.title/script.js?177459629710542*/
10012; /* /bitrix/templates/aspro-premier/js/conditional/search_title/search-title.js?177459632613727*/
10013; /* /bitrix/templates/aspro-premier/js/conditional/search_title/search-title-handlers.desktop.js?17745963264365*/
10014; /* /bitrix/components/aspro/search.title.options/templates/.default/script.js?177459629612085*/
10015; /* /bitrix/components/aspro/search.title.options.voice/assets/voice.min.js?17745962961491*/
10016; /* /bitrix/components/aspro/smartsearch.input/script.js?17745962962718*/
10017; /* /bitrix/templates/aspro-premier/js/dragscroll.min.js?17745963265337*/
10018; /* /bitrix/components/aspro/com.banners.premier/templates/.default/script.js?17745962964640*/
10019; /* /bitrix/templates/aspro-premier/js/slider.swiper.min.js?17745963261707*/
10020; /* /bitrix/templates/aspro-premier/vendor/js/carousel/swiper/swiper-bundle.min.js?1774596325158093*/
10021; /* /bitrix/templates/aspro-premier/components/bitrix/catalog.section/catalog_block/script.js?17745963252623*/
10022; /* /bitrix/templates/aspro-premier/js/conditional/prices.min.js?1774596326420*/
10023; /* /bitrix/templates/aspro-premier/js/conditional/pagination.js?1774596326873*/
10024; /* /bitrix/templates/aspro-premier/js/conditional/input_numeric.js?17745963261261*/
10025; /* /bitrix/templates/aspro-premier/js/select_offer_load.min.js?1774596326230*/
10026; /* /bitrix/templates/aspro-premier/js/conditional/hint.min.js?1774596326515*/
10027; /* /bitrix/templates/aspro-premier/js/index-tabs.min.js?17745963262381*/
10028; /* /bitrix/templates/aspro-premier/components/bitrix/menu/bottom/script.js?1774596325470*/
10029; /* /bitrix/templates/aspro-premier/js/jquery.inputmask.bundle.min.js?177459632670933*/
10030
10031//# sourceMappingURL=template_b8a5809145465c652c2be83ca65fec55.map.js

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.