{"version":3,"file":"ls.parent-fit-DUGwMZvo.js","sources":["../../../client/node_modules/lazysizes/lazysizes.js","../../../client/node_modules/lazysizes/plugins/parent-fit/ls.parent-fit.js"],"sourcesContent":["(function(window, factory) {\n\tvar lazySizes = factory(window, window.document, Date);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(typeof window != 'undefined' ?\n window : {}, \n/**\n * import(\"./types/global\")\n * @typedef { import(\"./types/lazysizes-config\").LazySizesConfigPartial } LazySizesConfigPartial\n */\nfunction l(window, document, Date) { // Pass in the window Date function also for SSR because the Date class can be lost\n\t'use strict';\n\t/*jshint eqnull:true */\n\n\tvar lazysizes,\n\t\t/**\n\t\t * @type { LazySizesConfigPartial }\n\t\t */\n\t\tlazySizesCfg;\n\n\t(function(){\n\t\tvar prop;\n\n\t\tvar lazySizesDefaults = {\n\t\t\tlazyClass: 'lazyload',\n\t\t\tloadedClass: 'lazyloaded',\n\t\t\tloadingClass: 'lazyloading',\n\t\t\tpreloadClass: 'lazypreload',\n\t\t\terrorClass: 'lazyerror',\n\t\t\t//strictClass: 'lazystrict',\n\t\t\tautosizesClass: 'lazyautosizes',\n\t\t\tfastLoadedClass: 'ls-is-cached',\n\t\t\tiframeLoadMode: 0,\n\t\t\tsrcAttr: 'data-src',\n\t\t\tsrcsetAttr: 'data-srcset',\n\t\t\tsizesAttr: 'data-sizes',\n\t\t\t//preloadAfterLoad: false,\n\t\t\tminSize: 40,\n\t\t\tcustomMedia: {},\n\t\t\tinit: true,\n\t\t\texpFactor: 1.5,\n\t\t\thFac: 0.8,\n\t\t\tloadMode: 2,\n\t\t\tloadHidden: true,\n\t\t\tricTimeout: 0,\n\t\t\tthrottleDelay: 125,\n\t\t};\n\n\t\tlazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesCfg)){\n\t\t\t\tlazySizesCfg[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\t})();\n\n\tif (!document || !document.getElementsByClassName) {\n\t\treturn {\n\t\t\tinit: function () {},\n\t\t\t/**\n\t\t\t * @type { LazySizesConfigPartial }\n\t\t\t */\n\t\t\tcfg: lazySizesCfg,\n\t\t\t/**\n\t\t\t * @type { true }\n\t\t\t */\n\t\t\tnoSupport: true,\n\t\t};\n\t}\n\n\tvar docElem = document.documentElement;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\t/**\n\t * Update to bind to window because 'this' becomes null during SSR\n\t * builds.\n\t */\n\tvar addEventListener = window[_addEventListener].bind(window);\n\n\tvar setTimeout = window.setTimeout;\n\n\tvar requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n\tvar requestIdleCallback = window.requestIdleCallback;\n\n\tvar regPicture = /^picture$/i;\n\n\tvar loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n\tvar regClassCache = {};\n\n\tvar forEach = Array.prototype.forEach;\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar hasClass = function(ele, cls) {\n\t\tif(!regClassCache[cls]){\n\t\t\tregClassCache[cls] = new RegExp('(\\\\s|^)'+cls+'(\\\\s|$)');\n\t\t}\n\t\treturn regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n\t};\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar addClass = function(ele, cls) {\n\t\tif (!hasClass(ele, cls)){\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n\t\t}\n\t};\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar removeClass = function(ele, cls) {\n\t\tvar reg;\n\t\tif ((reg = hasClass(ele,cls))) {\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n\t\t}\n\t};\n\n\tvar addRemoveLoadEvents = function(dom, fn, add){\n\t\tvar action = add ? _addEventListener : 'removeEventListener';\n\t\tif(add){\n\t\t\taddRemoveLoadEvents(dom, fn);\n\t\t}\n\t\tloadEvents.forEach(function(evt){\n\t\t\tdom[action](evt, fn);\n\t\t});\n\t};\n\n\t/**\n\t * @param elem { Element }\n\t * @param name { string }\n\t * @param detail { any }\n\t * @param noBubbles { boolean }\n\t * @param noCancelable { boolean }\n\t * @returns { CustomEvent }\n\t */\n\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('Event');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initEvent(name, !noBubbles, !noCancelable);\n\n\t\tevent.detail = detail;\n\n\t\telem.dispatchEvent(event);\n\t\treturn event;\n\t};\n\n\tvar updatePolyfill = function (el, full){\n\t\tvar polyfill;\n\t\tif( !supportPicture && ( polyfill = (window.picturefill || lazySizesCfg.pf) ) ){\n\t\t\tif(full && full.src && !el[_getAttribute]('srcset')){\n\t\t\t\tel.setAttribute('srcset', full.src);\n\t\t\t}\n\t\t\tpolyfill({reevaluate: true, elements: [el]});\n\t\t} else if(full && full.src){\n\t\t\tel.src = full.src;\n\t\t}\n\t};\n\n\tvar getCSS = function (elem, style){\n\t\treturn (getComputedStyle(elem, null) || {})[style];\n\t};\n\n\t/**\n\t *\n\t * @param elem { Element }\n\t * @param parent { Element }\n\t * @param [width] {number}\n\t * @returns {number}\n\t */\n\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth){\n\t\t\twidth = parent.offsetWidth;\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\treturn width;\n\t};\n\n\tvar rAF = (function(){\n\t\tvar running, waiting;\n\t\tvar firstFns = [];\n\t\tvar secondFns = [];\n\t\tvar fns = firstFns;\n\n\t\tvar run = function(){\n\t\t\tvar runFns = fns;\n\n\t\t\tfns = firstFns.length ? secondFns : firstFns;\n\n\t\t\trunning = true;\n\t\t\twaiting = false;\n\n\t\t\twhile(runFns.length){\n\t\t\t\trunFns.shift()();\n\t\t\t}\n\n\t\t\trunning = false;\n\t\t};\n\n\t\tvar rafBatch = function(fn, queue){\n\t\t\tif(running && !queue){\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t} else {\n\t\t\t\tfns.push(fn);\n\n\t\t\t\tif(!waiting){\n\t\t\t\t\twaiting = true;\n\t\t\t\t\t(document.hidden ? setTimeout : requestAnimationFrame)(run);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trafBatch._lsFlush = run;\n\n\t\treturn rafBatch;\n\t})();\n\n\tvar rAFIt = function(fn, simple){\n\t\treturn simple ?\n\t\t\tfunction() {\n\t\t\t\trAF(fn);\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tvar that = this;\n\t\t\t\tvar args = arguments;\n\t\t\t\trAF(function(){\n\t\t\t\t\tfn.apply(that, args);\n\t\t\t\t});\n\t\t\t}\n\t\t;\n\t};\n\n\tvar throttle = function(fn){\n\t\tvar running;\n\t\tvar lastTime = 0;\n\t\tvar gDelay = lazySizesCfg.throttleDelay;\n\t\tvar rICTimeout = lazySizesCfg.ricTimeout;\n\t\tvar run = function(){\n\t\t\trunning = false;\n\t\t\tlastTime = Date.now();\n\t\t\tfn();\n\t\t};\n\t\tvar idleCallback = requestIdleCallback && rICTimeout > 49 ?\n\t\t\tfunction(){\n\t\t\t\trequestIdleCallback(run, {timeout: rICTimeout});\n\n\t\t\t\tif(rICTimeout !== lazySizesCfg.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesCfg.ricTimeout;\n\t\t\t\t}\n\t\t\t} :\n\t\t\trAFIt(function(){\n\t\t\t\tsetTimeout(run);\n\t\t\t}, true)\n\t\t;\n\n\t\treturn function(isPriority){\n\t\t\tvar delay;\n\n\t\t\tif((isPriority = isPriority === true)){\n\t\t\t\trICTimeout = 33;\n\t\t\t}\n\n\t\t\tif(running){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trunning = true;\n\n\t\t\tdelay = gDelay - (Date.now() - lastTime);\n\n\t\t\tif(delay < 0){\n\t\t\t\tdelay = 0;\n\t\t\t}\n\n\t\t\tif(isPriority || delay < 9){\n\t\t\t\tidleCallback();\n\t\t\t} else {\n\t\t\t\tsetTimeout(idleCallback, delay);\n\t\t\t}\n\t\t};\n\t};\n\n\t//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\tvar debounce = function(func) {\n\t\tvar timeout, timestamp;\n\t\tvar wait = 99;\n\t\tvar run = function(){\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tvar later = function() {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tsetTimeout(later, wait - last);\n\t\t\t} else {\n\t\t\t\t(requestIdleCallback || run)(run);\n\t\t\t}\n\t\t};\n\n\t\treturn function() {\n\t\t\ttimestamp = Date.now();\n\n\t\t\tif (!timeout) {\n\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t}\n\t\t};\n\t};\n\n\tvar loader = (function(){\n\t\tvar preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent));\n\n\t\tvar shrinkExpand = 0;\n\t\tvar currentExpand = 0;\n\n\t\tvar isLoading = 0;\n\t\tvar lowRuns = -1;\n\n\t\tvar resetPreloading = function(e){\n\t\t\tisLoading--;\n\t\t\tif(!e || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isVisible = function (elem) {\n\t\t\tif (isBodyHidden == null) {\n\t\t\t\tisBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n\t\t\t}\n\n\t\t\treturn isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\n\t\t};\n\n\t\tvar isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = isVisible(elem);\n\n\t\t\teLtop -= elemExpand;\n\t\t\teLbottom += elemExpand;\n\t\t\teLleft -= elemExpand;\n\t\t\teLright += elemExpand;\n\n\t\t\twhile(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){\n\t\t\t\tvisible = ((getCSS(parent, 'opacity') || 1) > 0);\n\n\t\t\t\tif(visible && getCSS(parent, 'overflow') != 'visible'){\n\t\t\t\t\touterRect = parent.getBoundingClientRect();\n\t\t\t\t\tvisible = eLright > outerRect.left &&\n\t\t\t\t\t\teLleft < outerRect.right &&\n\t\t\t\t\t\teLbottom > outerRect.top - 1 &&\n\t\t\t\t\t\teLtop < outerRect.bottom + 1\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn visible;\n\t\t};\n\n\t\tvar checkElements = function() {\n\t\t\tvar eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal,\n\t\t\t\tbeforeExpandVal, defaultExpand, preloadExpand, hFac;\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tfor(; i < eLlen; i++){\n\n\t\t\t\t\tif(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}\n\n\t\t\t\t\tif(!supportScroll || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){unveilElement(lazyloadElems[i]);continue;}\n\n\t\t\t\t\tif(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){\n\t\t\t\t\t\telemExpand = currentExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!defaultExpand) {\n\t\t\t\t\t\tdefaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ?\n\t\t\t\t\t\t\tdocElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :\n\t\t\t\t\t\t\tlazySizesCfg.expand;\n\n\t\t\t\t\t\tlazysizes._defEx = defaultExpand;\n\n\t\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesCfg.expFactor;\n\t\t\t\t\t\thFac = lazySizesCfg.hFac;\n\t\t\t\t\t\tisBodyHidden = null;\n\n\t\t\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\t\t\tlowRuns = 0;\n\t\t\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(beforeExpandVal !== elemExpand){\n\t\t\t\t\t\teLvW = innerWidth + (elemExpand * hFac);\n\t\t\t\t\t\telvH = innerHeight + elemExpand;\n\t\t\t\t\t\telemNegativeExpand = elemExpand * -1;\n\t\t\t\t\t\tbeforeExpandVal = elemExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\trect = lazyloadElems[i].getBoundingClientRect();\n\n\t\t\t\t\tif ((eLbottom = rect.bottom) >= elemNegativeExpand &&\n\t\t\t\t\t\t(eLtop = rect.top) <= elvH &&\n\t\t\t\t\t\t(eLright = rect.right) >= elemNegativeExpand * hFac &&\n\t\t\t\t\t\t(eLleft = rect.left) <= eLvW &&\n\t\t\t\t\t\t(eLbottom || eLright || eLleft || eLtop) &&\n\t\t\t\t\t\t(lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\n\t\t\t\t\t\t((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){\n\t\t\t\t\t\tunveilElement(lazyloadElems[i]);\n\t\t\t\t\t\tloadedSomething = true;\n\t\t\t\t\t\tif(isLoading > 9){break;}\n\t\t\t\t\t} else if(!loadedSomething && isCompleted && !autoLoadElem &&\n\t\t\t\t\t\tisLoading < 4 && lowRuns < 4 && loadMode > 2 &&\n\t\t\t\t\t\t(preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto')))){\n\t\t\t\t\t\tautoLoadElem = preloadElems[0] || lazyloadElems[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(autoLoadElem && !loadedSomething){\n\t\t\t\t\tunveilElement(autoLoadElem);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledCheckElements = throttle(checkElements);\n\n\t\tvar switchLoadingClass = function(e){\n\t\t\tvar elem = e.target;\n\n\t\t\tif (elem._lazyCache) {\n\t\t\t\tdelete elem._lazyCache;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresetPreloading(e);\n\t\t\taddClass(elem, lazySizesCfg.loadedClass);\n\t\t\tremoveClass(elem, lazySizesCfg.loadingClass);\n\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(elem, 'lazyloaded');\n\t\t};\n\t\tvar rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\t\tvar rafSwitchLoadingClass = function(e){\n\t\t\trafedSwitchLoadingClass({target: e.target});\n\t\t};\n\n\t\tvar changeIframeSrc = function(elem, src){\n\t\t\tvar loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode;\n\n\t\t\t// loadMode can be also a string!\n\t\t\tif (loadMode == 0) {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} else if (loadMode == 1) {\n\t\t\t\telem.src = src;\n\t\t\t}\n\t\t};\n\n\t\tvar handleSources = function(source){\n\t\t\tvar customMedia;\n\n\t\t\tvar sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){\n\t\t\t\tsource.setAttribute('media', customMedia);\n\t\t\t}\n\n\t\t\tif(sourceSrcset){\n\t\t\t\tsource.setAttribute('srcset', sourceSrcset);\n\t\t\t}\n\t\t};\n\n\t\tvar lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){\n\t\t\tvar src, srcset, parent, isPicture, event, firesLoad;\n\n\t\t\tif(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){\n\n\t\t\t\tif(sizes){\n\t\t\t\t\tif(isAuto){\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.autosizesClass);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.setAttribute('sizes', sizes);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsrcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesCfg.srcAttr);\n\n\t\t\t\tif(isImg) {\n\t\t\t\t\tparent = elem.parentNode;\n\t\t\t\t\tisPicture = parent && regPicture.test(parent.nodeName || '');\n\t\t\t\t}\n\n\t\t\t\tfiresLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));\n\n\t\t\t\tevent = {target: elem};\n\n\t\t\t\taddClass(elem, lazySizesCfg.loadingClass);\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\t\t\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n\t\t\t\t}\n\n\t\t\t\tif(isPicture){\n\t\t\t\t\tforEach.call(parent.getElementsByTagName('source'), handleSources);\n\t\t\t\t}\n\n\t\t\t\tif(srcset){\n\t\t\t\t\telem.setAttribute('srcset', srcset);\n\t\t\t\t} else if(src && !isPicture){\n\t\t\t\t\tif(regIframe.test(elem.nodeName)){\n\t\t\t\t\t\tchangeIframeSrc(elem, src);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.src = src;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(isImg && (srcset || isPicture)){\n\t\t\t\t\tupdatePolyfill(elem, {src: src});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(elem._lazyRace){\n\t\t\t\tdelete elem._lazyRace;\n\t\t\t}\n\t\t\tremoveClass(elem, lazySizesCfg.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\t// Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n\t\t\t\tvar isLoaded = elem.complete && elem.naturalWidth > 1;\n\n\t\t\t\tif( !firesLoad || isLoaded){\n\t\t\t\t\tif (isLoaded) {\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.fastLoadedClass);\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t\telem._lazyCache = true;\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tif ('_lazyCache' in elem) {\n\t\t\t\t\t\t\tdelete elem._lazyCache;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 9);\n\t\t\t\t}\n\t\t\t\tif (elem.loading == 'lazy') {\n\t\t\t\t\tisLoading--;\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\t/**\n\t\t *\n\t\t * @param elem { Element }\n\t\t */\n\t\tvar unveilElement = function (elem){\n\t\t\tif (elem._lazyRace) {return;}\n\t\t\tvar detail;\n\n\t\t\tvar isImg = regImg.test(elem.nodeName);\n\n\t\t\t//allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n\t\t\tvar sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));\n\t\t\tvar isAuto = sizes == 'auto';\n\n\t\t\tif( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)){return;}\n\n\t\t\tdetail = triggerEvent(elem, 'lazyunveilread').detail;\n\n\t\t\tif(isAuto){\n\t\t\t\t autoSizer.updateElem(elem, true, elem.offsetWidth);\n\t\t\t}\n\n\t\t\telem._lazyRace = true;\n\t\t\tisLoading++;\n\n\t\t\tlazyUnveil(elem, detail, isAuto, sizes, isImg);\n\t\t};\n\n\t\tvar afterScroll = debounce(function(){\n\t\t\tlazySizesCfg.loadMode = 3;\n\t\t\tthrottledCheckElements();\n\t\t});\n\n\t\tvar altLoadmodeScrollListner = function(){\n\t\t\tif(lazySizesCfg.loadMode == 3){\n\t\t\t\tlazySizesCfg.loadMode = 2;\n\t\t\t}\n\t\t\tafterScroll();\n\t\t};\n\n\t\tvar onload = function(){\n\t\t\tif(isCompleted){return;}\n\t\t\tif(Date.now() - started < 999){\n\t\t\t\tsetTimeout(onload, 999);\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesCfg.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', altLoadmodeScrollListner, true);\n\t\t};\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tstarted = Date.now();\n\n\t\t\t\tlazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('pageshow', function (e) {\n\t\t\t\t\tif (e.persisted) {\n\t\t\t\t\t\tvar loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n\n\t\t\t\t\t\tif (loadingElements.length && loadingElements.forEach) {\n\t\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\t\tloadingElements.forEach( function (img) {\n\t\t\t\t\t\t\t\t\tif (img.complete) {\n\t\t\t\t\t\t\t\t\t\tunveilElement(img);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif(window.MutationObserver){\n\t\t\t\t\tnew MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );\n\t\t\t\t} else {\n\t\t\t\t\tdocElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\t\t\t\t\tdocElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\t\t\t\t\tsetInterval(throttledCheckElements, 999);\n\t\t\t\t}\n\n\t\t\t\taddEventListener('hashchange', throttledCheckElements, true);\n\n\t\t\t\t//, 'fullscreenchange'\n\t\t\t\t['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function(name){\n\t\t\t\t\tdocument[_addEventListener](name, throttledCheckElements, true);\n\t\t\t\t});\n\n\t\t\t\tif((/d$|^c/.test(document.readyState))){\n\t\t\t\t\tonload();\n\t\t\t\t} else {\n\t\t\t\t\taddEventListener('load', onload);\n\t\t\t\t\tdocument[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\t\t\t\t\tsetTimeout(onload, 20000);\n\t\t\t\t}\n\n\t\t\t\tif(lazysizes.elements.length){\n\t\t\t\t\tcheckElements();\n\t\t\t\t\trAF._lsFlush();\n\t\t\t\t} else {\n\t\t\t\t\tthrottledCheckElements();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcheckElems: throttledCheckElements,\n\t\t\tunveil: unveilElement,\n\t\t\t_aLSL: altLoadmodeScrollListner,\n\t\t};\n\t})();\n\n\n\tvar autoSizer = (function(){\n\t\tvar autosizesElems;\n\n\t\tvar sizeElement = rAFIt(function(elem, parent, event, width){\n\t\t\tvar sources, i, len;\n\t\t\telem._lazysizesWidth = width;\n\t\t\twidth += 'px';\n\n\t\t\telem.setAttribute('sizes', width);\n\n\t\t\tif(regPicture.test(parent.nodeName || '')){\n\t\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\t\tsources[i].setAttribute('sizes', width);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!event.detail.dataAttr){\n\t\t\t\tupdatePolyfill(elem, event.detail);\n\t\t\t}\n\t\t});\n\t\t/**\n\t\t *\n\t\t * @param elem {Element}\n\t\t * @param dataAttr\n\t\t * @param [width] { number }\n\t\t */\n\t\tvar getSizeElement = function (elem, dataAttr, width){\n\t\t\tvar event;\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif(parent){\n\t\t\t\twidth = getWidth(elem, parent, width);\n\t\t\t\tevent = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});\n\n\t\t\t\tif(!event.defaultPrevented){\n\t\t\t\t\twidth = event.detail.width;\n\n\t\t\t\t\tif(width && width !== elem._lazysizesWidth){\n\t\t\t\t\t\tsizeElement(elem, parent, event, width);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar updateElementsSizes = function(){\n\t\t\tvar i;\n\t\t\tvar len = autosizesElems.length;\n\t\t\tif(len){\n\t\t\t\ti = 0;\n\n\t\t\t\tfor(; i < len; i++){\n\t\t\t\t\tgetSizeElement(autosizesElems[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tautosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);\n\t\t\t\taddEventListener('resize', debouncedUpdateElementsSizes);\n\t\t\t},\n\t\t\tcheckElems: debouncedUpdateElementsSizes,\n\t\t\tupdateElem: getSizeElement\n\t\t};\n\t})();\n\n\tvar init = function(){\n\t\tif(!init.i && document.getElementsByClassName){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tsetTimeout(function(){\n\t\tif(lazySizesCfg.init){\n\t\t\tinit();\n\t\t}\n\t});\n\n\tlazysizes = {\n\t\t/**\n\t\t * @type { LazySizesConfigPartial }\n\t\t */\n\t\tcfg: lazySizesCfg,\n\t\tautoSizer: autoSizer,\n\t\tloader: loader,\n\t\tinit: init,\n\t\tuP: updatePolyfill,\n\t\taC: addClass,\n\t\trC: removeClass,\n\t\thC: hasClass,\n\t\tfire: triggerEvent,\n\t\tgW: getWidth,\n\t\trAF: rAF,\n\t};\n\n\treturn lazysizes;\n}\n));\n","(function(window, factory) {\n\tif(!window) {return;}\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(typeof window != 'undefined' ?\n\twindow : 0, function(window, document, lazySizes) {\n\t'use strict';\n\n\tif(!window.addEventListener){return;}\n\n\tvar regDescriptors = /\\s+(\\d+)(w|h)\\s+(\\d+)(w|h)/;\n\tvar regCssFit = /parent-fit[\"']*\\s*:\\s*[\"']*(contain|cover|width)/;\n\tvar regCssObject = /parent-container[\"']*\\s*:\\s*[\"']*(.+?)(?=(\\s|$|,|'|\"|;))/;\n\tvar regPicture = /^picture$/i;\n\tvar cfg = lazySizes.cfg;\n\n\tvar getCSS = function (elem){\n\t\treturn (getComputedStyle(elem, null) || {});\n\t};\n\n\tvar parentFit = {\n\n\t\tgetParent: function(element, parentSel){\n\t\t\tvar parent = element;\n\t\t\tvar parentNode = element.parentNode;\n\n\t\t\tif((!parentSel || parentSel == 'prev') && parentNode && regPicture.test(parentNode.nodeName || '')){\n\t\t\t\tparentNode = parentNode.parentNode;\n\t\t\t}\n\n\t\t\tif(parentSel != 'self'){\n\t\t\t\tif(parentSel == 'prev'){\n\t\t\t\t\tparent = element.previousElementSibling;\n\t\t\t\t} else if(parentSel && (parentNode.closest || window.jQuery)){\n\t\t\t\t\tparent = (parentNode.closest ?\n\t\t\t\t\t\t\tparentNode.closest(parentSel) :\n\t\t\t\t\t\t\tjQuery(parentNode).closest(parentSel)[0]) ||\n\t\t\t\t\t\tparentNode\n\t\t\t\t\t;\n\t\t\t\t} else {\n\t\t\t\t\tparent = parentNode;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn parent;\n\t\t},\n\n\t\tgetFit: function(element){\n\t\t\tvar tmpMatch, parentObj;\n\t\t\tvar css = getCSS(element);\n\t\t\tvar content = css.content || css.fontFamily;\n\t\t\tvar obj = {\n\t\t\t\tfit: element._lazysizesParentFit || element.getAttribute('data-parent-fit')\n\t\t\t};\n\n\t\t\tif(!obj.fit && content && (tmpMatch = content.match(regCssFit))){\n\t\t\t\tobj.fit = tmpMatch[1];\n\t\t\t}\n\n\t\t\tif(obj.fit){\n\t\t\t\tparentObj = element._lazysizesParentContainer || element.getAttribute('data-parent-container');\n\n\t\t\t\tif(!parentObj && content && (tmpMatch = content.match(regCssObject))){\n\t\t\t\t\tparentObj = tmpMatch[1];\n\t\t\t\t}\n\n\t\t\t\tobj.parent = parentFit.getParent(element, parentObj);\n\n\n\t\t\t} else {\n\t\t\t\tobj.fit = css.objectFit;\n\t\t\t}\n\n\t\t\treturn obj;\n\t\t},\n\n\t\tgetImageRatio: function(element){\n\t\t\tvar i, srcset, media, ratio, match, width, height;\n\t\t\tvar parent = element.parentNode;\n\t\t\tvar elements = parent && regPicture.test(parent.nodeName || '') ?\n\t\t\t\t\tparent.querySelectorAll('source, img') :\n\t\t\t\t\t[element]\n\t\t\t\t;\n\n\t\t\tfor(i = 0; i < elements.length; i++){\n\t\t\t\telement = elements[i];\n\t\t\t\tsrcset = element.getAttribute(cfg.srcsetAttr) || element.getAttribute('srcset') || element.getAttribute('data-pfsrcset') || element.getAttribute('data-risrcset') || '';\n\t\t\t\tmedia = element._lsMedia || element.getAttribute('media');\n\t\t\t\tmedia = cfg.customMedia[element.getAttribute('data-media') || media] || media;\n\n\t\t\t\tif(srcset && (!media || (window.matchMedia && matchMedia(media) || {}).matches )){\n\t\t\t\t\tratio = parseFloat(element.getAttribute('data-aspectratio'));\n\n\t\t\t\t\tif (!ratio) {\n\t\t\t\t\t\tmatch = srcset.match(regDescriptors);\n\n\t\t\t\t\t\tif (match) {\n\t\t\t\t\t\t\tif(match[2] == 'w'){\n\t\t\t\t\t\t\t\twidth = match[1];\n\t\t\t\t\t\t\t\theight = match[3];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twidth = match[3];\n\t\t\t\t\t\t\t\theight = match[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twidth = element.getAttribute('width');\n\t\t\t\t\t\t\theight = element.getAttribute('height');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tratio = width / height;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ratio;\n\t\t},\n\n\t\tcalculateSize: function(element, width){\n\t\t\tvar displayRatio, height, imageRatio, retWidth;\n\t\t\tvar fitObj = this.getFit(element);\n\t\t\tvar fit = fitObj.fit;\n\t\t\tvar fitElem = fitObj.parent;\n\n\t\t\tif(fit != 'width' && ((fit != 'contain' && fit != 'cover') || !(imageRatio = this.getImageRatio(element)))){\n\t\t\t\treturn width;\n\t\t\t}\n\n\t\t\tif(fitElem){\n\t\t\t\twidth = fitElem.clientWidth;\n\t\t\t} else {\n\t\t\t\tfitElem = element;\n\t\t\t}\n\n\t\t\tretWidth = width;\n\n\t\t\tif(fit == 'width'){\n\t\t\t\tretWidth = width;\n\t\t\t} else {\n\t\t\t\theight = fitElem.clientHeight;\n\n\t\t\t\tif((displayRatio = width / height) && ((fit == 'cover' && displayRatio < imageRatio) || (fit == 'contain' && displayRatio > imageRatio))){\n\t\t\t\t\tretWidth = width * (imageRatio / displayRatio);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn retWidth;\n\t\t}\n\t};\n\n\tlazySizes.parentFit = parentFit;\n\n\tdocument.addEventListener('lazybeforesizes', function(e){\n\t\tif(e.defaultPrevented || e.detail.instance != lazySizes){return;}\n\n\t\tvar element = e.target;\n\t\te.detail.width = parentFit.calculateSize(element, e.detail.width);\n\t});\n}));\n"],"names":["window","factory","lazySizes","module","document","Date","lazysizes","lazySizesCfg","prop","lazySizesDefaults","docElem","supportPicture","_addEventListener","_getAttribute","addEventListener","setTimeout","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","forEach","hasClass","ele","cls","addClass","removeClass","reg","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","elem","name","detail","noBubbles","noCancelable","event","updatePolyfill","el","full","polyfill","getCSS","style","getWidth","parent","width","rAF","running","waiting","firstFns","secondFns","fns","run","runFns","rafBatch","queue","rAFIt","simple","that","args","throttle","lastTime","gDelay","rICTimeout","idleCallback","isPriority","delay","debounce","func","timeout","timestamp","wait","later","last","loader","preloadElems","isCompleted","resetPreloadingTimer","loadMode","started","eLvW","elvH","eLtop","eLleft","eLright","eLbottom","isBodyHidden","regImg","regIframe","supportScroll","shrinkExpand","currentExpand","isLoading","lowRuns","resetPreloading","e","isVisible","isNestedVisible","elemExpand","outerRect","visible","checkElements","eLlen","i","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","hFac","lazyloadElems","unveilElement","throttledCheckElements","switchLoadingClass","rafSwitchLoadingClass","rafedSwitchLoadingClass","changeIframeSrc","src","handleSources","source","customMedia","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","firesLoad","isLoaded","autoSizer","afterScroll","altLoadmodeScrollListner","onload","loadingElements","img","autosizesElems","sizeElement","sources","len","getSizeElement","dataAttr","updateElementsSizes","debouncedUpdateElementsSizes","init","globalInstall","require$$0","regDescriptors","regCssFit","regCssObject","cfg","parentFit","element","parentSel","parentNode","tmpMatch","parentObj","css","content","obj","media","ratio","match","height","elements","displayRatio","imageRatio","retWidth","fitObj","fit","fitElem"],"mappings":"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","x_google_ignoreList":[0,1]}