{"version":3,"file":"vendors.js","sources":["../../node_modules/browser-update/update.npm.js","../../node_modules/focus-visible/dist/focus-visible.js","../../node_modules/svg4everybody/dist/svg4everybody.js","../../node_modules/object-fit-images/dist/ofi.common-js.js","../../sources/javascripts/vendors.js"],"sourcesContent":["//(c)2019, MIT Style License \r\n//it is recommended to directly link to this file because we update the detection code\r\n\"use strict\";\r\n\r\nvar $bu_= new function() {\r\n var s=this;\r\n this.version=\"3.3.25\";\r\n this.vsakt = {c:\"87.0.4280\",f:83,s:\"13.1.2\",e:86,i:12,ios:\"13.3\",samsung:12.0,o:71,e_a:45.09,o_a:59.1,y:\"20.9.1\",v:3.3,uc:\"13.3\"};\r\n //severely insecure below(!) this version, insecure means remote code execution that is actively being exploited\r\n this.vsinsecure_below = {c:\"86.0.0.4240.111\",f:76,s:\"11.1.1\",e:16,i:11,ios:\"12.3\",samsung:9.0,o:62,o_a:52,y:\"20\",v:\"2.7\",uc:\"13.1\"};\r\n this.vsdefault = {c:-3,f:-3,s:-1,e:17,i:11,ios:10,samsung:9.9,o:-3,o_a:-3,y:20.4,v:2.6,uc:13.0,a:535};\r\n this.names={c:\"Chrome\",f:'Firefox',s:'Safari',e:\"Edge\",i:'Internet Explorer',ios:\"iOS\",samsung:\"Samsung Internet\",o:'Opera',o_a:'Opera', e_a:\"Edge\", y:\"Yandex Browser\",v:\"Vivaldi\",uc:\"UC Browser\",a:\"Android Browser\",x:\"Other\",silk:\"Silk\"};\r\n\r\n this.get_browser = function(ua) {\r\n var n,ua=(ua||navigator.userAgent).replace(\"_\",\".\"),r={n:\"x\",v:0,t:\"other browser\",age_years:undefined,no_device_update:false,available:s.vsakt};\r\n function ignore(reason,pattern){if (new RegExp(pattern,\"i\").test(ua)) return reason;return false}\r\n r.other=ignore(\"bot\",\"Pagespeed|pingdom|Preview|ktxn|dynatrace|Ruxit|PhantomJS|Headless|Lighthouse|bot|spider|archiver|transcoder|crawl|checker|monitoring|prerender|screenshot|python-|php|uptime|validator|fetcher|facebook|slurp|google|yahoo|node|mail.ru|github|cloudflare|addthis|thumb|proxy|feed|fetch|favicon|link|http|scrape|seo|page|search console|AOLBuild|Teoma|Expeditor\")||\r\n ignore(\"TV\",\"SMART-TV|SmartTV\") ||\r\n ignore(\"niche browser\",\"OculusBrowser|Falkon|Brave|Classic Browser|Dorado|LBBROWSER|Focus|waterfox|Firefox/56.2|Firefox/56.3|Whale|MIDP|k-meleon|sparrow|wii|Chromium|Puffin|Opera Mini|maxthon|maxton|dolfin|dolphin|seamonkey|opera mini|netfront|moblin|maemo|arora|kazehakase|epiphany|konqueror|rekonq|symbian|webos|PaleMoon|QupZilla|Otter|Midori|qutebrowser\") ||\r\n ignore(\"mobile without upgrade path or landing page\",\"OPR/44.12.2246|cros|kindle|tizen|silk|blackberry|bb10|RIM|PlayBook|meego|nokia|ucweb|ZuneWP7|537.85.10\");\r\n// ignore(\"android(chrome) web view\",\"; wv\");\r\n r.embedded=/\"QtWebEngine|Teams|Electron/i.test(ua);\r\n r.mobile=(/iphone|ipod|ipad|android|mobile|phone|ios|iemobile/i.test(ua));\r\n r.discontinued=(/netscape|greenbrowser|camino|flot|fennec|galeon|coolnovo/i.test(ua));\r\n\r\n var pats=[\r\n [\"CriOS.VV\",\"c\",'ios'],\r\n [\"FxiOS.VV\",\"f\",'ios'],\r\n [\"Trident.*rv:VV\",\"i\",'i'],\r\n [\"Trident.VV\",\"io\",'i'],\r\n [\"UCBrowser.VV\",\"uc\",'c'],\r\n [\"MSIE.VV\",\"i\",'i'],\r\n [\"Edge.VV\",\"e\",'e'],\r\n [\"Edg.VV\",\"e\",'c'],\r\n [\"EdgA.VV\",\"e_a\",'c'],\r\n [\"Vivaldi.VV\",\"v\",'c'],\r\n [\"Android.*OPR.VV\",\"o_a\",'c'],\r\n [\"OPR.VV\",\"o\",'c'],\r\n [\"YaBrowser.VV\",\"y\",'c'],\r\n [\"SamsungBrowser.VV\",\"samsung\",'c'],\r\n [\"Silk.VV\",\"silk\",'c'],\r\n [\"Chrome.VV\",\"c\",'c'],\r\n [\"Firefox.VV\",\"f\",'f'],\r\n [\" OS.VV.*Safari\",\"ios\",'ios'],\r\n [\"Version.VV.*Safari\",\"s\",'s'],\r\n [\"Safari.VV\",\"so\",'s'],\r\n [\"Opera.*Version.VV\",\"o\"],\r\n [\"Opera.VV\",\"o\"]\r\n ];\r\n var VV=\"(\\\\d+\\\\.?\\\\d+\\\\.?\\\\d*\\\\.?\\\\d*)\";\r\n for (var i=0; i < pats.length; i++) {\r\n if (ua.match(new RegExp(pats[i][0].replace(\"VV\",VV),\"i\"))) {\r\n r.n=pats[i][1];\r\n r.engine=pats[i][2];\r\n break;\r\n } \r\n }\r\n r.fullv=RegExp.$1;\r\n r.v=parseFloat(r.fullv);\r\n\r\n // Special treatment of some systems\r\n //do not notify old systems since there is no up-to-date browser available\r\n if (/windows.nt.5.0|windows.nt.4.0|windows.95|windows.98|os x 10.2|os x 10.3|os x 10.4|os x 10.5/i.test(ua)) {\r\n r.no_device_update=true;\r\n r.available={}\r\n }\r\n //Safari on iOS 13 in Desktop mode\r\n if (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) {\r\n r.n=\"ios\";\r\n r.engine='ios';\r\n r.fullv=r.v=13;\r\n r.no_device_update=true;//For now, never show a message, TODO!\r\n }\r\n //iOS\r\n if (/iphone|ipod|ipad|ios/i.test(ua)) {\r\n ua.match(new RegExp(\"OS.\"+VV,\"i\"));\r\n r.n=\"ios\";\r\n r.fullv=RegExp.$1;\r\n r.v=parseFloat(r.fullv);\r\n r.engine='ios';\r\n var av=s.available_ios(ua,r.v);\r\n /*\r\n var newmap={10:\"10.3.4\",11:\"12.4.3\",12:\"12.4.3\",13:s.vsakt[\"ios\"]};\r\n\r\n if (av in newmap)\r\n av=newmap[av];\r\n */\r\n if (av < 12 && Math.round(r.v)===11)// all devices with ios 11 support ios 12\r\n av=12\r\n r.available = {\"ios\": av};\r\n if (parseFloat(r.available.ios)<11)\r\n r.no_device_update=true;\r\n }\r\n //winxp/vista/2003\r\n if (/windows.nt.5.1|windows.nt.5.2|windows.nt.6.0/i.test(ua)) {\r\n r.available={\"c\":49.9,\"f\":52.9}\r\n }\r\n //old mac\r\n if (/os x 10.6/i.test(ua)) {\r\n r.available = {\"s\": \"5.1.10\", \"c\": 49.9, \"f\": 48}\r\n r.no_device_update=true;\r\n }\r\n\r\n if (/os x 10.7|os x 10.8/i.test(ua)) {\r\n r.available = {\"s\": \"6.2.8\", \"c\": 49.9, \"f\": 48}\r\n r.no_device_update=true;\r\n }\r\n if (/os x 10.9/i.test(ua))\r\n r.available.s=\"9.1.3\"\r\n\r\n if (/os x 10.10/i.test(ua))\r\n r.available.s=\"10.1.2\"\r\n\r\n //check for android stock browser\r\n if (ua.indexOf('Android')>-1 && r.n===\"s\") {\r\n var v=parseInt((/WebKit\\/([0-9]+)/i.exec(ua) || 0)[1],10) || 2000;\r\n if (v <= 534) {\r\n r.n=\"a\";\r\n r.fullv=r.v=v;\r\n r.is_insecure=true;\r\n }\r\n }\r\n\r\n // Special treatment of some browsers\r\n if (r.n===\"so\") {\r\n r.v=r.fullv=4.0;\r\n r.n=\"s\";\r\n }\r\n if (r.n===\"io\") {\r\n r.n=\"i\";\r\n if (r.v>6) r.v=11;\r\n else if (r.v>5) r.v=10;\r\n else if (r.v>4) r.v=9;\r\n else if (r.v>3.1) r.v=8;\r\n else if (r.v>3) r.v=7;\r\n else r.v=9;\r\n r.fullv=r.v;\r\n }\r\n r.t=s.names[r.n]+\" \"+r.v;\r\n r.is_supported=r.is_latest= !s.vsakt[r.n] ? undefined : s.less(r.fullv,s.vsakt[r.n])<=0;\r\n \r\n r.vmaj=Math.round(r.v);\r\n\r\n r.is_insecure= r.is_insecure|| !s.vsinsecure_below[r.n] ? undefined : s.less(r.fullv,s.vsinsecure_below[r.n])===1;\r\n \r\n if ((r.n===\"f\" && (r.vmaj===78)) || (r.n===\"i\" && r.vmaj===11)) {\r\n r.is_supported=true;\r\n r.is_insecure=false;\r\n if (r.n===\"f\")\r\n r.esr=true;\r\n }\r\n if (r.n===\"ios\" && r.v>10.3)\r\n r.is_supported=true;\r\n if (r.n===\"a\" || r.n===\"x\")\r\n r.t=s.names[r.n];\r\n if (r.n===\"e\") {\r\n r.t = s.names[r.n] + \" \" + r.vmaj;\r\n r.is_supported = s.less(r.fullv, \"18.15063\") != 1\r\n }\r\n if (r.n in [\"c\",\"f\",\"o\",\"e\"] && s.less(r.fullv,parseFloat(s.vsakt[r.n])-1)<=0)\r\n r.is_supported=true; //mark also the version before the current version as supported to make the transitions smoother\r\n\r\n var releases_per_year={'f':7,'c':8,'o':8,'i':1,'e':1,'s':1}//,'v':1}\r\n if (releases_per_year[r.n]) {\r\n r.age_years=Math.round(((s.vsakt[r.n]-r.v)/releases_per_year[r.n])*10)/10 || 0\r\n }\r\n var engines={e:\"Edge.VV\",c:\"Chrome.VV\",f:\"Firefox.VV\",s:\"Version.VV\",i:\"MSIE.VV\",\"ios\":\" OS.VV\"}\r\n if (r.engine) {\r\n ua.match(new RegExp(engines[r.engine].replace(\"VV\",VV),\"i\"))\r\n r.engine_version=parseFloat(RegExp.$1)\r\n } \r\n return r\r\n}\r\nthis.semver = function(vstr) {\r\n if (vstr instanceof Array)\r\n return vstr\r\n var x = (vstr+(\".0.0.0\")).split('.')\r\n return [parseInt(x[0]) || 0, parseInt(x[1]) || 0, parseInt(x[2]) || 0, parseInt(x[3]) || 0]\r\n}\r\nthis.less= function(v1,v2) {\r\n //semantic version comparison: returns 1 if v1v2\r\n v1=s.semver(v1)\r\n v2=s.semver(v2)\r\n for (var i=0; ;i++) {\r\n if (i>=v1.length) return i>=v2.length ? 0 : 1;\r\n if (i>=v2.length) return -1;\r\n var diff = v2[i]-v1[i]\r\n if (diff) return diff>0 ? 1 : -1;\r\n }\r\n}\r\nthis.available_ios=function(ua,v) {\r\n var h = Math.max(window.screen.height, window.screen.width),pr = window.devicePixelRatio\r\n if (/ipad/i.test(ua)) {\r\n if (h == 1024 && pr == 2) // iPad 3 (iOS 9), 4, 5, Mini 2, Mini 3, Mini 4, Air, Air 2, Pro 9.7\r\n return 10//? only ipad 4 has ios 10, all other can have ios 11\r\n if (h == 1112)// iPad Pro 10.5\r\n return 15;\r\n if (h == 1366)//iPad Pro 12.9, Pro 12.9 (2nd Gen)\r\n return 15\r\n if (h == 1024 && v < 6)\r\n return 5 // iPad\r\n return 9 // iPad 2, iPad Mini\r\n }\r\n if (pr == 1)// 1/3G/3GS\r\n return 6//for 3GS\r\n if (h == 812)// && pr == 3)// X\r\n return 11 + 4\r\n if ((h == 736 || h == 667))// && pr == 3)// 6+/6s+/7+ and 8+ or // 6+/6s+/7+ and 8+ in zoom mode + // 6/6s/7 and 8\r\n return 12//latest version for iphone 6 is 12, 13 is for 6S\r\n if (h == 568) // 5/5C/5s/SE or 6/6s/7 and 8 in zoom mode\r\n return 10\r\n if (h == 480) // i4/4s\r\n return 7\r\n return 6\r\n}\r\n/*\r\nthis.sub= function(v,minus) {\r\n //semantic version subtraction\r\n v=s.semver(v)\r\n minus=s.semver(minus)\r\n for (var i=0; ;i++) {\r\n if (i>=v.length||i>minus.length) break;\r\n v[i]-=v[minus];\r\n }\r\n return v.join('.')\r\n}\r\n*/\r\n}\r\n\r\nwindow.$bu_getBrowser=$bu_.get_browser;\r\n\r\nvar $buo = function(op,test) {\r\nvar n = window.navigator,b;\r\nop=window._buorgres=op||{};\r\nvar ll = op.l||(n.languages ? n.languages[0] : null) || n.language || n.browserLanguage || n.userLanguage||document.documentElement.getAttribute(\"lang\")||\"en\";\r\nop.llfull=ll.replace(\"_\",\"-\").toLowerCase().substr(0,5);\r\nop.ll=op.llfull.substr(0,2);\r\nop.domain=op.domain!==undefined?op.domain:(/file:/.test(location.href)?\"https:\":\"\")+\"//browser-update.org\";\r\nop.apiver=op.api||op.c||-1;\r\nop.jsv=$bu_.version;\r\n\r\nvar required_min=(op.apiver<2018&&{i:10,f:11,o:21,s:8,c:30})||{};\r\n\r\nvar vs=op.notify||op.vs||{};//legacy config: maximum version to notify\r\nvs.e=vs.e||vs.i;\r\nvs.i=vs.i||vs.e;\r\nvar required=op.required||{};//minimum browser versions needed\r\nrequired.e=required.e||required.i;\r\nif (!required.i) {\r\n required.i=required.e;\r\n $bu_.vsakt.i=$bu_.vsakt.e;\r\n}\r\n\r\nfor (b in $bu_.vsdefault) {\r\n if (vs[b]) {//legacy style config: browsers to notify\r\n if ($bu_.less(vs[b],0)>=0) // required <= 0\r\n required[b]= parseFloat($bu_.vsakt[b])+parseFloat(vs[b])+0.01\r\n else\r\n required[b] = parseFloat(vs[b]) + 0.01\r\n }\r\n if (!(b in required) || required[b]==null)\r\n required[b]=$bu_.vsdefault[b]\r\n if ($bu_.less(required[b],0)>=0) // case for required <= 0 --> relative to latest version\r\n required[b]=parseFloat($bu_.vsakt[b])+parseFloat(required[b]) // TODO: make it work for string version\r\n if (required_min[b] && $bu_.less(required[b],required_min[b])===1) // required < required_min\r\n required[b]=required_min[b]\r\n}\r\nrequired.ios=required.ios||required.s;\r\n\r\nif (required.i<79 && required.i>65)\r\n required.i=required.i-60\r\nif (required.e<79 && required.e>65)\r\n required.e=required.e-60\r\nop.required=required;\r\nop.reminder=op.reminder<0.1 ? 0 : op.reminder||(24*7);\r\nop.reminderClosed=op.reminderClosed<1 ? 0 : op.reminderClosed||(24*7);\r\nop.onshow = op.onshow||function(o){};\r\nop.onclick = op.onclick||function(o){};\r\nop.onclose = op.onclose||function(o){};\r\nop.pageurl = op.pageurl || location.hostname || \"x\";\r\nop.newwindow=(op.newwindow!==false);\r\n\r\nop.test=test||op.test||(location.hash===\"#test-bu\")||false;\r\nop.ignorecookie=op.ignorecookie||location.hash===\"#ignorecookie-bu\";\r\n\r\nop.reasons=[];\r\nop.hide_reasons=[];\r\nfunction check_show(op) {\r\n var bb=op.browser=$bu_.get_browser(op.override_ua);\r\n op.is_below_required = required[bb.n] && $bu_.less(bb.fullv,required[bb.n])===1; //bb.fullv0)\r\n return false\r\n if (op.reasons.length>0)\r\n return true\r\n return false\r\n }\r\n\r\nop.notified=check_show(op);\r\n\r\nop.already_shown=document.cookie.indexOf(\"browserupdateorg=pause\")>-1 && !op.ignorecookie;\r\n\r\nif (!op.test && (!op.notified || op.already_shown))\r\n return;\r\n\r\nop.setCookie=function(hours) { //sets a cookie that the user has already seen the notification, closed it or permanently wants to hide it. No information on the user is stored.\r\n document.cookie = 'browserupdateorg=pause; expires='+(new Date(new Date().getTime()+3600000*hours)).toGMTString()+'; path=/; SameSite=Lax';\r\n};\r\n\r\nif (op.already_shown && (op.ignorecookie || op.test))\r\n op.setCookie(-10)// remove old cookies if in test mode\r\n\r\nif (op.reminder>0)\r\n op.setCookie(op.reminder);\r\n\r\nif (op.nomessage) {\r\n op.onshow(op);\r\n return;\r\n}\r\n\r\nvar e=document.createElement(\"script\");\r\ne.src = op.jsshowurl||op.domain+\"/update.show.min.js\";\r\ndocument.body.appendChild(e);\r\n};\r\n\r\n\r\nif( typeof( module ) !== 'undefined' ) {\r\n module.exports = $buo;\r\n}\r\n\r\n\r\n\r\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName == 'INPUT' && inputTypesWhitelist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName == 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState == 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","!function(root, factory) {\n \"function\" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set\n define([], function() {\n return root.svg4everybody = factory();\n }) : \"object\" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory() : root.svg4everybody = factory();\n}(this, function() {\n /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */\n function embed(parent, svg, target) {\n // if the target exists\n if (target) {\n // create a document fragment to hold the contents of the target\n var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute(\"viewBox\") && target.getAttribute(\"viewBox\");\n // conditionally set the viewBox on the svg\n viewBox && svg.setAttribute(\"viewBox\", viewBox);\n // copy the contents of the clone into the fragment\n for (// clone the target\n var clone = target.cloneNode(!0); clone.childNodes.length; ) {\n fragment.appendChild(clone.firstChild);\n }\n // append the fragment into the svg\n parent.appendChild(fragment);\n }\n }\n function loadreadystatechange(xhr) {\n // listen to changes in the request\n xhr.onreadystatechange = function() {\n // if the request is ready\n if (4 === xhr.readyState) {\n // get the cached html document\n var cachedDocument = xhr._cachedDocument;\n // ensure the cached html document based on the xhr response\n cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(\"\"), \n cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item\n xhr._embeds.splice(0).map(function(item) {\n // get the cached target\n var target = xhr._cachedTarget[item.id];\n // ensure the cached target\n target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), \n // embed the target into the svg\n embed(item.parent, item.svg, target);\n });\n }\n }, // test the ready state change immediately\n xhr.onreadystatechange();\n }\n function svg4everybody(rawopts) {\n function oninterval() {\n // while the index exists in the live collection\n for (// get the cached index\n var index = 0; index < uses.length; ) {\n // get the current \n var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(\"xlink:href\") || use.getAttribute(\"href\");\n if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), \n svg && src) {\n if (polyfill) {\n if (!opts.validate || opts.validate(src, svg, use)) {\n // remove the element\n parent.removeChild(use);\n // parse the src and get the url and id\n var srcSplit = src.split(\"#\"), url = srcSplit.shift(), id = srcSplit.join(\"#\");\n // if the link is external\n if (url.length) {\n // get the cached xhr request\n var xhr = requests[url];\n // ensure the xhr request exists\n xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(\"GET\", url), xhr.send(), \n xhr._embeds = []), // add the svg and id as an item to the xhr embeds list\n xhr._embeds.push({\n parent: parent,\n svg: svg,\n id: id\n }), // prepare the xhr ready state change event\n loadreadystatechange(xhr);\n } else {\n // embed the local id into the svg\n embed(parent, svg, document.getElementById(id));\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index, ++numberOfSvgUseElementsToBypass;\n }\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index;\n }\n }\n // continue the interval\n (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);\n }\n var polyfill, opts = Object(rawopts), newerIEUA = /\\bTrident\\/[567]\\b|\\bMSIE (?:9|10)\\.0\\b/, webkitUA = /\\bAppleWebKit\\/(\\d+)\\b/, olderEdgeUA = /\\bEdge\\/12\\.(\\d+)\\b/, edgeUA = /\\bEdge\\/.(\\d+)\\b/, inIframe = window.top !== window.self;\n polyfill = \"polyfill\" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;\n // create xhr requests object\n var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(\"use\"), numberOfSvgUseElementsToBypass = 0;\n // conditionally start the interval if the polyfill is active\n polyfill && oninterval();\n }\n function getSVGAncestor(node) {\n for (var svg = node; \"svg\" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}\n return svg;\n }\n return svg4everybody;\n});","/*! npm.im/object-fit-images 3.2.4 */\n'use strict';\n\nvar OFI = 'bfred-it:object-fit-images';\nvar propRegex = /(object-fit|object-position)\\s*:\\s*([-.\\w\\s%]+)/g;\nvar testImg = typeof Image === 'undefined' ? {style: {'object-position': 1}} : new Image();\nvar supportsObjectFit = 'object-fit' in testImg.style;\nvar supportsObjectPosition = 'object-position' in testImg.style;\nvar supportsOFI = 'background-size' in testImg.style;\nvar supportsCurrentSrc = typeof testImg.currentSrc === 'string';\nvar nativeGetAttribute = testImg.getAttribute;\nvar nativeSetAttribute = testImg.setAttribute;\nvar autoModeEnabled = false;\n\nfunction createPlaceholder(w, h) {\n\treturn (\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" + w + \"' height='\" + h + \"'%3E%3C/svg%3E\");\n}\n\nfunction polyfillCurrentSrc(el) {\n\tif (el.srcset && !supportsCurrentSrc && window.picturefill) {\n\t\tvar pf = window.picturefill._;\n\t\t// parse srcset with picturefill where currentSrc isn't available\n\t\tif (!el[pf.ns] || !el[pf.ns].evaled) {\n\t\t\t// force synchronous srcset parsing\n\t\t\tpf.fillImg(el, {reselect: true});\n\t\t}\n\n\t\tif (!el[pf.ns].curSrc) {\n\t\t\t// force picturefill to parse srcset\n\t\t\tel[pf.ns].supported = false;\n\t\t\tpf.fillImg(el, {reselect: true});\n\t\t}\n\n\t\t// retrieve parsed currentSrc, if any\n\t\tel.currentSrc = el[pf.ns].curSrc || el.src;\n\t}\n}\n\nfunction getStyle(el) {\n\tvar style = getComputedStyle(el).fontFamily;\n\tvar parsed;\n\tvar props = {};\n\twhile ((parsed = propRegex.exec(style)) !== null) {\n\t\tprops[parsed[1]] = parsed[2];\n\t}\n\treturn props;\n}\n\nfunction setPlaceholder(img, width, height) {\n\t// Default: fill width, no height\n\tvar placeholder = createPlaceholder(width || 1, height || 0);\n\n\t// Only set placeholder if it's different\n\tif (nativeGetAttribute.call(img, 'src') !== placeholder) {\n\t\tnativeSetAttribute.call(img, 'src', placeholder);\n\t}\n}\n\nfunction onImageReady(img, callback) {\n\t// naturalWidth is only available when the image headers are loaded,\n\t// this loop will poll it every 100ms.\n\tif (img.naturalWidth) {\n\t\tcallback(img);\n\t} else {\n\t\tsetTimeout(onImageReady, 100, img, callback);\n\t}\n}\n\nfunction fixOne(el) {\n\tvar style = getStyle(el);\n\tvar ofi = el[OFI];\n\tstyle['object-fit'] = style['object-fit'] || 'fill'; // default value\n\n\t// Avoid running where unnecessary, unless OFI had already done its deed\n\tif (!ofi.img) {\n\t\t// fill is the default behavior so no action is necessary\n\t\tif (style['object-fit'] === 'fill') {\n\t\t\treturn;\n\t\t}\n\n\t\t// Where object-fit is supported and object-position isn't (Safari < 10)\n\t\tif (\n\t\t\t!ofi.skipTest && // unless user wants to apply regardless of browser support\n\t\t\tsupportsObjectFit && // if browser already supports object-fit\n\t\t\t!style['object-position'] // unless object-position is used\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// keep a clone in memory while resetting the original to a blank\n\tif (!ofi.img) {\n\t\tofi.img = new Image(el.width, el.height);\n\t\tofi.img.srcset = nativeGetAttribute.call(el, \"data-ofi-srcset\") || el.srcset;\n\t\tofi.img.src = nativeGetAttribute.call(el, \"data-ofi-src\") || el.src;\n\n\t\t// preserve for any future cloneNode calls\n\t\t// https://github.com/bfred-it/object-fit-images/issues/53\n\t\tnativeSetAttribute.call(el, \"data-ofi-src\", el.src);\n\t\tif (el.srcset) {\n\t\t\tnativeSetAttribute.call(el, \"data-ofi-srcset\", el.srcset);\n\t\t}\n\n\t\tsetPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height);\n\n\t\t// remove srcset because it overrides src\n\t\tif (el.srcset) {\n\t\t\tel.srcset = '';\n\t\t}\n\t\ttry {\n\t\t\tkeepSrcUsable(el);\n\t\t} catch (err) {\n\t\t\tif (window.console) {\n\t\t\t\tconsole.warn('https://bit.ly/ofi-old-browser');\n\t\t\t}\n\t\t}\n\t}\n\n\tpolyfillCurrentSrc(ofi.img);\n\n\tel.style.backgroundImage = \"url(\\\"\" + ((ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"')) + \"\\\")\";\n\tel.style.backgroundPosition = style['object-position'] || 'center';\n\tel.style.backgroundRepeat = 'no-repeat';\n\tel.style.backgroundOrigin = 'content-box';\n\n\tif (/scale-down/.test(style['object-fit'])) {\n\t\tonImageReady(ofi.img, function () {\n\t\t\tif (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\n\t\t\t\tel.style.backgroundSize = 'contain';\n\t\t\t} else {\n\t\t\t\tel.style.backgroundSize = 'auto';\n\t\t\t}\n\t\t});\n\t} else {\n\t\tel.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\n\t}\n\n\tonImageReady(ofi.img, function (img) {\n\t\tsetPlaceholder(el, img.naturalWidth, img.naturalHeight);\n\t});\n}\n\nfunction keepSrcUsable(el) {\n\tvar descriptors = {\n\t\tget: function get(prop) {\n\t\t\treturn el[OFI].img[prop ? prop : 'src'];\n\t\t},\n\t\tset: function set(value, prop) {\n\t\t\tel[OFI].img[prop ? prop : 'src'] = value;\n\t\t\tnativeSetAttribute.call(el, (\"data-ofi-\" + prop), value); // preserve for any future cloneNode\n\t\t\tfixOne(el);\n\t\t\treturn value;\n\t\t}\n\t};\n\tObject.defineProperty(el, 'src', descriptors);\n\tObject.defineProperty(el, 'currentSrc', {\n\t\tget: function () { return descriptors.get('currentSrc'); }\n\t});\n\tObject.defineProperty(el, 'srcset', {\n\t\tget: function () { return descriptors.get('srcset'); },\n\t\tset: function (ss) { return descriptors.set(ss, 'srcset'); }\n\t});\n}\n\nfunction hijackAttributes() {\n\tfunction getOfiImageMaybe(el, name) {\n\t\treturn el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\n\t}\n\tif (!supportsObjectPosition) {\n\t\tHTMLImageElement.prototype.getAttribute = function (name) {\n\t\t\treturn nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\n\t\t};\n\n\t\tHTMLImageElement.prototype.setAttribute = function (name, value) {\n\t\t\treturn nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\n\t\t};\n\t}\n}\n\nfunction fix(imgs, opts) {\n\tvar startAutoMode = !autoModeEnabled && !imgs;\n\topts = opts || {};\n\timgs = imgs || 'img';\n\n\tif ((supportsObjectPosition && !opts.skipTest) || !supportsOFI) {\n\t\treturn false;\n\t}\n\n\t// use imgs as a selector or just select all images\n\tif (imgs === 'img') {\n\t\timgs = document.getElementsByTagName('img');\n\t} else if (typeof imgs === 'string') {\n\t\timgs = document.querySelectorAll(imgs);\n\t} else if (!('length' in imgs)) {\n\t\timgs = [imgs];\n\t}\n\n\t// apply fix to all\n\tfor (var i = 0; i < imgs.length; i++) {\n\t\timgs[i][OFI] = imgs[i][OFI] || {\n\t\t\tskipTest: opts.skipTest\n\t\t};\n\t\tfixOne(imgs[i]);\n\t}\n\n\tif (startAutoMode) {\n\t\tdocument.body.addEventListener('load', function (e) {\n\t\t\tif (e.target.tagName === 'IMG') {\n\t\t\t\tfix(e.target, {\n\t\t\t\t\tskipTest: opts.skipTest\n\t\t\t\t});\n\t\t\t}\n\t\t}, true);\n\t\tautoModeEnabled = true;\n\t\timgs = 'img'; // reset to a generic selector for watchMQ\n\t}\n\n\t// if requested, watch media queries for object-fit change\n\tif (opts.watchMQ) {\n\t\twindow.addEventListener('resize', fix.bind(null, imgs, {\n\t\t\tskipTest: opts.skipTest\n\t\t}));\n\t}\n}\n\nfix.supportsObjectFit = supportsObjectFit;\nfix.supportsObjectPosition = supportsObjectPosition;\n\nhijackAttributes();\n\nmodule.exports = fix;\n","import browserUpdate from 'browser-update/update.npm';\nimport \"focus-visible/dist/focus-visible\";\nimport svg4everybody from 'svg4everybody';\nimport objectFitImages from 'object-fit-images';\n\n// See : https://github.com/browser-update/browser-update/wiki/Details-on-configuration\nbrowserUpdate({\n required: {\n e: 16, // Edge\n i: 11, // IE\n f: -2, // Firefox\n s: -2, // Safari\n c: -2, // Chrome\n },\n insecure: true,\n});\n\n// See : https://github.com/jonathantneal/svg4everybody\nsvg4everybody();\n\nobjectFitImages('[data-object-fit]');\n"],"names":["$bu_","s","this","version","vsakt","c","f","e","i","ios","samsung","o","e_a","o_a","y","v","uc","vsinsecure_below","vsdefault","a","names","x","silk","get_browser","ua","navigator","userAgent","replace","r","n","t","age_years","undefined","no_device_update","available","ignore","reason","pattern","RegExp","test","other","embedded","mobile","discontinued","pats","VV","length","match","engine","fullv","$1","parseFloat","platform","maxTouchPoints","av","available_ios","Math","round","indexOf","parseInt","exec","is_insecure","is_supported","is_latest","less","vmaj","esr","releases_per_year","engine_version","semver","vstr","Array","split","v1","v2","diff","h","max","window","screen","height","width","pr","devicePixelRatio","$bu_getBrowser","module","op","b","ll","_buorgres","l","languages","language","browserLanguage","userLanguage","document","documentElement","getAttribute","llfull","toLowerCase","substr","domain","location","href","apiver","api","jsv","required_min","vs","notify","required","reminder","reminderClosed","onshow","onclick","onclose","pageurl","hostname","newwindow","hash","ignorecookie","reasons","hide_reasons","notified","bb","browser","override_ua","is_below_required","push","notify_esr","insecure","unsecure","unsupported","check_show","already_shown","cookie","setCookie","hours","Date","getTime","toGMTString","nomessage","createElement","src","jsshowurl","body","appendChild","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","text","search","url","tel","email","password","number","date","month","week","time","datetime","isValidFocusTarget","el","nodeName","classList","addFocusVisibleClass","contains","add","setAttribute","onPointerDown","addInitialPointerMoveListeners","addEventListener","onInitialPointerMove","target","removeEventListener","metaKey","altKey","ctrlKey","activeElement","visibilityState","type","tagName","readOnly","isContentEditable","hasAttribute","clearTimeout","setTimeout","remove","removeAttribute","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","DOCUMENT_NODE","event","CustomEvent","error","createEvent","initCustomEvent","dispatchEvent","factory","root","embed","parent","svg","fragment","createDocumentFragment","viewBox","clone","cloneNode","childNodes","firstChild","loadreadystatechange","xhr","onreadystatechange","readyState","cachedDocument","_cachedDocument","implementation","createHTMLDocument","innerHTML","responseText","_cachedTarget","_embeds","splice","map","item","id","getElementById","getSVGAncestor","node","parentNode","rawopts","polyfill","opts","Object","inIframe","top","self","requests","requestAnimationFrame","uses","getElementsByTagName","numberOfSvgUseElementsToBypass","oninterval","index","use","attributeName","validate","removeChild","srcSplit","shift","join","XMLHttpRequest","open","send","exports","svg4everybody","OFI","propRegex","testImg","Image","style","supportsObjectFit","supportsObjectPosition","supportsOFI","supportsCurrentSrc","currentSrc","nativeGetAttribute","nativeSetAttribute","autoModeEnabled","setPlaceholder","img","placeholder","call","onImageReady","callback","naturalWidth","fixOne","parsed","getComputedStyle","fontFamily","props","getStyle","ofi","skipTest","srcset","naturalHeight","descriptors","get","prop","set","value","defineProperty","ss","keepSrcUsable","err","console","warn","picturefill","pf","_","ns","evaled","fillImg","reselect","curSrc","supported","polyfillCurrentSrc","backgroundImage","backgroundPosition","backgroundRepeat","backgroundOrigin","backgroundSize","fix","imgs","startAutoMode","querySelectorAll","watchMQ","bind","getOfiImageMaybe","name","HTMLImageElement","prototype","String","hijackAttributes"],"mappings":"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"}