PageSourceSearch

https://classicsconfidential.co.uk/_static/??-eJydkM1OAzEMhF+I1LQq…/Y1bi08zI/759OD4f98f70OH4C4Uq/bA==

js classicsconfidential.co.uk collected 2026-09-24 10:00:48 UTC 150,727 bytes, 1,524 lines download raw bytes

vendor: 4,215 bytes, line 1
1(()=>{var t={14:(t,e,i)=>{"use strict";i.d(e,{Z:()=>u});var n=i(191),o=i.n(n),s=i(261),d=i.n(s),r=i(160),a=i.n(r),l=new URL(i(240),i.b),c=d()(o()),h=a()(l);c.push([t.id,`.wordads-ad-wrapper {\n    position: static;\n    font: 11px Arial, sans-serif;\n    letter-spacing: 1px;\n    text-decoration: none;\n    max-width: 100%;\n    margin: 25px auto;\n    padding: 0;\n    display: flex;\n    justify-content: center;\n}\n\n.wordads-ad-wrapper--sidebar,\n.wordads-ad-wrapper--gutenberg_skyscraper,\n.wordads-ad-wrapper--gutenberg_mobile_leaderboard {\n    font-size: 8px;\n}\n\n.wordads-ad-title {\n    margin: 0 auto 5px\n}\n\n.wordads-ad-controls {\n    margin: 5px auto 0;\n    text-align: right\n}\n\n/* Hide title and controls initially */\n.wordads-ad-title,\n.wordads-ad-controls {\n    visibility: hidden;\n}\n\n.wordads-ad-controls span {\n    cursor: pointer\n}\n\n.wordads-ad {\n    margin: 0 auto;\n    width: fit-content;\n    max-width: 100%;\n    overflow: hidden;\n}\n\n.wordads-ad iframe {\n    margin: 0;\n    padding: 0\n}\n\n.wordads-ad.wordads-ad-responsive {\n    width: 100%;\n    max-width: unset\n}\n\n.wordads-ad-sticky-wrapper {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin: auto;\n    position: fixed;\n    transition: transform .2s ease-in-out;\n    user-select: none;\n    padding: 5px 0;\n    z-index: 49999\n}\n.wordads-ad-wrapper--bottom_sticky.wordads-ad-sticky-wrapper {\n    right: 0;\n    left: 0;\n    bottom: 0;\n    background: transparent;\n    transform: translate(0, 0);\n}\n\n.wordads-ad-wrapper--bottom_sticky.wordads-ad-sticky-wrapper.ad-slot-filled {\n    background: #f1f1f1;\n}\n\n.wordads-ad-wrapper--sidebar_sticky_right.wordads-ad-sticky-wrapper {\n    width: fit-content;\n    min-width: 120px;\n    top: max(calc(var(--wp-admin--admin-bar--height, 0px) + 24px), 10%);\n    right: 20px;\n}\n\n.wordads-ad-wrapper--sidebar_sticky_right .wordads-ad-content {\n    border: 1px solid #f1f1f1;\n    margin-left: -1px;\n}\n\n.wordads-ad-sticky-close-btn {\n    width: 28px;\n    height: 28px;\n    position: absolute;\n    box-sizing: content-box;\n    cursor: pointer;\n    overflow: hidden;\n    background-size: 28px;\n    background-repeat: no-repeat;\n    background-position: center;\n    background-image: url(${h})\n}\n\n.wordads-ad-wrapper--bottom_sticky .wordads-ad-sticky-close-btn {\n    top: -14px;\n    left: .75rem;\n}\n\n.wordads-ad-wrapper--sidebar_sticky_right .wordads-ad-sticky-close-btn {\n    top: -14px;\n    right: 0;\n}\n\n.wordads-ad-sticky {\n    width: auto;\n    max-width: initial;\n    max-height: inherit;\n}\n\n.wordads-ad-sticky .wordads-ad-title,\n.wordads-ad-sticky .wordads-ad-controls {\n    color: #333\n}\n\n.wordads-ad-hidden {\n\tvisibility: hidden !important;\n\tposition: absolute !important;\n\tpointer-events: none !important;\n\twidth: 0 !important;\n\theight: 0 !important;\n\toverflow: hidden !important;\n\tclip: rect(0 0 0 0) !important;\n}\n\n.wordads-ad-wrapper--bottom_sticky.wordads-ad-hidden {\n    transform: translate(0, 1000px);\n}\n\n.google-auto-placed {\n    height: 0px !important;\n}\n\nins.adsbygoogle::before,\nins.adsbygoogle::after {\n    visibility: hidden !important;\n}\n\nins.adsbygoogle {\n    background: transparent;\n    padding: 0 !important;\n}`,""]);const u=c},261:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i="",n=void 0!==e[5];return e[4]&&(i+="@supports (".concat(e[4],") {")),e[2]&&(i+="@media ".concat(e[2]," {")),n&&(i+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),i+=t(e),n&&(i+="}"),e[2]&&(i+="}"),e[4]&&(i+="}"),i})).join("")},e.i=function(t,i,n,o,s){"string"==typeof t&&(t=[[null,t,void 0]]);var d={};if(n)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(d[a]=!0)}for(var l=0;l<t.length;l++){var c=[].concat(t[l]);n&&d[c[0]]||(void 0!==s&&(void 0===c[5]||(c[1]="@layer".concat(c[5].length>0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=s),i&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=i):c[2]=i),o&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=o):c[4]="".concat(o)),e.push(c))}},e}},160:t=>{"use strict";
1t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/["'() \t\n]|(%20)/.test(t)||e.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t):t}},191:t=>{"use strict";t.exports=function(t){return t[1]}},546:function(t){t.exports=function(){"use strict";function t(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)t[n]=i[n]}return t}return function e(i,n){function o(e,o,s){if("undefined"!=typeof document){"number"==typeof(s=t({},n,s)).expires&&(s.expires=new Date(Date.now()+864e5*s.expires)),s.expires&&(s.expires=s.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var d="";for(var r in s)s[r]&&(d+="; "+r,!0!==s[r]&&(d+="="+s[r].split(";")[0]));return document.cookie=e+"="+i.write(o,e)+d}}return Object.create({set:o,get:function(t){if("undefined"!=typeof document&&(!arguments.length||t)){for(var e=document.cookie?document.cookie.split("; "):[],n={},o=0;o<e.length;o++){var s=e[o].split("="),d=s.slice(1).join("=");try{var r=decodeURIComponent(s[0]);if(n[r]=i.read(d,r),t===r)break}catch(t){}}return t?n[t]:n}},remove:function(e,i){o(e,"",t({},i,{expires:-1}))},withAttributes:function(i){return e(this.converter,t({},this.attributes,i))},withConverter:function(i){return e(t({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(i)}})}({read:function(t){return'"'===t[0]&&(t=t.slice(1,-1)),t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(t){return encodeURIComponent(t).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})}()},462:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>w});var n=i(157),o=i.n(n),s=i(869),d=i.n(s),r=i(318),a=i.n(r),l=i(825),c=i.n(l),h=i(597),u=i.n(h),g=i(770),p=i.n(g),m=i(14),f={};f.styleTagTransform=p(),f.setAttributes=c(),f.insert=a().bind(null,"head"),f.domAPI=d(),f.insertStyleElement=u(),o()(m.Z,f);const w=m.Z&&m.Z.locals?m.Z.locals:void 0},157:t=>{"use strict";var e=[];function i(t){for(var i=-1,n=0;n<e.length;n++)if(e[n].identifier===t){i=n;break}return i}function n(t,n){for(var s={},d=[],r=0;r<t.length;r++){var a=t[r],l=n.base?a[0]+n.base:a[0],c=s[l]||0,h="".concat(l," ").concat(c);s[l]=c+1;var u=i(h),g={css:a[1],media:a[2],sourceMap:a[3],supports:a[4],layer:a[5]};if(-1!==u)e[u].references++,e[u].updater(g);else{var p=o(g,n);n.byIndex=r,e.splice(r,0,{identifier:h,updater:p,references:1})}d.push(h)}return d}function o(t,e){var i=e.domAPI(e);return i.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;i.update(t=e)}else i.remove()}}t.exports=function(t,o){var s=n(t=t||[],o=o||{});return function(t){t=t||[];for(var d=0;d<s.length;d++){var r=i(s[d]);e[r].references--}for(var a=n(t,o),l=0;l<s.length;l++){var c=i(s[l]);0===e[c].references&&(e[c].updater(),e.splice(c,1))}s=a}}},318:t=>{"use strict";var e={};t.exports=function(t,i){var n=function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}e[t]=i}return e[t]}(t);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(i)}},597:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},825:(t,e,i)=>{"use strict";t.exports=function(t){var e=i.nc;e&&t.setAttribute("nonce",e)}},869:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(i){!function(t,e,i){var n="";i.supports&&(n+="@supports (".concat(i.supports,") {")),i.media&&(n+="@media ".concat(i.media," {"));var o=void 0!==i.layer;o&&(n+="@layer".concat(i.layer.length>0?" ".concat(i.layer):""," {")),n+=i.css,o&&(n+="}"),i.media&&(n+="}"),i.supports&&(n+="}");var s=i.sourceMap;s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,i)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},770:t=>{"use strict";
1t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},858:function(t,e,i){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(639),s=n(i(539)),d=i(444),r=i(501);class a extends s.default{constructor(t,e){super(t,e),this.config={},this.adSenseLibraryLoaded=!1,this.adFlowUrl="https://af.pubmine.com?api_version=2"}insertAdBefore(t,e,i){if(!this.shouldShowInlineAds())return;this.log(`Inserting ad before element: ${t.id} of type: ${e}`);const n=this.getRandomTagId(),o=this.createAdSnippet(n,i),s=this.wrapSnippet(o,e);t.insertAdjacentElement("beforebegin",s),this.slots.push({tagId:n,type:e,sizes:i,element:s,isLazy:!0}),this.trackStat("render_inline")}getAdFlowRequestBody(t){const{maxHeight:e,maxWidth:i}=(0,d.getMaxSlotDimension)(t.sizes),n={site:{id:String(this.config.blog_id),is_wordads:this.config.is_wordads,page:window.location.href,language:this.config.blog_language},ad:{tag:t.tagId,format:t.type,max_width:i,max_height:e},user:{uid:this.consent.getOrCreateUID(),gdpr:!1}};return this.consent.usPrivacy&&(n.user.us_privacy=this.consent.usPrivacy),this.consent.tcData&&(n.user.gdpr=!0,n.user.gdpr_consent=this.consent.tcData.tcString),n}shouldShowInlineAds(){var t,e;if(!(null===(t=this.config.enabled_formats)||void 0===t?void 0:t.inline)){const t=document.getElementsByTagName("body")[0];(t.classList.contains("single-post")||t.classList.contains("wp-singular"))&&(this.config.enabled_formats||(this.config.enabled_formats={}),this.config.enabled_formats.inline=!0)}return!!(null===(e=this.config.enabled_formats)||void 0===e?void 0:e.inline)}getMaxSlots(){return r.MAX_INLINE_SLOTS}getMaxBlazeSlots(){return r.MAX_INLINE_BLAZE_SLOTS}shouldShowBottomStickyAds(){var t;return!!(null===(t=this.config.enabled_formats)||void 0===t?void 0:t.bottom_sticky)}shouldShowSidebarStickyRightAds(){var t;return!!(null===(t=this.config.enabled_formats)||void 0===t?void 0:t.sidebar_sticky_right)}shouldShowTopAds(){var t;return!!(null===(t=this.config.enabled_formats)||void 0===t?void 0:t.top)}isSlotTypeEnabled(t){var e;return!!(null===(e=this.config)||void 0===e?void 0:e.formats.includes(t))}getSlotFormatId(t){}getBottomStickySlots(){return(0,r.getSortedSlotSizes)(o.SlotType.BOTTOM_STICKY)}convertFormatsToObject(t){return t.reduce(((t,e)=>(t[e]=!0,t)),{})}initAdNetwork(){this.initDynamicAdSlots(),this.initAditude()}mergeConfig(){var t;window.isWatlV1=!1;const e=this.getServerConfig();e&&(this.config=this.deepMerge(e,this.config)),this.config.enabled_formats=this.convertFormatsToObject(this.config.formats),this.log("Merged config:"),this.log(null!==(t=this.config)&&void 0!==t?t:{})}handleAdResponse(t,e){const i=!!this.config.afp_account_id,n=t.content.indexOf("window.tude")>-1;if(!(t.content.indexOf("var sas = sas")>-1)&&n&&this.forceAfpAds&&i)return void this.renderGoogleAfpAd(e.tagId);const o=!!(null==t?void 0:t.content),s=!!(null==t?void 0:t.pixel);if(o){const e=document.createElement("script");e.type="application/javascript",e.innerHTML=t.content,document.body.appendChild(e)}if(s){const e=new XMLHttpRequest;e.open("GET",t.pixel),e.send()}this.trackAdFlowRequestLatency(o,e.tagId,e.type)}tryUsingIponwebSlots(){var t;window.__ATA=window.__ATA||{cmd:[]},window.__ATA.cmd=window.__ATA.cmd||[];const e=this;window.__ATA.initSlot=function(t,i){var n;const s=document.getElementById(t);if(s&&(0===s.children.length||"SCRIPT"===(null===(n=s.children[0])||void 0===n?void 0:n.tagName))){const n=(0,r.getFormatBySizes)(i.width,i.height);if(!n)return;const d=s.getBoundingClientRect();d.width<i.width&&(s.style.width=`${i.width}px !important`),d.height<i.height&&(s.style.height=`${i.height}px !important`);const a=e.createAdSnippet(t,[[i.width,i.height]]),l=e.wrapSnippet(a,o.SlotType.GUTENBERG_RECTANGLE);s.insertAdjacentElement("beforebegin",l),s.remove(),window.iponwebTags=window.iponwebTags||[],window.iponwebTags.push(t),window.tudeMappings.push({divId:t,format:n,width:i.width,height:i.height}),e.log(`Use IPONWEB's container for ${t} (${i.width}x${i.height}px), format: ${n}`)}},window.__ATA.initDynamicSlot=function(t){var e,i;const n=document.getElementById(t.id);if(n){const o=Math.round(null!==(i=null===(e=n.getBoundingClientRect())||void 0===e?void 0:e.width)&&void 0!==i?i:0);o>=300&&o<970&&window.__ATA.initSlot(t.id,{width:300,height:250})}},window.__ATA.initVideoSlot=function(t){window.__ATA.initDynamicSlot({id:t})};const i=null!==(t=window.__ATA.cmd.push)&&void 0!==t?t:()=>{};for(const t of window.__ATA.cmd)"function"==typeof t&&t!==i&&t()}initDynamicAdSlots(){var t,e,i,n,s,d;this.log("Initializing Gutenberg ad slots"),window.tudeMappings=window.tudeMappings||[],this.tryUsingIponwebSlots();for(const a of window.tudeMappings){(null==a?void 0:a.width)&&(null==a?void 0:a.height)||([a.width,a.height]=null!==(t=(0,r.getFilteredSlotSizesByWidthAndHeight)(a.format,728,250)[0])&&void 0!==t?t:[300,250]);const{divId:l,format:c,width:h,height:u}=a,g=document.getElementById(l);if(g){if((null===(i=null===(e=null==g?void 0:g.parentElement)||void 0===e?void 0:e.parentElement)||void 0===i?void 0:i.classList.contains("inline"))&&(null===(s=null===(n=g.parentElement.parentElement)||void 0===n?void 0:n.parentElement)||void 0===s?void 0:s.classList.contains("wpa"))&&(null===(d=g.parentElement.parentElement.parentElement.parentElement)||void 0===d?void 0:d.classList.contains("wpcnt"))){const t=g.getBoundingClientRect();t.width<a.width&&(g.style.width=`${a.width}px !important`),t.height<a.height&&(g.style.height=`${a.height}px !important`);const e=this.createAdSnippet(l,[[a.width,a.height]]),i=this.wrapSnippet(e,o.SlotType.GUTENBERG_RECTANGLE),n=g.parentElement.parentElement.parentElement.parentElement;n.insertAdjacentElement("beforebegin",i),n.remove(),g.remove()}this.slots.push({tagId:l,type:c,sizes:[[h,u]],element:g,isLazy:!0}),this.log(`Gutenberg ad slot ${l} initialized`)}else this.log(`Gutenberg ad slot ${l} not found`)}}initAditude(){this.log("Initializing Aditude"),window.tude=window.tude||{cmd:[]},window.Raven=window.Raven||{cmd:[]},window.tude.cmd.push((()=>
1{if(window.tude&&"function"==typeof window.tude.setPageTargeting){const t={param1:String(this.config.blog_id),param2:String(this.config.is_wordads),param3:String(this.config.hosting_type),param4:this.config.theme};window.tude.setPageTargeting(t),this.log("Aditude debug: custom dimensions set "+JSON.stringify(t))}})),window.tude.cmd.push((()=>{window.tude.events.addEventListener("tude_ad_filled",(t=>{this.log("aditude debug event: tude_ad_filled "+JSON.stringify(t)),this.handleAd({tagId:t.detail.id,adNetwork:"Aditude"})})),window.tude.events.addEventListener("tude_ad_unfilled",(t=>{this.log(`Aditude debug event: tude_ad_unfilled (${t.detail.id})`),this.handleNoAd({tagId:t.detail.id,adNetwork:"Aditude"})})),window.tude.events.addEventListener("tude_no_ad_sizes",(t=>{this.log(`Aditude debug event: tude_no_ad_sizes ${t.detail.id}`),this.handleNoAd({tagId:t.detail.id,adNetwork:"Aditude"})}))}))}getLibrariesToFetch(){return{prebid:{loaded:!1,url:"https://dn0qt3r0xannq.cloudfront.net/wordpress-2Pvwql52OT/wordpress-longform/prebid-load.js",isInitialized:()=>void 0!==window.tude,init:()=>{window.tude=window.tude||{cmd:[]}}}}}getServerConfig(){const t=super.getServerConfig();if(void 0!==window.wa_smart&&!0===window.isWatlV1){let[,e]=window.wa_smart.target.split(";");e=e.replace("language=","").split("_")[0];const i=[];for(const t of Object.values(o.SlotType)){const e=window.wa_smart[t];(null==e?void 0:e.enabled)&&i.push(t)}return Object.assign(Object.assign({},t),{blog_language:e,hosting_type:2,theme:window.wa_smart.theme,formats:i})}return t}setAdContainerVisibility(t,e){var i,n,s,d,r,a,l,c,h,u,g;const p=this.slots.find((e=>e.tagId===t));if(!p)return void this.log(`Ad container not found: ${t}`);const m=[o.SlotType.GUTENBERG_LEADERBOARD,o.SlotType.GUTENBERG_RECTANGLE,o.SlotType.GUTENBERG_MOBILE_LEADERBOARD,o.SlotType.GUTENBERG_SKYSCRAPER].includes(p.type);let f=null;if(m&&!(null===(i=window.iponwebTags)||void 0===i?void 0:i.includes(t))){const e=(null===(r=null===(d=null===(s=null===(n=p.element)||void 0===n?void 0:n.parentElement)||void 0===s?void 0:s.parentElement)||void 0===d?void 0:d.parentElement)||void 0===r?void 0:r.parentElement)||null;f=null!==e&&e.classList.contains("wpcnt")?e:null===(l=null===(a=document.getElementById(t))||void 0===a?void 0:a.parentElement)||void 0===l?void 0:l.parentElement}else f=m&&(null===(c=window.iponwebTags)||void 0===c?void 0:c.includes(t))?null===(h=p.element.parentElement)||void 0===h?void 0:h.parentElement:p.element;if(null===(u=p.element.parentElement)||void 0===u||u.querySelectorAll(".wordads-ad-title, .wordads-ad-controls").forEach((t=>{t instanceof HTMLElement&&(t.style.visibility=e?"visible":"hidden")})),f){if(f.classList.toggle("wordads-ad-hidden",!e),!e){const e=document.getElementById(t),i=null===(g=null==e?void 0:e.parentElement)||void 0===g?void 0:g.parentElement;i&&(null==i?void 0:i.classList.contains("ad-slot-filled"))&&i.classList.remove("ad-slot-filled")}}else this.log(`Ad container element not found: ${t}`)}showAdContainer(t){this.setAdContainerVisibility(t,!0)}hideAdContainer(t){this.setAdContainerVisibility(t,!1)}handleAd(t){super.handleAd(t),this.showAdContainer(t.tagId)}handleNoAd(t){this.config.afp_account_id?this.renderGoogleAfpAd(t.tagId):(this.log("Google AFP account is missing"),super.handleNoAd(t),this.hideAdContainer(t.tagId))}renderGoogleAfpAd(t){this.slots.filter((t=>t.type===o.SlotType.TOP)).length>1&&t.indexOf("atatags-dynamic-top-")>-1||this.tryLoadAdsenseLib(t,(()=>{var e;const i=this.config.afp_host_id,n=this.config.afp_account_id;if(!i||!n)return void this.log("Ad host or client ID is missing.");const o=document.getElementById(t);if(!o)return void this.log(`AFP Ad container not found: ${t}`);this.configureGoogleAdContainer(o,t);let s=this.getSlotDimensions(o,t);const d=o.getBoundingClientRect();d.width<s.minWidth&&(o.style.width=`${s.minWidth}px !important`),d.height<s.minHeight&&(o.style.height=`${s.minHeight}px !important`),o.innerHTML=this.createGoogleAdElement(String(n),String(i),s.minWidth,s.minHeight,t),this.log(`Adding observer to adDiv: ${o.id} with slotElementId: ${t}`),this.setupGoogleAdStatusObserver(o,null===(e=o.parentElement)||void 0===e?void 0:e.parentElement)}))}getSlotDimensions(t,e){const i=this.slots.find((t=>t.tagId===e));if(!i){const e=parseInt(t.getAttribute("data-ad-width")||"0",10),i=parseInt(t.getAttribute("data-ad-height")||"0",10);return{minWidth:Math.min(e,300),minHeight:Math.min(i,250)}}const n=i.sizes[i.sizes.length-1],o=(0,d.getCompatibleGoogleAdSizes)(n[0],n[1]),[s,r]=[300,250];
1return o?{minWidth:o[0],minHeight:o[1]}:{minWidth:s,minHeight:r}}getSlot(t){return this.slots.find((e=>e.tagId===t.id))}configureGoogleAdContainer(t,e){var i;const{minWidth:n,minHeight:s}=this.getSlotDimensions(t,e),d=null===(i=t.parentElement)||void 0===i?void 0:i.parentElement;if(!d)return;const r=this.getSlot(t);if((null==r?void 0:r.type)===o.SlotType.BOTTOM_STICKY){let t=s+20;for(const e of[".wordads-ad-title",".wordads-ad-controls"]){const i=d.querySelector(e);i&&(t+=i.offsetHeight||0)}d.style.maxHeight=`${String(t)}px`}else d.style.margin="40px auto","absolute"===window.getComputedStyle(d).position&&(d.style.position="static"),t.style.width=`${n}px`,t.style.height=`${s}px`}createGoogleAdElement(t,e,i,n,s){const d=this.slots.find((t=>t.tagId===s));let r=!1,a=null;(null==d?void 0:d.type)===o.SlotType.BOTTOM_STICKY||[728,970].includes(i)&&90===n?a=7415555587:(null==d?void 0:d.type)===o.SlotType.INLINE||300===i&&250===n?(a=2877544770,r=!0):(null==d?void 0:d.type)===o.SlotType.SIDEBAR_STICKY_RIGHT||120===i&&600===n?a=9195541113:(null==d?void 0:d.type)===o.SlotType.GUTENBERG_MOBILE_LEADERBOARD||320===i&&50===n?a=4785522812:(null==d?void 0:d.type)===o.SlotType.GUTENBERG_SKYSCRAPER||160===i&&600===n?a=5523889413:300===i&&250===n&&(a=6074553751),this.log(`Creating Google AFP ad element for #${s} (${i}x${n}px)`+(null!==a?`, slotId: ${a}`:""));let l=r?'data-ad-format="auto" data-full-width-responsive="true"':`data-ad-width="${i}" data-ad-height="${n}"`;return null!==a&&(l+=` data-ad-slot="${a}"`),`\n\t\t\t<ins class="adsbygoogle"\n\t\t\t\tstyle="${r?"display:block":`display:block;width:${i}px !important;height:${n}px !important;`}"\n\t\t\t\tdata-ad-client="ca-${t}"\n\t\t\t\tdata-ad-host="ca-host-pub-${e}"\n\t\t\t\tdata-ad-host-channel="${this.config.is_wordads?5598771027:3624119425}"\n\t\t\t\t\n\t\t\t\t${l}>\n\t\t\t</ins>\n\t\t`}setupGoogleAdStatusObserver(t,e){if(!e)return;let i=null;const n=t.id,o=this.slots.findIndex((t=>t.tagId===n));-1!==o&&void 0!==this.slots[o]&&(this.slots[o].isProcessed=!1);const s=new MutationObserver((e=>{var n;for(const d of e)if("attributes"===d.type&&"data-ad-status"===d.attributeName){const e=d.target.getAttribute("data-ad-status");let r=null!==(n=d.target.parentElement)&&void 0!==n?n:t;if("filled"===e){this.showAdContainer(r.id),this.log(`Google AFP rendered. Div: ${r.id} Status: ${e}`);const t=this.getSlot(r);(null==t?void 0:t.onAd)&&t.onAd()}else this.hideAdContainer(r.id),this.log(`Google AFP rendered. Div: ${r.id}. Status: ${e}`);null!==i&&clearTimeout(i),-1!==o&&void 0!==this.slots[o]&&(this.slots[o].isProcessed=!0),s.disconnect()}})),d=t.querySelector(".adsbygoogle");d&&(s.observe(d,{attributes:!0,attributeFilter:["data-ad-status"]}),i=setTimeout((()=>{var t;-1!==o&&this.slots[o]&&!1===(null!==(t=this.slots[o].isProcessed)&&void 0!==t&&t)&&(this.hideAdContainer(n),this.slots[o].isProcessed=!0,s.disconnect(),this.log("Time limit for processing Google AFP is exceeded for #"+n))}),5e3)),this.initializeAdsbyGoogle()}initializeAdsbyGoogle(){if(void 0===window.adsbygoogle){const t=setInterval((()=>{void 0!==window.adsbygoogle&&(clearInterval(t),this.initAdsByGoogle(),this.log("Google AFP initialized"))}),100);setTimeout((()=>clearInterval(t)),1e3)}else this.initAdsByGoogle()}initAdsByGoogle(){try{(window.adsbygoogle||[]).push({})}catch(t){let e="Failed to render Google AFP";t instanceof Error&&(e+=": "+t.message),this.log(e)}}tryLoadAdsenseLib(t,e){if(this.adSenseLibraryLoaded)return this.log("Adsense library already loaded"),void e();let i=`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-${String(this.config.afp_account_id)}`;if(document.querySelector(`script[src="${i}"]`)){let i=0;const n=setInterval((()=>{if(++i,100*i/1e3>=5)return clearInterval(n),void this.hideAdContainer(t);this.adSenseLibraryLoaded&&(e(),clearInterval(n))}),100)}else{const n=document.createElement("script");n.src=i,n.async=!0;const o=setTimeout((()=>{this.log("Adsense library load timeout exceeded"),this.hideAdContainer(t)}),5e3);n.onload=()=>{clearTimeout(o),this.log("Adsense library loaded"),this.adSenseLibraryLoaded=!0,e()},n.onerror=()=>{this.log("Failed to load Adsense library"),this.hideAdContainer(t)},document.head.appendChild(n)}}}e.default=a}
1,12:function(t,e,i){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=n(i(202));i(462),e.default=class{constructor(){this.listenersController=new AbortController,this.signal=this.listenersController.signal,this.consent=new o.default}getConsent(){return this.consent}getListenersController(){return this.listenersController}init(t){t.preInit(),this.signal.onabort=()=>t.log("Event listeners removed"),document.addEventListener("scroll",t.throttle((()=>{t.processAds()}),250),{signal:this.signal}),document.addEventListener("resize",t.throttle((()=>{t.processAds()}),250),{signal:this.signal}),window.addEventListener("message",(e=>{t.handlePostMessage(e)}),{signal:this.signal})}}},501:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSortedSlotSizes=e.getFormatBySizes=e.getFilteredSlotSizesByWidthAndHeight=e.getFilteredSlotSizesByWidth=e.MAX_INLINE_BLAZE_SLOTS=e.MAX_INLINE_SLOTS=void 0;const n=i(639);e.MAX_INLINE_SLOTS=40,e.MAX_INLINE_BLAZE_SLOTS=20,e.getFilteredSlotSizesByWidth=(t,e)=>(s[t]||[]).filter((([t])=>t<=e)),e.getFilteredSlotSizesByWidthAndHeight=(t,e,i)=>(s[t]||[]).filter((([t,n])=>t<=e&&n<=i));const o=document.documentElement.clientWidth<800,s=Object.freeze({[n.SlotType.TOP]:o?[[320,50]]:[[970,250],[970,90],[728,90]],[n.SlotType.INLINE]:o?[[300,250],[320,50]]:[[970,250],[728,90],[300,250]],[n.SlotType.BELOW_POST]:o?[[300,250]]:[[300,250],[728,90]],[n.SlotType.BOTTOM_STICKY]:o?[[320,50],[468,60]]:[[728,90],[970,90]],[n.SlotType.SIDEBAR]:o?[[120,600],[160,600],[300,250],[300,400],[300,600]]:[[120,600],[160,600],[300,600]],[n.SlotType.SIDEBAR_STICKY_RIGHT]:o?[]:[[120,600],[160,600],[300,250],[300,600],[400,600]],[n.SlotType.GUTENBERG_RECTANGLE]:[[300,250]],[n.SlotType.GUTENBERG_LEADERBOARD]:[[728,90]],[n.SlotType.GUTENBERG_MOBILE_LEADERBOARD]:[[320,50]],[n.SlotType.GUTENBERG_SKYSCRAPER]:[[160,600]],[n.SlotType.SIDEBAR_WIDGET_MEDIUMRECTANGLE]:[[300,250]],[n.SlotType.SIDEBAR_WIDGET_LEADERBOARD]:[[728,90]],[n.SlotType.SIDEBAR_WIDGET_WIDESKYSCRAPER]:[[160,600]],[n.SlotType.SHORTCODE]:[[300,250]]});e.getFormatBySizes=(t,e)=>{for(const[i,o]of Object.entries(s))if(![n.SlotType.TOP,n.SlotType.BOTTOM_STICKY,n.SlotType.SIDEBAR,n.SlotType.SIDEBAR_STICKY_RIGHT,n.SlotType.SIDEBAR_WIDGET_MEDIUMRECTANGLE,n.SlotType.SIDEBAR_WIDGET_LEADERBOARD,n.SlotType.SIDEBAR_WIDGET_WIDESKYSCRAPER,n.SlotType.SIDEBAR_WIDGET_WIDESKYSCRAPER,n.SlotType.INLINE,n.SlotType.SHORTCODE,n.SlotType.BELOW_POST].includes(i)&&o.some((([i,n])=>i===t&&n===e)))return i;return null},e.getSortedSlotSizes=t=>s[t].sort(((t,e)=>{const i=e[0]-t[0];return 0!==i?i:e[1]-t[1]}))},586:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SMART_NETWORK_ID=void 0,e.SMART_NETWORK_ID=3905},506:function(t,e,i){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=n(i(12)),s=n(i(858)),d=new o.default,r=new s.default(d.getConsent(),d.getListenersController());d.init(r)},313:(t,e)=>{"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollDirection=void 0,function(t){t.UP="up",t.DOWN="down"}(i||(e.ScrollDirection=i={}))},639:(t,e)=>{"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.StickySlotTypes=e.SlotType=void 0,function(t){t.TOP="top",t.INLINE="inline",t.BELOW_POST="belowpost",t.BOTTOM_STICKY="bottom_sticky",t.SIDEBAR="sidebar",t.SIDEBAR_STICKY_RIGHT="sidebar_sticky_right",t.GUTENBERG_RECTANGLE="gutenberg_rectangle",t.GUTENBERG_LEADERBOARD="gutenberg_leaderboard",t.GUTENBERG_MOBILE_LEADERBOARD="gutenberg_mobile_leaderboard",t.GUTENBERG_SKYSCRAPER="gutenberg_skyscraper",t.SIDEBAR_WIDGET_MEDIUMRECTANGLE="sidebar_widget_mediumrectangle",t.SIDEBAR_WIDGET_LEADERBOARD="sidebar_widget_leaderboard",t.SIDEBAR_WIDGET_WIDESKYSCRAPER="sidebar_widget_wideskyscraper",t.SHORTCODE="shortcode"}(i||(e.SlotType=i={})),e.StickySlotTypes=[i.BOTTOM_STICKY,i.SIDEBAR_STICKY_RIGHT]},202:function(t,e,i){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};
1Object.defineProperty(e,"__esModule",{value:!0});const o=n(i(546)),s=i(586);e.default=class{constructor(){this.logging=!1,this.tcData=null,this.usPrivacy=null,this.uid=null}setLogging(t){this.logging=t}log(t){this.logging&&console.log(t)}init(){this.log("Initializing consent..."),window.__uspapi?(this.log("Querying USP API..."),window.__uspapi("getUSPData",1,((t,e)=>{e&&t.uspString&&(this.usPrivacy=t.uspString,this.log("USP API data found. Setting consent: "+this.usPrivacy))}))):this.log("USP API not found"),window.__tcfapi?(this.log("Querying TCF API..."),window.__tcfapi("addEventListener",2,((t,e)=>{var i;e&&t.gdprApplies?(this.tcData=t,this.log("TCF API data found. Setting consent: "+(null===(i=this.tcData)||void 0===i?void 0:i.tcString)),this.initCookieSync()):this.log("TCF API data found. GDPR does not apply")}))):this.log("TCF API not found")}createUIDFromCookies(t,e,i){const n={expires:e,domain:i||window.location.hostname};this.log(`Created UID from Cookies on ${n.domain}`);const s=o.default.withAttributes(n),d=this.generateUIDValue();return s.set(t,d),d}generateUIDValue(){return Math.random().toString(36).substring(2,10)+(new Date).getTime().toString()}getOrCreateUIDFromLocalStorage(t,e){this.log("UID from localStorage");const i=(localStorage.getItem(t)||"").split(":");let n=i[0];const o=(new Date).getTime();let s=parseInt(i[1]);return(!n||o>s)&&(n=this.generateUIDValue(),s=o+24*e*60*60*1e3,localStorage.setItem(t,n+":"+s)),n}getOrCreateUID(){if(null!==this.uid)return this.uid;if(!this.hasUserConsent())return this.uid="",this.uid;const t="wordads_uid",e=o.default.get(t);if(e)return this.log(`Reused UID value ${e}`),this.uid=e,this.uid;const i=this.getCookiesSharedDomain(t,window.location.hostname);return window.localStorage&&!i||(this.uid=this.createUIDFromCookies(t,30,i)),this.uid=this.uid||this.getOrCreateUIDFromLocalStorage(t,30),this.log(`UID value: ${this.uid}`),this.uid}getCookiesSharedDomain(t,e){const i=e.split(".");if(i.length<=2)return null;let n=null,s=0;for(const d of i){if(s+=d.length,n=e.substring(s),s>=e.length)return null;const i=o.default.withAttributes({domain:n});if(i.set(t,"1")&&i.get(t))return i.remove(t),n;s++}return null}hasUserConsent(){return!this.tcData||!0===this.tcData.vendor.consents[496]&&!0===this.tcData.purpose.consents[1]}initCookieSync(){this.log("Initializing Cookie Sync");let t=`https://sync.smartadserver.com/getuid?nwid=${s.SMART_NETWORK_ID}&url=https://af.pubmine.com/user-sync?pid=[sas_uid]`;this.tcData&&(t+=`&gdpr=1&gdpr_consent=${this.tcData.tcString}`),document.createElement("img").src=t}}},444:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCompatibleGoogleAdSizes=e.convertFormatsToObject=e.getMaxSlotDimension=void 0;const i=[[970,250],[970,90],[728,90],[336,280],[320,100],[300,600],[300,250],[250,250],[200,200],[320,50],[300,50],[468,60],[160,600],[120,600]];e.getMaxSlotDimension=t=>{let e=0,i=0;return t.forEach((([t,n])=>{t>e&&(e=t),n>i&&(i=n)})),{maxWidth:e,maxHeight:i}},e.convertFormatsToObject=t=>t.reduce(((t,e)=>(t[e]=!0,t)),{}),e.getCompatibleGoogleAdSizes=(t,e)=>{const n=i.find((([i,n])=>i<=t&&n<=e));return null!=n?n:null}},539:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=i(501),o=i(639),s=i(313),d=i(444),r=["BLOCKQUOTE","DIV","FIGURE","FORM","H1","H2","H3","H4","H5","H6","P","UL"];e.default=class{constructor(t,e){this.logging="function"==typeof URLSearchParams&&"true"===new URLSearchParams(window.location.search).get("wordads-logging"),this.consent=t,this.consent.setLogging(this.logging),this.adFlowUrl="https://af.pubmine.com",this.slots=[],this.initialized=!1,this.config={},this.scroll={lastDirection:s.ScrollDirection.DOWN,lastY:window.scrollY},this.listenersController=e,this.forceAfpAds="function"==typeof URLSearchParams&&"1"===new URLSearchParams(window.location.search).get("afp_test")}log(t){this.logging&&console.log(t)}logSlot(t,e){if(!this.logging)return;const i=t.sizes.map((([t,e])=>t+"x"+e)).join(","),n=[t.type,t.tagId,i].join("|");this.log(`[${n}] ${e}`)}trackStat(t){window._stq=window._stq||[],window._stq.push(["extra",{x_wordads_smart:t}])}recordTracksEvent(t,e){e=e||{},window._tkq=window._tkq||[],window._tkq.push(["recordEvent",t,e])}getServerConfig(){var t,e;const i=document.getElementById("adflow-configuration"),n=i?JSON.parse(i.innerText):{},o=null!==(e=null===(t=null===window||void 0===window?void 0:window.wa_client)||void 0===t?void 0:t.config)&&void 0!==e?e:null===window||void 0===window?void 0:window.wa_smart;return this.deepMerge(n,o)}createAdSnippet(t,e){let i=document.createElement("div"),n=document.createElement("div"),o=document.createElement("div"),s=document.createElement("div");if(i.classList.add("wordads-ad"),n.classList.add("wordads-ad-title"),o.classList.add("wordads-ad-content"),s.classList.add("wordads-ad-controls"),n.innerText=this.config._.title,o.id=t,e){const{maxHeight:t,maxWidth:i}=(0,d.getMaxSlotDimension)(e);o.setAttribute("data-ad-height",t.toString()),o.setAttribute("data-ad-width",i.toString())}return s.innerHTML=this.consent.tcData?`<span onclick="__tcfapi( 'showUi' )">${this.config._.privacy_settings}</span>`:"",i.appendChild(n),i.appendChild(o),i.appendChild(s),i}getBottomStickySlots(){}createBottomStickyAdSnippet(t){const e=this.getBottomStickySlots(),i=this.createAdSnippet(t,e);i.classList.add("wordads-ad-sticky");const n=this.wrapSnippet(i,o.SlotType.BOTTOM_STICKY);n.classList.add("wordads-ad-sticky-wrapper");const d=()=>{this.toggleVisibility(n,s.ScrollDirection.DOWN)},r=document.createElement("div");
1return r.classList.add("wordads-ad-sticky-close-btn"),r.onclick=function(){n.remove(),document.removeEventListener("scroll",d)},n.insertBefore(r,i),{event:d,snippet:n}}createSidebarStickyAdSnippet(t,e){const i=this.createAdSnippet(t);i.classList.add("wordads-ad-sticky");const n=this.wrapSnippet(i,e);n.classList.add("wordads-ad-sticky-wrapper");const o=this.throttle((()=>{this.updateSidebarStickyVisibility(n)}),150),s=document.createElement("div");return s.classList.add("wordads-ad-sticky-close-btn"),s.onclick=function(){n.remove(),window.removeEventListener("resize",o),document.removeEventListener("scroll",o)},n.insertBefore(s,i),{event:o,snippet:n,adContent:i.querySelector(".wordads-ad-content")}}toggleVisibility(t,e){const i=window.scrollY>this.scroll.lastY?s.ScrollDirection.DOWN:s.ScrollDirection.UP,n=this.scroll.lastDirection===i;if(this.scroll.lastDirection=i,this.scroll.lastY=window.scrollY,n)return;const o="wordads-ad-hidden";e===i?t.classList.remove(o):t.classList.add(o)}wrapSnippet(t,e){const i=document.createElement("div");return i.classList.add("wordads-ad-wrapper"),i.classList.add(`wordads-ad-wrapper--${e}`),i.appendChild(t),i}checkBrandSafety(t,e){}handleNotOkayResponse(t,e){var i;if(this.log(`Site unable to show ads: ${e.tagId}`),204===t){const t=document.getElementById(e.tagId),n=null===(i=null==t?void 0:t.parentElement)||void 0===i?void 0:i.parentElement;t&&(null==n?void 0:n.classList.contains("wordads-ad-wrapper"))&&n.classList.add("wordads-ad-hidden"),this.listenersController.abort()}}callAdFlow(t){this.logSlot(t,"calling AdFlow");const e=new XMLHttpRequest;e.onreadystatechange=()=>{if(XMLHttpRequest.DONE===e.readyState){if(performance.mark(`${t.tagId}-end`),200!==e.status)return void this.handleNotOkayResponse(e.status,t);const i=JSON.parse(e.response);this.handleAdResponse(i,t)}},e.open("POST",this.adFlowUrl),e.setRequestHeader("Accept","application/json"),e.withCredentials=!0,performance.mark(`${t.tagId}-start`);const i=this.getAdFlowRequestBody(t);e.send(JSON.stringify(i))}trackAdFlowRequestLatency(t,e,i){let n=performance.measure(`${e}-duration`,`${e}-start`,`${e}-end`),o={has_ad:t,ad_type:i,request_time:Math.round(n.duration),theme:this.config.theme};navigator.connection&&(o.connection_effective_type=navigator.connection.effectiveType,o.connection_downlink=navigator.connection.downlink),this.recordTracksEvent("wpcom_wordads_adflow",o)}insertFallbackAd(t,e){let i=(window.sas_fallback||[]).filter((function(t){return t.type===e}));if(0===i.length)return t.remove(),void this.log(`No fallback found for ${e}, snippet removed`);let n=i[0].tag.replaceAll("{{unique_id}}",Math.trunc(1e6*Math.random())),o=document.createElement("div");o.innerHTML=n,n=o.childNodes[0].nodeValue;let s=document.createElement("div");s.innerHTML=n,t.style.position="relative",t.style.visibility="visible",t.innerHTML=s.innerHTML,s.querySelectorAll("script").forEach((function(t){t.parentNode&&t.parentNode.removeChild(t);let e=document.createElement("script");t.src?e.src=t.src:t.textContent?e.textContent=t.textContent:t.innerText&&(e.innerText=t.innerText),document.body.appendChild(e)})),this.trackStat("fallback_"+e)}getPostItems(t){let e=[];for(let i=0;i<t.children.length;i++){let n=t.children[i];this.isPostItemValid(n)&&e.push(n)}return e}getFontSize(t){const e=t.parentElement;if(e)for(let t=0;t<e.children.length;t++){const i=e.children[t];if("P"===i.nodeName)return parseFloat(window.getComputedStyle(i).fontSize)}return 16}isPostItemVisible(t){const e=window.getComputedStyle(t);return!!t.offsetParent&&"hidden"!==e.visibility&&"none"!==e.display&&t.offsetHeight>=this.getFontSize(t)}isPostItemValid(t,e=!1){if(!t||!r.includes(t.nodeName))return!1;if(e&&"DIV"===t.nodeName){let e=!1;const i=4,n=t=>{var e;return!(null===(e=document.evaluate('//div[contains(@class, "wpcnt")]/div[contains(@class, "wpa")]/div/div/div[starts-with(@id, "atatags-")]',t,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue)||void 0===e||!e)},o=t=>{var e;return!(null===(e=document.evaluate('//div[contains(@class, "wordads-ad-wrapper")]',t,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue)||void 0===e||!e)},s=(t,e)=>{if(e>i)return!1;for(let i=0;i<t.children.length;i++){const d=t.children[i];if(o(d))return!0;
1if(n(d))return!0;if(s(d,e+1))return!0}return!1};if(e=s(t,1),e)return!1}return this.isPostItemVisible(t)}getFloatingElements(t){let e=[],i=t.getElementsByTagName("*");for(let t=0;t<i.length;t++){let n=i[t],o=getComputedStyle(n),s=o.getPropertyValue("position"),d=o.getPropertyValue("float");"relative"!==s&&"absolute"!==s&&"none"===d||e.push(n)}return e}getElementGlobalPosition(t){let e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX,bottom:e.top+window.scrollY+e.height,right:e.left+window.scrollX+e.width}}collidesWithElements(t,e){let i=this.getElementGlobalPosition(t),n=!1;return e.forEach((t=>{let e=this.getElementGlobalPosition(t);i.bottom<e.top||i.top>e.bottom||i.right<e.left||i.left>e.left||(n=!0)})),n}getInlineFormatId(){}initInlineAds(){if(!this.shouldShowInlineAds())return;this.log(`Initializing ${o.SlotType.INLINE}`);let t=document.getElementById("wordads-inline-marker");if(!t)return void this.trackStat("inline_no_marker");let e=t.parentElement;if(!e)return;const i=this.getAvailableWidth(e),s=(0,n.getFilteredSlotSizesByWidth)(o.SlotType.INLINE,i);t.remove();let d=this.getMaxSlots(),r=0;const a=window.innerHeight,l=Math.ceil(1.1*a),c=Math.ceil(1.2*a);let h=e.getBoundingClientRect().top+window.scrollY+l;const u=this.getPostItems(e),g=this.getFloatingElements(e);if(u.length>0)for(let t=0;t<u.length;t++){const e=t>0?u[t-1]:null,i=t<u.length-1?u[t+1]:null,n=u[t],a=n.getBoundingClientRect().top+window.scrollY,l=a>h,p=e&&this.isPostItemValid(e,!0),m=this.isPostItemValid(n,!0),f=null===i||i&&this.isPostItemValid(i,!0),w=this.collidesWithElements(n,g);l&&r<d&&p&&m&&f&&!w&&(this.insertAdBefore(n,o.SlotType.INLINE,s,r,this.getInlineFormatId()),h=a+c,r++)}0===r&&this.trackStat("inline_no_insert")}getBottomStickyFormatId(){}initBottomSticky(){if(!this.shouldShowBottomStickyAds())return;this.log(`Initializing ${o.SlotType.BOTTOM_STICKY}`);const t=this.getRandomTagId(),{event:e,snippet:i}=this.createBottomStickyAdSnippet(t);document.body.append(i);const s=document.documentElement.clientWidth,d=(0,n.getFilteredSlotSizesByWidth)(o.SlotType.BOTTOM_STICKY,s),r=this.getBottomStickyFormatId();this.slots.push(Object.assign({tagId:t,type:o.SlotType.BOTTOM_STICKY,sizes:d,element:i,isLazy:!1,onAd:function(){var i;document.addEventListener("scroll",e,{passive:!0});const n=document.getElementById(t),o=null===(i=null==n?void 0:n.parentElement)||void 0===i?void 0:i.parentElement;o&&o.classList.add("ad-slot-filled")}},r?{formatId:r}:{}))}getSidebarStickyRightFormatId(){}initSidebarStickyRight(){var t,e;if(!this.shouldShowSidebarStickyRightAds())return;this.log(`Initializing ${o.SlotType.SIDEBAR_STICKY_RIGHT}`);const i=this.getRandomTagId(),{event:s,snippet:d,adContent:r}=this.createSidebarStickyAdSnippet(i,o.SlotType.SIDEBAR_STICKY_RIGHT),a=null!==(t=document.querySelectorAll(".wp-site-blocks"))&&void 0!==t?t:[];if(1===a.length)a[0].append(d);else{const t=null!==(e=document.querySelectorAll("div#page"))&&void 0!==e?e:[];1===t.length?t[0].append(d):document.body.append(d)}const{maxWidth:l,maxHeight:c}=this.getMaxAvailableSidebarStickySize(d);null==r||r.setAttribute("data-ad-height",c.toString()),null==r||r.setAttribute("data-ad-width",l.toString());const h=(0,n.getFilteredSlotSizesByWidthAndHeight)(o.SlotType.SIDEBAR_STICKY_RIGHT,l,c);if(!h.length)return this.log(`No size available for ${o.SlotType.SIDEBAR_STICKY_RIGHT}`),void d.remove();const u=this.getSidebarStickyRightFormatId();this.slots.push(Object.assign({tagId:i,type:o.SlotType.SIDEBAR_STICKY_RIGHT,sizes:h,element:d,isLazy:!1,onAd:()=>{this.updateSidebarStickyVisibility(d),window.addEventListener("resize",s,{passive:!0}),document.addEventListener("scroll",s,{passive:!0})}},u?{formatId:u}:{}))}appendTopTag(){const t=this.getRandomTagId(),e=document.createElement("div");e.id=t;const i=document.documentElement.clientWidth,s=(0,n.getFilteredSlotSizesByWidth)(o.SlotType.TOP,i),d=this.createAdSnippet(t,s),r=this.wrapSnippet(d,o.SlotType.TOP);return document.body.insertBefore(e,document.body.firstChild),e.insertAdjacentElement("beforebegin",r),e.remove(),this.slots.push({tagId:t,type:o.SlotType.TOP,sizes:s,element:r,isLazy:!0}),e}initTop(){if(!this.shouldShowTopAds())return;this.log(`Initializing ${o.SlotType.TOP}`);const t=Array.from(document.getElementsByClassName("wordads-tag"));let[e]=t.filter((t=>t.dataset.slotType===o.SlotType.TOP));e&&e.remove(),e=this.appendTopTag()}updateSidebarStickyVisibility(t){const e=t.offsetHeight;
1this.isWithinViewportHeight(e)&&!this.checkIfAdIsOverlappingContent(t)?(this.log("sidebar_sticky_right: ad slot can fit"),t.classList.remove("wordads-ad-hidden")):(this.log("sidebar_sticky_right: ad slot CANNOT fit"),t.classList.add("wordads-ad-hidden"))}isWithinViewportHeight(t){return t<=.8*window.innerHeight}getOverlappingElements(t,e,i){return t=Math.round(t),e=Math.round(e),document.elementsFromPoint(t,e).filter((t=>{return!((e=t)===i||i.contains(e)||e.contains(i));var e}))}isElementAboveSnippet(t,e){const i=e.getBoundingClientRect(),n=[[i.left+1,i.top+1],[i.right-1,i.top+1],[i.left+1,i.bottom-1],[i.right-1,i.bottom-1],[i.left+i.width/2,i.top+i.height/2]];for(const[i,o]of n){const n=document.elementsFromPoint(i,o);if(n.indexOf(t)<n.indexOf(e))return!0}return!1}checkIfAdIsOverlappingContent(t){const e=t.getBoundingClientRect(),i=[...this.getOverlappingElements(e.left,e.top,t),...this.getOverlappingElements(e.right,e.top,t),...this.getOverlappingElements(e.right,e.bottom,t),...this.getOverlappingElements(e.left,e.bottom,t)].map((t=>t.classList.contains("wordads-ad-wrapper")&&t.querySelector(".wordads-ad-content")||t)),n=[];for(const t of i){const i=t.getBoundingClientRect();if(!(Math.round(e.right)<=Math.round(i.left)||Math.round(e.left)>=Math.round(i.right)||Math.round(e.bottom)<=Math.round(i.top)||Math.round(e.top)>=Math.round(i.bottom))){const e=window.getComputedStyle(t);"none"!==e.display&&"hidden"!==e.visibility&&"0"!==e.opacity&&n.push(t)}}return n.some((e=>this.isElementAboveSnippet(e,t)))}getMaxAvailableSidebarStickySize(t){const e=(0,n.getSortedSlotSizes)(o.SlotType.SIDEBAR_STICKY_RIGHT);for(const[i,n]of e){t.style.width=`${i}px`,t.style.height=`${n}px`;const e=this.checkIfAdIsOverlappingContent(t);if(t.style.width="",t.style.height="",!e&&this.isWithinViewportHeight(n))return this.log(`sidebar_sticky_right: max available size without overlap, [${i}, ${n}]`),{maxWidth:i,maxHeight:n}}return this.log("sidebar_sticky_right: no slot size fits available space"),{maxWidth:0,maxHeight:0}}initAdTags(){var t;this.log("Initializing ad tags");const e=Array.from(document.getElementsByClassName("wordads-tag"));for(let i=0;i<e.length;i++){const o=e[i],s=null!==(t=o.dataset.slotType)&&void 0!==t?t:"",d=this.getSlotFormatId(s),r=this.getAvailableWidth(o.parentElement),a=(0,n.getFilteredSlotSizesByWidth)(s,r);this.log(`Initializing ad tag ${i+1}: ${s}, format id: ${d}`),s?this.isSlotTypeEnabled(s)?null!==d?a.length?(this.insertAdBefore(o,s,a,i,d),o.remove()):(this.log(`No available sizes for slot type: ${s}`),o.remove()):(this.log(`Invalid slot type: ${s}`),o.remove()):(this.log(`Disabled slot type: ${s}`),o.remove()):(this.log(`Slot type not provided: ${s}`),o.remove())}}getAvailableWidth(t){if(!t)return 0;const e=window.getComputedStyle(t),i=parseFloat(e.paddingLeft),n=parseFloat(e.paddingRight);return t.getBoundingClientRect().width-(i+n)}getFormat(t){}handleNoAdWithSmart(){}handleNoAd(t){let e=this.getSlotByTagId(t.tagId);e?((null==t?void 0:t.adNetwork)?this.logSlot(e,`Got NoAd from ${null==t?void 0:t.adNetwork}, requesting a fallback`):this.logSlot(e,"Got NoAd, requesting a fallback"),window.iponwebTags=window.iponwebTags||[],window.iponwebTags.includes(e.tagId)||this.insertFallbackAd(e.element,e.type),this.checkBrandSafety(t,e),this.trackStat("noad_"+e.type)):this.log(`NoAd: no slot found for tag id: ${t.tagId}, format: ${this.getFormat(t)}`)}handleAd(t){let e=this.getSlotByTagId(t.tagId);e?((null==t?void 0:t.adNetwork)?this.logSlot(e,`Got an Ad from ${null==t?void 0:t.adNetwork}`):this.logSlot(e,"Got an Ad"),o.StickySlotTypes.indexOf(e.type)>-1?e.element.style.position="fixed":e.element.style.position="relative",e.element.style.visibility="visible",e.onAd&&e.onAd(),this.trackStat("ad_"+e.type)):this.log(`Ad: no slot found for tag id: ${t.tagId}, format: ${this.getFormat(t)}`)}handlePostMessage(t){if("object"!=typeof t.data)return;if("wa-inline-frame"!==t.data.type)return;const e=t;let i=document.getElementsByTagName("iframe");for(let t=0;t<i.length;t++)if(i[t].contentWindow===e.source){i[t].style.height=Math.ceil(e.data.height)+"px";let n=i[t].closest(".wordads-ad");n&&(n.classList.contains("wordads-ad-responsive")||n.classList.add("wordads-ad-responsive"),e.data.maxWidth&&n.querySelectorAll(".wordads-ad-title, .wordads-ad-controls").forEach((t=>{t.style.maxWidth=e.data.maxWidth})));break}}getSlotByTagId(t){return this.slots.find((e=>e.tagId===t))}getRandomTagId(){return"wordads-ad-"+Math.trunc(1e6*Math.random())}throttle(t,e){let i=!1;return(...n)=>{i||(t(...n),i=!0,setTimeout((()=>{i=!1}),e))}}isElementInLazyViewport(t){let e=window.innerHeight,i=window.scrollY,n=i-e,o=i+2*e,s=this.getElementGlobalPosition(t);return!(s.bottom<=n||s.top>=o)}processAds(){this.log("processAds: "+this.slots.length),0!==this.slots.length&&this.slots.forEac
1h((t=>{if(t.isLoaded)return;const e=!t.isLazy||this.isElementInLazyViewport(t.element),i=this.checkIfAdIsOverlappingContent(t.element);i&&t.type===o.SlotType.TOP&&(this.logSlot(t,"Top overlaps with other elements, we have to remove it from slots"),this.slots=this.slots.filter((e=>e!==t)),t.element.remove()),!e||i&&t.type!==o.SlotType.BOTTOM_STICKY||(this.logSlot(t,"in view"),t.isLoaded=!0,this.callAdFlow(t))}))}tryInit(t){const e=Object.values(t).map((t=>t.loaded&&t.isInitialized())).filter(Boolean);Object.keys(t).length===e.length&&(this.log("All scripts loaded, initializing..."),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>{this.init()})):this.init())}preInit(){this.log("Running Pre Init");const t=this.getLibrariesToFetch();for(const[e,i]of Object.entries(t)){if(i.isInitialized())continue;this.log(`Fetching ${e} script`),i.init();const n=document.createElement("script");n.src=i.url,n.async=!0,n.addEventListener("load",(()=>{this.log(`${e} is loaded`),t[e]=Object.assign(Object.assign({},i),{loaded:!0}),this.tryInit(t)})),document.head.appendChild(n)}}init(){this.log("Init..."),this.mergeConfig(),this.consent.init(),this.initAdNetwork(),this.consent.initCookieSync(),this.initAds()}initAds(){this.initialized||(this.initialized=!0,this.initInlineAds(),this.initTop(),this.initBottomSticky(),this.initSidebarStickyRight(),this.initAdTags(),this.processAds())}deepMerge(t,e){for(let i in e)e.hasOwnProperty(i)&&(e[i]instanceof Object&&t[i]instanceof Object?t[i]=this.deepMerge(t[i],e[i]):t[i]=e[i]);return t}}},240:t=>{"use strict";t.exports="data:image/svg+xml,%3Csvg width=%2730%27 height=%2730%27 viewBox=%270 0 30 30%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect x=%270.5%27 y=%270.5%27 width=%2729%27 height=%2729%27 rx=%2714.5%27 fill=%27white%27/%3E%3Crect x=%270.5%27 y=%270.5%27 width=%2729%27 height=%2729%27 rx=%2714.5%27 stroke=%27%23DDDDDF%27/%3E%3Cpath d=%27M19 11L15 15L19 19%27 stroke=%27%237C7F83%27 stroke-width=%271.5%27/%3E%3Cpath d=%27M11 19L15 15L11 11%27 stroke=%27%237C7F83%27 stroke-width=%271.5%27/%3E%3C/svg%3E"}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={id:n,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.exports}i.m=t,i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.b=document.baseURI||self.location.href,i.nc=void 0,i(506)})();;
2( function() {
3	var cookieValue = document.cookie.replace( /(?:(?:^|.*;\s*)eucookielaw\s*\=\s*([^;]*).*$)|^.*$/, '$1' );
4	var overlay = document.querySelector( '#eu-cookie-law' );
5	var container = document.querySelector( '.widget_eu_cookie_law_widget' );
6	var initialScrollPosition, scrollFunction;
7
8	function remove( el ) {
9		return el && el.parentElement && el.parentElement.removeChild( el );
10	}
11
12	function triggerDismissEvent() {
13		try {
14			const dismissEvent = new Event( 'eucookielaw-dismissed' );
15			document.dispatchEvent( dismissEvent );
16		} catch ( err ) { }
17	}
18
19	function removeOverlay() {
20		remove( overlay );
21		triggerDismissEvent();
22	}
23
24	function fade( el, type, fn ) {
25		var duration = 400;
26
27		el.style.display = 'block';
28		el.style.transitionProperty = 'opacity';
29		el.style.transitionDuration = duration + 'ms';
30		el.style.opacity = type === 'in' ? 0 : 1;
31
32		// Double rAF to ensure styles are applied cross-browser.
33		requestAnimationFrame( function () {
34			requestAnimationFrame( function() {
35				el.style.opacity = type === 'in' ? 1 : 0;
36				// Wait for animation.
37				setTimeout( function () {
38					// Clean up.
39					el.style.removeProperty( 'opacity' );
40					el.style.removeProperty( 'transition-property' );
41					el.style.removeProperty( 'transition-duration' );
42
43					if ( type === 'out' ) {
44						el.style.display = 'none';
45					}
46
47					if ( typeof fn === 'function' ) {
48						fn();
49					}
50				}, duration + 50 );
51			} );
52		} );
53	}
54
55	function appendWidget() {
56		document.body.appendChild( container );
57		overlay.style.display = 'block';
58		fade( container, 'in' );
59	}
60
61	if ( typeof wp !== 'undefined' && !! wp.customize ) {
62		appendWidget();
63		return;
64	}
65
66	if ( ! overlay || ! container ) {
67		return;
68	}
69
70	if ( overlay.classList.contains( 'ads-active' ) ) {
71		var adsCookieValue = document.cookie.replace( /(?:(?:^|.*;\s*)personalized-ads-consent\s*\=\s*([^;]*).*$)|^.*$/, '$1' );
72		if ( cookieValue !== '' && adsCookieValue !== '' ) {
73			removeOverlay();
74		}
75	} else if ( cookieValue !== '' ) {
76		removeOverlay();
77	}
78
79	appendWidget();
80
81	overlay.querySelector( 'form' ).addEventListener( 'submit', accept );
82
83	if ( overlay.classList.contains( 'hide-on-scroll' ) ) {
84		initialScrollPosition = window.pageYOffset;
85
86		scrollFunction = function() {
87			if ( Math.abs( window.pageYOffset - initialScrollPosition ) > 50 ) {
88				accept();
89			}
90		};
91
92		window.addEventListener( 'scroll', scrollFunction );
93	} else if ( overlay.classList.contains( 'hide-on-time' ) ) {
94		var timeout = parseInt( overlay.getAttribute( 'data-hide-timeout' ), 10 ) || 0;
95		setTimeout( accept, timeout * 1000 );
96	}
97
98	var accepted = false;
99	function accept( event ) {
100		if ( accepted ) {
101			return;
102		}
103		accepted = true;
104
105		if ( event && event.preventDefault ) {
106			event.preventDefault();
107		}
108
109		if ( overlay.classList.contains( 'hide-on-scroll' ) ) {
110			window.removeEventListener( 'scroll', scrollFunction );
111		}
112
113		var expireTime = new Date();
114		var consentExpiration = parseInt( overlay.getAttribute( 'data-consent-expiration' ), 10 ) || 0;
115		expireTime.setTime( expireTime.getTime() + ( consentExpiration * 24 * 60 * 60 * 1000 ) );
116
117		document.cookie = 'eucookielaw=' + expireTime.getTime() + ';path=/;expires=' + expireTime.toGMTString();
118		if ( overlay.classList.contains( 'ads-active' ) && overlay.classList.contains( 'hide-on-button' ) ) {
119			document.cookie = 'personalized-ads-consent=' + expireTime.getTime() + ';path=/;expires=' + expireTime.toGMTString();
120		}
121
122		fade( overlay, 'out', function() {
123			removeOverlay();
124			remove( container );
125		} );
126	}
127} )();
128;
129(()=>{(function(){var Scroller,stats,type,text,totop,loading_text,isIE=-1!==navigator.userAgent.search("MSIE");if(isIE){var IEVersion=navigator.userAgent.match(/MSIE\s?(\d+)\.?\d*;/);IEVersion=parseInt(IEVersion[1])}function fullscreenState(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?1:0}"https:"===document.location.protocol&&(infiniteScroll.settings.ajaxurl=infiniteScroll.settings.ajaxurl.replace("http://","https://")),Scroller=function(e){var t=this;this.id=e.id,this.body=document.body,this.window=window,this.element=document.getElementById(e.id),this.wrapperClass=e.wrapper_class,this.ready=!0,this.disabled=!1,this.page=1,this.offset=e.offset,this.currentday=e.currentday,this.order=e.order,this.throttle=!1,this.click_handle=e.click_handle,this.google_analytics=e.google_analytics,this.history=e.history,this.origURL=window.location.href,this.handle=document.createElement("div"),this.handle.setAttribute("id","infinite-handle");var n=document.createElement("span"),i=document.createElement("button");i.textContent=text,n.appendChild(i),this.handle.appendChild(n),this.footer={el:document.getElementById("infinite-footer"),wrap:e.footer},this.checkViewportOnLoadBound=t.checkViewportOnLoad.bind(this),this.wpMediaelement=null,"scroll"===type?(this.window.addEventListener("scroll",function(){t.throttle=!0}),t.gotop(),setInterval(function(){t.throttle&&(t.throttle=!1,t.thefooter(),t.refresh(),t.determineURL())},250),t.ensureFilledViewport(),this.body.addEventListener("is.post-load",t.checkViewportOnLoadBound)):"click"===type&&(this.click_handle&&this.element.appendChild(this.handle),this.handle.addEventListener("click",function(){t.click_handle&&t.handle.parentNode.removeChild(t.handle),t.refresh()})),this.body.addEventListener("is.post-load",t.initializeMejs)},Scroller.prototype.getScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},Scroller.prototype.extend=function(e){e=e||{};for(var t=1;t<arguments.length;t++)if(arguments[t])for(var n in arguments[t])Object.hasOwn(arguments[t],n)&&(e[n]=arguments[t][n]);return e},Scroller.prototype.check=function(){return this.measure(this.element,[this.wrapperClass]).bottom<2*this.window.innerHeight},Scroller.prototype.render=function(e){var t=Array.prototype.slice.call(e.fragment.childNodes);for(this.body.classList.add("infinity-success");t.length>0;){var n=t.shift();this.element.appendChild(n)}this.trigger(this.body,"is.post-load",{jqueryEventName:"post-load",data:e}),this.ready=!0},Scroller.prototype.query=function(){return{page:this.page+this.offset,currentday:this.currentday,order:this.order,scripts:window.infiniteScroll.settings.scripts,styles:window.infiniteScroll.settings.styles,query_args:window.infiniteScroll.settings.query_args,query_before:window.infiniteScroll.settings.query_before,last_post_date:window.infiniteScroll.settings.last_post_date}},Scroller.prototype.animate=function(e,t){var n=performance.now();requestAnimationFrame(function i(o){var r=Math.min(1,(o-n)/t);e(r),r<1&&requestAnimationFrame(i)})},Scroller.prototype.gotop=function(){var e=document.getElementById("infinity-blog-title"),t=this;e&&(e.setAttribute("title",totop),e.addEventListener("click",function(e){var n=t.
129window.pageYOffset;e.preventDefault(),t.animate(function(e){var t=n-n*e;document.documentElement.scrollTop=document.body.scrollTop=t},200)}))},Scroller.prototype.thefooter=function(){var e,t,n,i,o=this;if(this.footer&&this.footer.el){if("string"==typeof this.footer.wrap){try{t=(t=document.getElementById(this.footer.wrap).getBoundingClientRect()).width}catch{t=0}t>479&&(e=this.footer.el.querySelector(".container"))&&(e.style.width=t+"px")}n=parseInt(o.footer.el.style.bottom||-50,10),i=this.window.pageYOffset>=350?0:-50,n!==i&&o.animate(function(e){var t=n+(i-n)*e;o.footer.el.style.bottom=t+"px",1===e&&(n=i)},200)}},Scroller.prototype.urlEncodeJSON=function(e,t){var n,i,o=[];for(var r in e)n=encodeURIComponent(r),i=t?t+"["+n+"]":n,"object"==typeof e[r]?!Array.isArray(e[r])||e[r].length>0?o.push(this.urlEncodeJSON(e[r],i)):o.push(i+"[]="):o.push(i+"="+encodeURIComponent(e[r]));return o.join("&")},Scroller.prototype.refresh=function(){var self=this,query,xhr,loader,customized;if(!this.disabled&&this.ready&&this.check())return this.ready=!1,this.click_handle&&(loader||(document.getElementById("infinite-aria").textContent=loading_text,loader=document.createElement("div"),loader.classList.add("infinite-loader"),loader.setAttribute("role","progress"),loader.innerHTML='<svg class="jetpack-spinner infinite-loader-spinner spinner" width="28" height="28" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg>'),this.element.appendChild(loader)),query=self.extend({action:"infinite_scroll"},this.query()),"undefined"!=typeof wp&&wp.customize&&wp.customize.settings.theme&&(customized={},query.wp_customize="on",query.theme=wp.customize.settings.theme.stylesheet,wp.customize.each(function(e){e._dirty&&(customized[e.id]=e())}),query.customized=JSON.stringify(customized),query.nonce=wp.customize.settings.nonce.preview),xhr=new XMLHttpRequest,xhr.open("POST",infiniteScroll.settings.ajaxurl,!0),xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),xhr.send(self.urlEncodeJSON(query)),xhr.onerror=function(){self.click_handle&&loader.parentNode&&loader.parentNode.removeChild(loader),self.ready=!0},xhr.onload=function(){var response=JSON.parse(xhr.responseText),httpCheck=xhr.status>=200&&xhr.status<300,responseCheck=void 0!==response.html;if(response&&httpCheck&&responseCheck){if(self.click_handle&&loader.parentNode&&loader.parentNode.removeChild(loader),response.scripts&&Array.isArray(response.scripts)&&response.scripts.forEach(function(e){var t=e.footer?"body":"head";window.infiniteScroll.settings.scripts.push(e.handle),e.extra_data&&self.appendInlineScript(e.extra_data,t),e.before_handle&&self.appendInlineScript(e.before_handle,t);var n=document.createElement("script");n.type="text/javascript",n.src=e.src,n.id=e.handle,n.async=!1,e.after_handle&&(n.onload=function(){self.appendInlineScript(e.after_handle,t)}),"wp-mediaelement"===e.handle&&self.body.removeEventListener("is.post-load",self.initializeMejs),"wp-mediaelement"===e.handle&&"undefined"==typeof mejs?(self.wpMediaelement={},self.wpMediaelement.tag=n,self.wpMediaelement.element=t,setTimeout(self.maybeLoadMejs.bind(self),250)):document.getElementsByTagName(t)[0].appendChild(n)}),response.styles&&Array.isArray(response.styles)&&response.styles.forEach(function(item){window.infiniteScroll.settings.styles.push(item.handle);var style=document.createElement("link");style.rel="stylesheet",style.href=item.src,style.id=item.handle+"-css",!item.conditional||isIE&&eval(item.conditional.replace(/%ver/g,IEVersion))||(style=!1),style&&document.getElementsByTagName("head")[0].appendChild(style)}),response.fragment=document.createElement("div"),response.fragment.innerHTML=response.html,self.page++,stats&&((new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?"+stats+"&post=0&baba="+Math.random()),"object"==typeof response.postflair&&"object"==typeof WPCOM_sharing_counts&&(WPCOM_sharing_counts=self.extend(WPCOM_sharing_counts,response.postflair)),self.render.call(self,response),"click"===type?(infiniteScroll.
129settings.wrapper&&document.querySelector("#infinite-view-"+(self.page+self.offset-1)+" a:first-of-type").focus({preventScroll:!0}),response.lastbatch?self.click_handle?(self.body.classList.add("infinity-end"),self.body.classList.remove("infinity-success")):self.trigger(this.body,"infinite-scroll-posts-end"):self.click_handle?self.element.appendChild(self.handle):self.trigger(this.body,"infinite-scroll-posts-more")):response.lastbatch&&(self.disabled=!0,self.body.classList.add("infinity-end"),self.body.classList.remove("infinity-success")),response.currentday&&(self.currentday=response.currentday),self.google_analytics){var ga_url=self.history.path.replace(/%d/,self.page);"object"==typeof _gaq&&_gaq.push(["_trackPageview",ga_url]),"function"==typeof ga&&ga("send","pageview",ga_url)}}else self.click_handle&&loader.parentNode&&loader.parentNode.removeChild(loader)},xhr},Scroller.prototype.appendInlineScript=function(e,t){var n=document.createElement("script"),i=document.createTextNode("//<![CDATA[ \n"+e+"\n//]]>");n.type="text/javascript",n.appendChild(i),document.getElementsByTagName(t)[0].appendChild(n)},Scroller.prototype.maybeLoadMejs=function(){null!==this.wpMediaelement&&("undefined"==typeof mejs?setTimeout(this.maybeLoadMejs.bind(this),250):(document.getElementsByTagName(this.wpMediaelement.element)[0].appendChild(this.wpMediaelement.tag),this.wpMediaelement=null,this.body.addEventListener("is.post-load",this.initializeMejs)))},Scroller.prototype.initializeMejs=function(e){if(e.detail&&e.detail.html&&(-1!==e.detail.html.indexOf("wp-audio-shortcode")||-1!==e.detail.html.indexOf("wp-video-shortcode"))&&"undefined"!=typeof mejs){var t,n={};"undefined"!=typeof _wpmejsSettings&&(n.pluginPath=_wpmejsSettings.pluginPath),n.success=function(e){var t=e.attributes.autoplay&&"false"!==e.attributes.autoplay;"flash"===e.pluginType&&t&&e.addEventListener("canplay",function(){e.play()},!1)},t=document.querySelectorAll(".wp-audio-shortcode, .wp-video-shortcode"),t=(t=Array.prototype.slice.call(t)).filter(function(e){for(;e.parentNode;){if(e.classList.contains("mejs-container"))return!1;e=e.parentNode}return!0});for(var i=0;i<t.length;i++)new MediaElementPlayer(t[i],n)}},Scroller.prototype.measure=function(e,t){t=t||[];for(var n,i,o,r=Array.prototype.slice.call(e.children),s=Number.MAX_VALUE,l=0;r.length>0;){for(n=r.shift(),o=0;o<t.length;o++)if(n.classList.contains(t[o])){r=r.concat(Array.prototype.slice.call(n.children));break}i=n.getBoundingClientRect(),s=Math.min(s,i.top),l=Math.max(l,i.bottom)}var a=Math.round(window.innerHeight/2),d=s<=a&&l>=a;return{top:s,bottom:l,height:l-s,factor:(Math.min(l,a)-Math.max(s,0))/a,isActive:d}},Scroller.prototype.ensureFilledViewport=function(){var e=this,t=e.window.innerHeight,n=e.measure(e.element,[e.wrapperClass]);e.body.removeEventListener("is.post-load",e.checkViewportOnLoadBound),0!==n.bottom&&n.bottom<t&&(e.ready=!0,e.refresh())},Scroller.prototype.checkViewportOnLoad=function(){this.ensureFilledViewport()};var previousFullScrenState=fullscreenState();Scroller.prototype.determineURL=function(){var e,t=this,n=-1,i=fullscreenState(),o=0;if(previousFullScrenState^i)previousFullScrenState=i;else{previousFullScrenState=i,e=document.querySelectorAll("."+t.wrapperClass);for(var r=0;r<e.length;r++){var s=t.measure(e[r]);if(s.isActive){n=parseInt(e[r].dataset.pageNum,10);break}s.factor>o&&(n=parseInt(e[r].dataset.pageNum,10),o=s.factor)}t.updateURL(n)}},Scroller.prototype.updateURL=function(e){if(window.history.pushState){var t=this,n=t.origURL;-1!==e&&(n=window.location.protocol+"//"+t.history.host+t.history.path.replace(/%d/,e)+t.history.parameters),window.location.href!==n&&history.pushState(null,null,n)}},Scroller.prototype.pause=function(){this.disabled=!0},Scroller.prototype.resume=function(){this.disabled=!1},Scroller.prototype.trigger=function(e,t,n){var i;(n=n||{}).jqueryEventName&&"undefined"!=typeof jQuery&&jQuery(e).trigger(n.jqueryEventName,n.data||null);try{i=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n.data||null})}catch{(i=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n.data||null)}e.dispatchEvent(i)};var jetpackInfinityModule=function(){if("object"==typeof infiniteScroll&&(infiniteScroll.
129settings.body_class.split(" ").forEach(function(e){e&&document.body.classList.add(e)}),stats=infiniteScroll.settings.stats,type=infiniteScroll.settings.type,text=infiniteScroll.settings.text,totop=infiniteScroll.settings.totop,loading_text=infiniteScroll.settings.loading_text,infiniteScroll.scroller=new Scroller(infiniteScroll.settings),"click"===type)){var e=null;window.addEventListener("scroll",function(){e||(e=setTimeout(function(){infiniteScroll.scroller.determineURL(),e=null},250))})}};"interactive"===document.readyState||"complete"===document.readyState?jetpackInfinityModule():document.addEventListener("DOMContentLoaded",jetpackInfinityModule)})()})();;
130/**
131 * File skip-link-focus-fix.js.
132 *
133 * Helps with accessibility for keyboard only users.
134 *
135 * Learn more: https://git.io/vWdr2
136 */
137( function() {
138	var isWebkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1,
139	    isOpera  = navigator.userAgent.toLowerCase().indexOf( 'opera' )  > -1,
140	    isIe     = navigator.userAgent.toLowerCase().indexOf( 'msie' )   > -1;
141
142	if ( ( isWebkit || isOpera || isIe ) && document.getElementById && window.addEventListener ) {
143		window.addEventListener( 'hashchange', function() {
144			var id = location.hash.substring( 1 ),
145				element;
146
147			if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
148				return;
149			}
150
151			element = document.getElementById( id );
152
153			if ( element ) {
154				if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
155					element.tabIndex = -1;
156				}
157
158				element.focus();
159			}
160		}, false );
161	}
162})();;
163/*
164 * jQuery FlexSlider v2.4.0
165 * Copyright 2012 WooThemes
166 * Contributing Author: Tyler Smith
167 */
168;
169(function ($) {
170
171  //FlexSlider: Object Instance
172  $.flexslider = function(el, options) {
173    var slider = $(el);
174
175    // making variables public
176    slider.vars = $.extend({}, $.flexslider.defaults, options);
177
178    var namespace = slider.vars.namespace,
179        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
180        touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
181        // depricating this idea, as devices are being released with both of these events
182        //eventType = (touch) ? "touchend" : "click",
183        eventType = "click touchend MSPointerUp keyup",
184        watchedEvent = "",
185        watchedEventClearTimer,
186        vertical = slider.vars.direction === "vertical",
187        reverse = slider.vars.reverse,
188        carousel = (slider.vars.itemWidth > 0),
189        fade = slider.vars.animation === "fade",
190        asNav = slider.vars.asNavFor !== "",
191        methods = {},
192        focused = true;
193
194    // Store a reference to the slider object
195    $.data(el, "flexslider", slider);
196
197    // Private slider methods
198    methods = {
199      init: function() {
200        slider.animating = false;
201        // Get current slide and make sure it is a number
202        slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0), 10 );
203        if ( isNaN( slider.currentSlide ) ) { slider.currentSlide = 0; }
204        slider.animatingTo = slider.currentSlide;
205        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
206        slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));
207        slider.slides = $(slider.vars.selector, slider);
208        slider.container = $(slider.containerSelector, slider);
209        slider.count = slider.slides.length;
210        // SYNC:
211        slider.syncExists = $(slider.vars.sync).length > 0;
212        // SLIDE:
213        if (slider.vars.animation === "slide") { slider.vars.animation = "swing"; }
214        slider.prop = (vertical) ? "top" : "marginLeft";
215        slider.args = {};
216        // SLIDESHOW:
217        slider.manualPause = false;
218        slider.stopped = false;
219        //PAUSE WHEN INVISIBLE
220        slider.started = false;
221        slider.startTimeout = null;
222        // TOUCH/USECSS:
223        slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {
224          var obj = document.createElement('div'),
225              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
226          for (var i in props) {
227            if ( obj.style[ props[i] ] !== undefined ) {
228              slider.pfx = props[i].replace('Perspective','').toLowerCase();
229              slider.prop = "-" + slider.pfx + "-transform";
230              return true;
231            }
232          }
233          return false;
vendor: 50,553 bytes, lines 234-1330
234        }());
235        slider.ensureAnimationEnd = '';
236        // CONTROLSCONTAINER:
237        if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
238        // MANUAL:
239        if (slider.vars.manualControls !== "") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);
240
241        // RANDOMIZE:
242        if (slider.vars.randomize) {
243          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
244          slider.container.empty().append(slider.slides);
245        }
246
247        slider.doMath();
248
249        // INIT
250        slider.setup("init");
251
252        // CONTROLNAV:
253        if (slider.vars.controlNav) { methods.controlNav.setup(); }
254
255        // DIRECTIONNAV:
256        if (slider.vars.directionNav) { methods.directionNav.setup(); }
257
258        // KEYBOARD:
259        if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {
260          $(document).bind('keyup', function(event) {
261            var keycode = event.keyCode;
262            if (!slider.animating && (keycode === 39 || keycode === 37)) {
263              var target = (keycode === 39) ? slider.getTarget('next') :
264                           (keycode === 37) ? slider.getTarget('prev') : false;
265              slider.flexAnimate(target, slider.vars.pauseOnAction);
266            }
267          });
268        }
269        // MOUSEWHEEL:
270        if (slider.vars.mousewheel) {
271          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
272            event.preventDefault();
273            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
274            slider.flexAnimate(target, slider.vars.pauseOnAction);
275          });
276        }
277
278        // PAUSEPLAY
279        if (slider.vars.pausePlay) { methods.pausePlay.setup(); }
280
281        //PAUSE WHEN INVISIBLE
282        if (slider.vars.slideshow && slider.vars.pauseInvisible) { methods.pauseInvisible.init(); }
283
284        // SLIDSESHOW
285        if (slider.vars.slideshow) {
286          if (slider.vars.pauseOnHover) {
287            slider.hover(function() {
288              if (!slider.manualPlay && !slider.manualPause) { slider.pause(); }
289            }, function() {
290              if (!slider.manualPause && !slider.manualPlay && !slider.stopped) { slider.play(); }
291            });
292          }
293          // initialize animation
294          //If we're visible, or we don't use PageVisibility API
295          if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {
296            (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();
297          }
298        }
299
300        // ASNAV:
301        if (asNav) { methods.asNav.setup(); }
302
303        // TOUCH
304        if (touch && slider.vars.touch) { methods.touch(); }
305
306        // FADE&&SMOOTHHEIGHT || SLIDE:
307        if (!fade || (fade && slider.vars.smoothHeight)) { $(window).bind("resize orientationchange focus", methods.resize); }
308
309        slider.find("img").attr("draggable", "false");
310
311        // API: start() Callback
312        setTimeout(function(){
313          slider.vars.start(slider);
314        }, 200);
315      },
316      asNav: {
317        setup: function() {
318          slider.asNav = true;
319          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
320          slider.currentItem = slider.currentSlide;
321          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
322          if(!msGesture){
323              slider.slides.on(eventType, function(e){
324                e.preventDefault();
325                var $slide = $(this),
326                    target = $slide.index();
327                var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
328                if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
329                  slider.flexAnimate(slider.getTarget("prev"), true);
330                } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
331                  slider.direction = (slider.currentItem < target) ? "next" : "prev";
332                  slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
333                }
334              });
335          }else{
336              el._slider = slider;
337              slider.slides.each(function (){
338                  var that = this;
339                  that._gesture = new MSGesture();
340                  that._gesture.target = that;
341                  that.addEventListener("MSPointerDown", function (e){
342                      e.preventDefault();
343                      if(e.currentTarget._gesture) {
344                        e.currentTarget._gesture.addPointer(e.pointerId);
345                      }
346                  }, false);
347                  that.addEventListener("MSGestureTap", function (e){
348                      e.preventDefault();
349                      var $slide = $(this),
350                          target = $slide.index();
351                      if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
352                          slider.direction = (slider.currentItem < target) ? "next" : "prev";
353                          slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
354                      }
355                  });
356              });
357          }
358        }
359      },
360      controlNav: {
361        setup: function() {
362          if (!slider.manualControls) {
363            methods.controlNav.setupPaging();
364          } else { // MANUALCONTROLS:
365            methods.controlNav.setupManual();
366          }
367        },
368        setupPaging: function() {
369          var type = (slider.vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
370              j = 1,
371              item,
372              slide;
373
374          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
375
376          if (slider.pagingCount > 1) {
377            for (var i = 0; i < slider.pagingCount; i++) {
378              slide = slider.slides.eq(i);
379
380              if ( undefined === slide.attr( 'data-thumb-alt' ) ) { 
381                slide.attr( 'data-thumb-alt', '' ); 
382              }
383              
384              item = $( '<a></a>' ).attr( 'href', '#' ).text( j );
385              if ( slider.vars.controlNav === "thumbnails" ) {
386                item = $( '<img/>' ).attr( 'src', slide.attr( 'data-thumb' ) );
387              }
388              
389              if ( '' !== slide.attr( 'data-thumb-alt' ) ) {
390                item.attr( 'alt', slide.attr( 'data-thumb-alt' ) );
391              }
392
393              if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
394                var captn = slide.attr( 'data-thumbcaption' );
395                if ( '' !== captn && undefined !== captn ) { 
396                  var caption = $('<span></span>' ).addClass( namespace + 'caption' ).text( captn );
397                  item.append( caption );
398                }
399              }
400              
401              var liElement = $( '<li>' );
402              item.appendTo( liElement );
403              liElement.append( '</li>' );
404
405              slider.controlNavScaffold.append(liElement);
406              j++;
407            }
408          }
409
410          // CONTROLSCONTAINER:
411          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
412          methods.controlNav.set();
413
414          methods.controlNav.active();
415
416          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
417            event.preventDefault();
418
419            if (watchedEvent === "" || watchedEvent === event.type) {
420              var $this = $(this),
421                  target = slider.controlNav.index($this);
422
423              if (!$this.hasClass(namespace + 'active')) {
424                slider.direction = (target > slider.currentSlide) ? "next" : "prev";
425                slider.flexAnimate(target, slider.vars.pauseOnAction);
426              }
427            }
428
429            // setup flags to prevent event duplication
430            if (watchedEvent === "") {
431              watchedEvent = event.type;
432            }
433            methods.setToClearWatchedEvent();
434
435          });
436        },
437        setupManual: function() {
438          slider.controlNav = slider.manualControls;
439          methods.controlNav.active();
440
441          slider.controlNav.bind(eventType, function(event) {
442            event.preventDefault();
443
444            if (watchedEvent === "" || watchedEvent === event.type) {
445              var $this = $(this),
446                  target = slider.controlNav.index($this);
447
448              if (!$this.hasClass(namespace + 'active')) {
449                (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
450                slider.flexAnimate(target, slider.vars.pauseOnAction);
451              }
452            }
453
454            // setup flags to prevent event duplication
455            if (watchedEvent === "") {
456              watchedEvent = event.type;
457            }
458            methods.setToClearWatchedEvent();
459          });
460        },
461        set: function() {
462          var selector = (slider.vars.controlNav === "thumbnails") ? 'img' : 'a';
463          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
464        },
465        active: function() {
466          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
467        },
468        update: function(action, pos) {
469          if (slider.pagingCount > 1 && action === "add") {
470            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
471          } else if (slider.pagingCount === 1) {
472            slider.controlNavScaffold.find('li').remove();
473          } else {
474            slider.controlNav.eq(pos).closest('li').remove();
475          }
476          methods.controlNav.set();
477          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
478        }
479      },
480      directionNav: {
481        setup: function() {
482          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li class="' + namespace + 'nav-prev"><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li class="' + namespace + 'nav-next"><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>');
483
484          // CONTROLSCONTAINER:
485          if (slider.controlsContainer) {
486            $(slider.controlsContainer).append(directionNavScaffold);
487            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
488          } else {
489            slider.append(directionNavScaffold);
490            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
491          }
492
493          methods.directionNav.update();
494
495          slider.directionNav.bind(eventType, function(event) {
496            event.preventDefault();
497            var target;
498
499            if (watchedEvent === "" || watchedEvent === event.type) {
500              target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
501              slider.flexAnimate(target, slider.vars.pauseOnAction);
502            }
503
504            // setup flags to prevent event duplication
505            if (watchedEvent === "") {
506              watchedEvent = event.type;
507            }
508            methods.setToClearWatchedEvent();
509          });
510        },
511        update: function() {
512          var disabledClass = namespace + 'disabled';
513          if (slider.pagingCount === 1) {
514            slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
515          } else if (!slider.vars.animationLoop) {
516            if (slider.animatingTo === 0) {
517              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
518            } else if (slider.animatingTo === slider.last) {
519              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
520            } else {
521              slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
522            }
523          } else {
524            slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
525          }
526        }
527      },
528      pausePlay: {
529        setup: function() {
530          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
531
532          // CONTROLSCONTAINER:
533          if (slider.controlsContainer) {
534            slider.controlsContainer.append(pausePlayScaffold);
535            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
536          } else {
537            slider.append(pausePlayScaffold);
538            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
539          }
540
541          methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');
542
543          slider.pausePlay.bind(eventType, function(event) {
544            event.preventDefault();
545
546            if (watchedEvent === "" || watchedEvent === event.type) {
547              if ($(this).hasClass(namespace + 'pause')) {
548                slider.manualPause = true;
549                slider.manualPlay = false;
550                slider.pause();
551              } else {
552                slider.manualPause = false;
553                slider.manualPlay = true;
554                slider.play();
555              }
556            }
557
558            // setup flags to prevent event duplication
559            if (watchedEvent === "") {
560              watchedEvent = event.type;
561            }
562            methods.setToClearWatchedEvent();
563          });
564        },
565        update: function(state) {
566          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
567        }
568      },
569      touch: function() {
570        var startX,
571          startY,
572          offset,
573          cwidth,
574          dx,
575          startT,
576          scrolling = false,
577          localX = 0,
578          localY = 0,
579          accDx = 0;
580
581        if(!msGesture){
582            el.addEventListener('touchstart', onTouchStart, false);
583
584            function onTouchStart(e) {
585              if (slider.animating) {
586                e.preventDefault();
587              } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
588                slider.pause();
589                // CAROUSEL:
590                cwidth = (vertical) ? slider.h : slider. w;
591                startT = Number(new Date());
592                // CAROUSEL:
593
594                // Local vars for X and Y points.
595                localX = e.touches[0].pageX;
596                localY = e.touches[0].pageY;
597
598                offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
599                         (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
600                         (carousel && slider.currentSlide === slider.last) ? slider.limit :
601                         (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
602                         (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
603                startX = (vertical) ? localY : localX;
604                startY = (vertical) ? localX : localY;
605
606                el.addEventListener('touchmove', onTouchMove, false);
607                el.addEventListener('touchend', onTouchEnd, false);
608              }
609            }
610
611            function onTouchMove(e) {
612              // Local vars for X and Y points.
613
614              localX = e.touches[0].pageX;
615              localY = e.touches[0].pageY;
616
617              dx = (vertical) ? startX - localY : startX - localX;
618              scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));
619
620              var fxms = 500;
621
622              if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
623                e.preventDefault();
624                if (!fade && slider.transitions) {
625                  if (!slider.vars.animationLoop) {
626                    dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
627                  }
628                  slider.setProps(offset + dx, "setTouch");
629                }
630              }
631            }
632
633            function onTouchEnd(e) {
634              // finish the touch by undoing the touch session
635              el.removeEventListener('touchmove', onTouchMove, false);
636
637              if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
638                var updateDx = (reverse) ? -dx : dx,
639                    target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
640
641                if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
642                  slider.flexAnimate(target, slider.vars.pauseOnAction);
643                } else {
644                  if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }
645                }
646              }
647              el.removeEventListener('touchend', onTouchEnd, false);
648
649              startX = null;
650              startY = null;
651              dx = null;
652              offset = null;
653            }
654        }else{
655            el.style.msTouchAction = "none";
656            el._gesture = new MSGesture();
657            el._gesture.target = el;
658            el.addEventListener("MSPointerDown", onMSPointerDown, false);
659            el._slider = slider;
660            el.addEventListener("MSGestureChange", onMSGestureChange, false);
661            el.addEventListener("MSGestureEnd", onMSGestureEnd, false);
662
663            function onMSPointerDown(e){
664                e.stopPropagation();
665                if (slider.animating) {
666                    e.preventDefault();
667                }else{
668                    slider.pause();
669                    el._gesture.addPointer(e.pointerId);
670                    accDx = 0;
671                    cwidth = (vertical) ? slider.h : slider. w;
672                    startT = Number(new Date());
673                    // CAROUSEL:
674
675                    offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
676                        (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
677                            (carousel && slider.currentSlide === slider.last) ? slider.limit :
678                                (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
679                                    (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
680                }
681            }
682
683            function onMSGestureChange(e) {
684                e.stopPropagation();
685                var slider = e.target._slider;
686                if(!slider){
687                    return;
688                }
689                var transX = -e.translationX,
690                    transY = -e.translationY;
691
692                //Accumulate translations.
693                accDx = accDx + ((vertical) ? transY : transX);
694                dx = accDx;
695                scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));
696
697                if(e.detail === e.MSGESTURE_FLAG_INERTIA){
698                    setImmediate(function (){
699                        el._gesture.stop();
700                    });
701
702                    return;
703                }
704
705                if (!scrolling || Number(new Date()) - startT > 500) {
706                    e.preventDefault();
707                    if (!fade && slider.transitions) {
708                        if (!slider.vars.animationLoop) {
709                            dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);
710                        }
711                        slider.setProps(offset + dx, "setTouch");
712                    }
713                }
714            }
715
716            function onMSGestureEnd(e) {
717                e.stopPropagation();
718                var slider = e.target._slider;
719                if(!slider){
720                    return;
721                }
722                if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
723                    var updateDx = (reverse) ? -dx : dx,
724                        target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
725
726                    if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
727                        slider.flexAnimate(target, slider.vars.pauseOnAction);
728                    } else {
729                        if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }
730                    }
731                }
732
733                startX = null;
734                startY = null;
735                dx = null;
736                offset = null;
737                accDx = 0;
738            }
739        }
740      },
741      resize: function() {
742        if (!slider.animating && slider.is(':visible')) {
743          if (!carousel) { slider.doMath(); }
744
745          if (fade) {
746            // SMOOTH HEIGHT:
747            methods.smoothHeight();
748          } else if (carousel) { //CAROUSEL:
749            slider.slides.width(slider.computedW);
750            slider.update(slider.pagingCount);
751            slider.setProps();
752          }
753          else if (vertical) { //VERTICAL:
754            slider.viewport.height(slider.h);
755            slider.setProps(slider.h, "setTotal");
756          } else {
757            // SMOOTH HEIGHT:
758            if (slider.vars.smoothHeight) { methods.smoothHeight(); }
759            slider.newSlides.width(slider.computedW);
760            slider.setProps(slider.computedW, "setTotal");
761          }
762        }
763      },
764      smoothHeight: function(dur) {
765        if (!vertical || fade) {
766          var $obj = (fade) ? slider : slider.viewport;
767          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
768        }
769      },
770      sync: function(action) {
771        var $obj = $(slider.vars.sync).data("flexslider"),
772            target = slider.animatingTo;
773
774        switch (action) {
775          case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
776          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
777          case "pause": $obj.pause(); break;
778        }
779      },
780      uniqueID: function($clone) {
781        // Append _clone to current level and children elements with id attributes
782        $clone.filter( '[id]' ).add($clone.find( '[id]' )).each(function() {
783          var $this = $(this);
784          $this.attr( 'id', $this.attr( 'id' ) + '_clone' );
785        });
786        return $clone;
787      },
788      pauseInvisible: {
789        visProp: null,
790        init: function() {
791          var visProp = methods.pauseInvisible.getHiddenProp();
792          if (visProp) {
793            var evtname = visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
794            document.addEventListener(evtname, function() {
795              if (methods.pauseInvisible.isHidden()) {
796                if(slider.startTimeout) {
797                  clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
798                } else { 
799                  slider.pause(); //Or just pause
800                }
801              }
802              else {
803                if(slider.started) {
804                  slider.play(); //Initiated before, just play
805                } else { 
806                  if (slider.vars.initDelay > 0) { 
807                    setTimeout(slider.play, slider.vars.initDelay);
808                  } else {
809                    slider.play(); //Didn't init before: simply init or wait for it
810                  } 
811                }
812              }
813            });
814          }
815        },
816        isHidden: function() {
817          var prop = methods.pauseInvisible.getHiddenProp();
818          if (!prop) {
819            return false;
820          }
821          return document[prop];
822        },
823        getHiddenProp: function() {
824          var prefixes = ['webkit','moz','ms','o'];
825          // if 'hidden' is natively supported just return it
826          if ('hidden' in document) {
827            return 'hidden';
828          }
829          // otherwise loop over all the known prefixes until we find one
830          for ( var i = 0; i < prefixes.length; i++ ) {
831              if ((prefixes[i] + 'Hidden') in document) {
832                return prefixes[i] + 'Hidden';
833              }
834          }
835          // otherwise it's not supported
836          return null;
837        }
838      },
839      setToClearWatchedEvent: function() {
840        clearTimeout(watchedEventClearTimer);
841        watchedEventClearTimer = setTimeout(function() {
842          watchedEvent = "";
843        }, 3000);
844      }
845    };
846
847    // public methods
848    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
849      if (!slider.vars.animationLoop && target !== slider.currentSlide) {
850        slider.direction = (target > slider.currentSlide) ? "next" : "prev";
851      }
852
853      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
854
855      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
856        if (asNav && withSync) {
857          var master = $(slider.vars.asNavFor).data('flexslider');
858          slider.atEnd = target === 0 || target === slider.count - 1;
859          master.flexAnimate(target, true, false, true, fromNav);
860          slider.direction = (slider.currentItem < target) ? "next" : "prev";
861          master.direction = slider.direction;
862
863          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
864            slider.currentItem = target;
865            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
866            target = Math.floor(target/slider.visible);
867          } else {
868            slider.currentItem = target;
869            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
870            return false;
871          }
872        }
873
874        slider.animating = true;
875        slider.animatingTo = target;
876
877        // SLIDESHOW:
878        if (pause) { slider.pause(); }
879
880        // API: before() animation Callback
881        slider.vars.before(slider);
882
883        // SYNC:
884        if (slider.syncExists && !fromNav) { methods.sync("animate"); }
885
886        // CONTROLNAV
887        if (slider.vars.controlNav) { methods.controlNav.active(); }
888
889        // !CAROUSEL:
890        // CANDIDATE: slide active class (for add/remove slide)
891        if (!carousel) { slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide'); }
892
893        // INFINITE LOOP:
894        // CANDIDATE: atEnd
895        slider.atEnd = target === 0 || target === slider.last;
896
897        // DIRECTIONNAV:
898        if (slider.vars.directionNav) { methods.directionNav.update(); }
899
900        if (target === slider.last) {
901          // API: end() of cycle Callback
902          slider.vars.end(slider);
903          // SLIDESHOW && !INFINITE LOOP:
904          if (!slider.vars.animationLoop) { slider.pause(); }
905        }
906
907        // SLIDE:
908        if (!fade) {
909          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
910              margin, slideString, calcNext;
911
912          // INFINITE LOOP / REVERSE:
913          if (carousel) {
914            //margin = (slider.vars.itemWidth > slider.w) ? slider.vars.itemMargin * 2 : slider.vars.itemMargin;
915            margin = slider.vars.itemMargin;
916            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
917            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
918          } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== "next") {
919            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
920          } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== "prev") {
921            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
922          } else {
923            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
924          }
925          slider.setProps(slideString, "", slider.vars.animationSpeed);
926          if (slider.transitions) {
927            if (!slider.vars.animationLoop || !slider.atEnd) {
928              slider.animating = false;
929              slider.currentSlide = slider.animatingTo;
930            }
931            
932            // Unbind previous transitionEnd events and re-bind new transitionEnd event
933            slider.container.unbind("webkitTransitionEnd transitionend");
934            slider.container.bind("webkitTransitionEnd transitionend", function() {
935              clearTimeout(slider.ensureAnimationEnd);
936              slider.wrapup(dimension);
937            });
938
939            // Insurance for the ever-so-fickle transitionEnd event
940            clearTimeout(slider.ensureAnimationEnd);
941            slider.ensureAnimationEnd = setTimeout(function() {
942              slider.wrapup(dimension);
943            }, slider.vars.animationSpeed + 100);
944
945          } else {
946            slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
947              slider.wrapup(dimension);
948            });
949          }
950        } else { // FADE:
951          if (!touch) {
952            //slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
953            //slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
954
955            slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
956            slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
957
958          } else {
959            slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
960            slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
961            slider.wrapup(dimension);
962          }
963        }
964        // SMOOTH HEIGHT:
965        if (slider.vars.smoothHeight) { methods.smoothHeight(slider.vars.animationSpeed); }
966      }
967    };
968    slider.wrapup = function(dimension) {
969      // SLIDE:
970      if (!fade && !carousel) {
971        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {
972          slider.setProps(dimension, "jumpEnd");
973        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {
974          slider.setProps(dimension, "jumpStart");
975        }
976      }
977      slider.animating = false;
978      slider.currentSlide = slider.animatingTo;
979      // API: after() animation Callback
980      slider.vars.after(slider);
981    };
982
983    // SLIDESHOW:
984    slider.animateSlides = function() {
985      if (!slider.animating && focused ) { slider.flexAnimate(slider.getTarget("next")); }
986    };
987    // SLIDESHOW:
988    slider.pause = function() {
989      clearInterval(slider.animatedSlides);
990      slider.animatedSlides = null;
991      slider.playing = false;
992      // PAUSEPLAY:
993      if (slider.vars.pausePlay) { methods.pausePlay.update("play"); }
994      // SYNC:
995      if (slider.syncExists) { methods.sync("pause"); }
996    };
997    // SLIDESHOW:
998    slider.play = function() {
999      if (slider.playing) { clearInterval(slider.animatedSlides); }
1000      slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
1001      slider.started = slider.playing = true;
1002      // PAUSEPLAY:
1003      if (slider.vars.pausePlay) { methods.pausePlay.update("pause"); }
1004      // SYNC:
1005      if (slider.syncExists) { methods.sync("play"); }
1006    };
1007    // STOP:
1008    slider.stop = function () {
1009      slider.pause();
1010      slider.stopped = true;
1011    };
1012    slider.canAdvance = function(target, fromNav) {
1013      // ASNAV:
1014      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
1015      return (fromNav) ? true :
1016             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
1017             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
1018             (target === slider.currentSlide && !asNav) ? false :
1019             (slider.vars.animationLoop) ? true :
1020             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
1021             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
1022             true;
1023    };
1024    slider.getTarget = function(dir) {
1025      slider.direction = dir;
1026      if (dir === "next") {
1027        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
1028      } else {
1029        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
1030      }
1031    };
1032
1033    // SLIDE:
1034    slider.setProps = function(pos, special, dur) {
1035      var target = (function() {
1036        var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
1037            posCalc = (function() {
1038              if (carousel) {
1039                return (special === "setTouch") ? pos :
1040                       (reverse && slider.animatingTo === slider.last) ? 0 :
1041                       (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
1042                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
1043              } else {
1044                switch (special) {
1045                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
1046                  case "setTouch": return (reverse) ? pos : pos;
1047                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
1048                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
1049                  default: return pos;
1050                }
1051              }
1052            }());
1053
1054            return (posCalc * -1) + "px";
1055          }());
1056
1057      if (slider.transitions) {
1058        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
1059        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
1060        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
1061         slider.container.css("transition-duration", dur);
1062      }
1063
1064      slider.args[slider.prop] = target;
1065      if (slider.transitions || dur === undefined) { slider.container.css(slider.args); }
1066
1067      slider.container.css('transform',target);
1068    };
1069
1070    slider.setup = function(type) {
1071      // SLIDE:
1072      if (!fade) {
1073        var sliderOffset, arr;
1074
1075        if (type === "init") {
1076          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
1077          // INFINITE LOOP:
1078          slider.cloneCount = 0;
1079          slider.cloneOffset = 0;
1080          // REVERSE:
1081          if (reverse) {
1082            arr = $.makeArray(slider.slides).reverse();
1083            slider.slides = $(arr);
1084            slider.container.empty().append(slider.slides);
1085          }
1086        }
1087        // INFINITE LOOP && !CAROUSEL:
1088        if (slider.vars.animationLoop && !carousel) {
1089          slider.cloneCount = 2;
1090          slider.cloneOffset = 1;
1091          // clear out old clones
1092          if (type !== "init") { slider.container.find('.clone').remove(); }
1093          slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))
1094                          .prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));
1095        }
1096        slider.newSlides = $(slider.vars.selector, slider);
1097
1098        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
1099        // VERTICAL:
1100        if (vertical && !carousel) {
1101          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
1102          setTimeout(function(){
1103            slider.newSlides.css({"display": "block"});
1104            slider.doMath();
1105            slider.viewport.height(slider.h);
1106            slider.setProps(sliderOffset * slider.h, "init");
1107          }, (type === "init") ? 100 : 0);
1108        } else {
1109          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
1110          slider.setProps(sliderOffset * slider.computedW, "init");
1111          setTimeout(function(){
1112            slider.doMath();
1113            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
1114            // SMOOTH HEIGHT:
1115            if (slider.vars.smoothHeight) { methods.smoothHeight(); }
1116          }, (type === "init") ? 100 : 0);
1117        }
1118      } else { // FADE:
1119        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
1120        if (type === "init") {
1121          if (!touch) {
1122            //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
1123            if (slider.vars.fadeFirstSlide == false) {
1124              slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).css({"opacity": 1});
1125            } else {
1126              slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
1127            }
1128          } else {
1129            slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
1130          }
1131        }
1132        // SMOOTH HEIGHT:
1133        if (slider.vars.smoothHeight) { methods.smoothHeight(); }
1134      }
1135      // !CAROUSEL:
1136      // CANDIDATE: active slide
1137      if (!carousel) { slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide"); }
1138
1139      //FlexSlider: init() Callback
1140      slider.vars.init(slider);
1141    };
1142
1143    slider.doMath = function() {
1144      var slide = slider.slides.first(),
1145          slideMargin = slider.vars.itemMargin,
1146          minItems = slider.vars.minItems,
1147          maxItems = slider.vars.maxItems;
1148
1149      slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
1150      slider.h = slide.height();
1151      slider.boxPadding = slide.outerWidth() - slide.width();
1152
1153      // CAROUSEL:
1154      if (carousel) {
1155        slider.itemT = slider.vars.itemWidth + slideMargin;
1156        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
1157        slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
1158        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
1159                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
1160                       (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;
1161
1162        slider.visible = Math.floor(slider.w/(slider.itemW));
1163        slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;
1164        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
1165        slider.last =  slider.pagingCount - 1;
1166        slider.limit = (slider.pagingCount === 1) ? 0 :
1167                       (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
1168      } else {
1169        slider.itemW = slider.w;
1170        slider.pagingCount = slider.count;
1171        slider.last = slider.count - 1;
1172      }
1173      slider.computedW = slider.itemW - slider.boxPadding;
1174    };
1175
1176    slider.update = function(pos, action) {
1177      slider.doMath();
1178
1179      // update currentSlide and slider.animatingTo if necessary
1180      if (!carousel) {
1181        if (pos < slider.currentSlide) {
1182          slider.currentSlide += 1;
1183        } else if (pos <= slider.currentSlide && pos !== 0) {
1184          slider.currentSlide -= 1;
1185        }
1186        slider.animatingTo = slider.currentSlide;
1187      }
1188
1189      // update controlNav
1190      if (slider.vars.controlNav && !slider.manualControls) {
1191        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
1192          methods.controlNav.update("add");
1193        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
1194          if (carousel && slider.currentSlide > slider.last) {
1195            slider.currentSlide -= 1;
1196            slider.animatingTo -= 1;
1197          }
1198          methods.controlNav.update("remove", slider.last);
1199        }
1200      }
1201      // update directionNav
1202      if (slider.vars.directionNav) { methods.directionNav.update(); }
1203
1204    };
1205
1206    slider.addSlide = function(obj, pos) {
1207      var $obj = $(obj);
1208
1209      slider.count += 1;
1210      slider.last = slider.count - 1;
1211
1212      // append new slide
1213      if (vertical && reverse) {
1214        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
1215      } else {
1216        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
1217      }
1218
1219      // update currentSlide, animatingTo, controlNav, and directionNav
1220      slider.update(pos, "add");
1221
1222      // update slider.slides
1223      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
1224      // re-setup the slider to accomdate new slide
1225      slider.setup();
1226
1227      //FlexSlider: added() Callback
1228      slider.vars.added(slider);
1229    };
1230    slider.removeSlide = function(obj) {
1231      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
1232
1233      // update count
1234      slider.count -= 1;
1235      slider.last = slider.count - 1;
1236
1237      // remove slide
1238      if (isNaN(obj)) {
1239        $(obj, slider.slides).remove();
1240      } else {
1241        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
1242      }
1243
1244      // update currentSlide, animatingTo, controlNav, and directionNav
1245      slider.doMath();
1246      slider.update(pos, "remove");
1247
1248      // update slider.slides
1249      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
1250      // re-setup the slider to accomdate new slide
1251      slider.setup();
1252
1253      // FlexSlider: removed() Callback
1254      slider.vars.removed(slider);
1255    };
1256
1257    //FlexSlider: Initialize
1258    methods.init();
1259  };
1260
1261  // Ensure the slider isn't focussed if the window loses focus.
1262  $( window ).blur( function ( e ) {
1263    focused = false;
1264  }).focus( function ( e ) {
1265    focused = true;
1266  });
1267
1268  //FlexSlider: Default Settings
1269  $.flexslider.defaults = {
1270    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
1271    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
1272    animation: "fade",              //String: Select your animation type, "fade" or "slide"
1273    easing: "swing",                //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
1274    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
1275    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
1276    animationLoop: true,            //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
1277    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
1278    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
1279    slideshow: true,                //Boolean: Animate slider automatically
1280    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
1281    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
1282    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
1283    randomize: false,               //Boolean: Randomize slide order
1284    fadeFirstSlide: true,           //Boolean: Fade in the first slide when animation type is "fade"
1285    thumbCaptions: false,           //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.
1286
1287    // Usability features
1288    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
1289    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
1290    pauseInvisible: true,   		//{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
1291    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
1292    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
1293    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
1294
1295    // Primary Controls
1296    controlNav: true,               //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage
1297    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
1298    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
1299    nextText: "Next",               //String: Set the text for the "next" directionNav item
1300
1301    // Secondary Navigation
1302    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
1303    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
1304    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
1305    pausePlay: false,               //Boolean: Create pause/play dynamic element
1306    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
1307    playText: "Play",               //String: Set the text for the "play" pausePlay item
1308
1309    // Special properties
1310    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
1311    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
1312    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
1313    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
1314
1315    // Carousel Options
1316    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
1317    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
1318    minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
1319    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
1320    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
1321    allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide
1322
1323    // Callback API
1324    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
1325    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
1326    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
1327    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
1328    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
1329    removed: function(){},           //{NEW} Callback: function(slider) - Fires after a slide is removed
1330    init: function() {}             //{NEW}
1330 Callback: function(slider) - Fires after the slider is initially setup
1331  };
1332
1333  //FlexSlider: Plugin Function
1334  $.fn.flexslider = function(options) {
1335    if (options === undefined) { options = {}; }
1336
1337    if (typeof options === "object") {
1338      return this.each(function() {
1339        var $this = $(this),
1340            selector = (options.selector) ? options.selector : ".slides > li",
1341            $slides = $this.find(selector);
1342
1343      if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
1344          $slides.fadeIn(400);
1345          if (options.start) { options.start($this); }
1346        } else if ($this.data('flexslider') === undefined) {
1347          new $.flexslider(this, options);
1348        }
1349      });
1350    } else {
1351      // Helper strings to quickly perform functions on the slider
1352      var $slider = $(this).data('flexslider');
1353      switch (options) {
1354        case "play": $slider.play(); break;
1355        case "pause": $slider.pause(); break;
1356        case "stop": $slider.stop(); break;
1357        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
1358        case "prev":
1359        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
1360        default: if (typeof options === "number") { $slider.flexAnimate(options, true); }
1361      }
1362    }
1363  };
1364})(jQuery);
1365;
1366/*
1367	By Osvaldas Valutis, www.osvaldas.info
1368	Available for use under the MIT License
1369*/
1370
1371
1372
1373;(function( $, window, document, undefined )
1374{
1375	$.fn.doubleTapToGo = function( params )
1376	{
1377		if( !( 'ontouchstart' in window ) &&
1378			!navigator.msMaxTouchPoints &&
1379			!navigator.userAgent.toLowerCase().match( /windows phone os 7/i ) ) return false;
1380
1381		this.each( function()
1382		{
1383			var curItem = false;
1384
1385			$( this ).on( 'click', function( e )
1386			{
1387				var item = $( this );
1388				if( item[ 0 ] != curItem[ 0 ] )
1389				{
1390					e.preventDefault();
1391					curItem = item;
1392				}
1393			});
1394
1395			$( document ).on( 'click touchstart MSPointerDown', function( e )
1396			{
1397				var resetItem = true,
1398					parents	= $( e.target ).parents();
1399
1400				for( var i = 0; i < parents.length; i++ )
1401					if( parents[ i ] == curItem[ 0 ] )
1402						resetItem = false;
1403
1404				if( resetItem )
1405					curItem = false;
1406			});
1407		});
1408		return this;
1409	};
1410})( jQuery, window, document );;
1411/**
1412 * global.js
1413 *
1414 * Handles various UI actions
1415 * - Mobile menu
1416 * - Search form show/hide
1417 * - Touch device dropdowns (requires: doubletaptogo.js)
1418 * - Flexslider (requires: flexslider.js)
1419 * - Scroll to top
1420 * - Smooth page load
1421 *
1422 * @package Rowling
1423 */
1424( function( $ ) {
1425
1426/**
1427 * On ready
1428 */
1429	$( document ).ready( function() {
1430		var windowWidth = $( window ).width();
1431
1432
1433		// Toggle mobile menu
1434		$( ".nav-toggle" ).on( "click", function() {
1435			$( this ).toggleClass( "active" );
1436			$( ".header-bottom-menu" ).slideToggle();
1437			if ( $( ".search-toggle" ).hasClass( "active" ) ) {
1438				$( ".search-toggle" ).removeClass( "active" );
1439				$( ".search-container" ).slideToggle();
1440			}
1441			return false;
1442		});
1443
1444
1445		// Toggle search container
1446		$( ".search-toggle" ).on( "click", function() {
1447			$( this ).toggleClass( "active" );
1448			$( ".search-container" ).slideToggle();
1449			if ( $( ".nav-toggle" ).hasClass( "active" ) ) {
1450				$( ".nav-toggle" ).removeClass( "active" );
1451				$( ".header-bottom-menu" ).slideToggle();
1452			}
1453			return false;
1454		});
1455
1456		$( window ).resize( function() {
1457
1458			// Prevent the Android keyboard from triggering the following code
1459			if ( windowWidth !== $( window ).width() ) {
1460
1461				// Hide mobile menu/search container at resize
1462				if ( $(window).width() >= 851 ) {
1463					$( ".nav-toggle" ).removeClass( "active" );
1464					$( ".header-bottom-menu" ).show();
1465				}
1466
1467				if ( $(window).width() <= 850 ) {
1468					$( ".search-toggle" ).removeClass( "active" );
1469					$( ".search-container" ).hide();
1470				}
1471
1472				// Dropdown menus on touch devices, excluding mobile menu
1473				if ( $(window).width() <= 851 ) {
1474					$( ".header-bottom-menu li:has(ul)" ).doubleTapToGo();
1475					$( ".header-top-menu li:has(ul)" ).doubleTapToGo();
1476				}
1477
1478				if ( $(window).width() >= 850 ) {
1479					$( ".header-bottom-menu li:has(ul)" ).unbind();
1480					$( ".header-top-menu li:has(ul)" ).unbind();
1481				}
1482			}
1483
1484			windowWidth = $( window ).width();
1485
1486		}).resize();
1487
1488		// Load Flexslider
1489		$( ".flexslider" ).flexslider( {
1490			animation: "slide",
1491			controlNav: false,
1492			prevText: "",
1493			nextText: "",
1494			smoothHeight: true
1495		});
1496
1497		// smooth scroll to the top
1498		$( ".to-the-top" ).click( function() {
1499			$( "html, body" ).animate( { scrollTop: 0 }, 500 );
1500				return false;
1501		});
1502
1503	});
1504
1505
1506	/**
1507	 * On load
1508	 */
1509	$( document.body ).on( 'post-load', function () {
1510
1511		// Load Flexslider after new posts have been added to the page.
1512		$( ".flexslider" ).flexslider( {
1513			animation: "slide",
1514			controlNav: false,
1515			prevText: "",
1516			nextText: "",
1517			smoothHeight: true
1518		});
1519
1520	});
1521
1522} ) ( jQuery );
1523;
1524!function(){"use strict";var e,t={noop:function(){},texturize:function(e){return(e=(e=(e=(e+="").replace(/'/g,"&#8217;").replace(/&#039;/g,"&#8217;")).replace(/"/g,"&#8221;").replace(/&#034;/g,"&#8221;").replace(/&quot;/g,"&#8221;").replace(/[\u201D]/g,"&#8221;")).replace(/([\w]+)=&#[\d]+;(.+?)&#[\d]+;/g,'$1="$2"')).trim()},applyReplacements:function(e,t){if(e)return t?e.replace(/{(\d+)}/g,function(e,r){return void 0!==t[r]?t[r]:e}):e},getBackgroundImage:function(e){var t=document.createElement("canvas"),r=t.getContext&&t.getContext("2d");if(e){r.filter="blur(20px) ",r.drawImage(e,0,0);var o=t.toDataURL("image/png");return t=null,o}}},r=function(){function e(e,t){return Element.prototype.matches?e.matches(t):Element.prototype.msMatchesSelector?e.msMatchesSelector(t):void 0}function r(e,t,r,o){if(!e)return o();e.jpCarouselCancelFade&&e.jpCarouselCancelFade(),e.classList.remove("jp-carousel-fade"),e.style.removeProperty("display"),e.style.opacity=t,e.style.pointerEvents="none",e.offsetWidth,e.classList.add("jp-carousel-fade"),e.style.opacity=r;var a=1e3*parseFloat(getComputedStyle(e).transitionDuration)||0,i=setTimeout(function(){e.jpCarouselCancelFade=null,e.style.removeProperty("pointer-events"),o()},a+50);e.jpCarouselCancelFade=function(){clearTimeout(i),e.jpCarouselCancelFade=null}}return{closest:function(t,r){if(t.closest)return t.closest(r);var o=t;do{if(e(o,r))return o;o=o.parentElement||o.parentNode}while(null!==o&&1===o.nodeType);return null},matches:e,hide:function(e){e&&(e.style.display="none")},show:function(e){e&&(e.style.display="block")},fadeIn:function(e,o){r(e,0,1,o=o||t.noop)},fadeOut:function(e,o){o=o||t.noop,r(e,1,0,function(){e&&(e.style.display="none"),o()})},scrollToElement:function(e,t,r){if(!e||!t)return r?r():void 0;var o=t.querySelector(".jp-carousel-info-extra");o&&(o.style.minHeight=window.innerHeight-64+"px");var a=!0,i=Date.now(),n=t.scrollTop,l=Math.max(0,e.offsetTop-Math.max(0,window.innerHeight-function(e){var t=e.querySelector(".jp-carousel-info-footer"),r=e.querySelector(".jp-carousel-info-extra"),o=e.querySelector(".jp-carousel-info-content-wrapper");if(t&&r&&o){var a=window.getComputedStyle(r),i=parseInt(a.paddingTop,10)+parseInt(a.paddingBottom,10);return i=isNaN(i)?0:i,o.offsetHeight+t.offsetHeight+i}return 0}(t)))-t.scrollTop;function s(){a=!1}l=Math.min(l,t.scrollHeight-window.innerHeight),t.addEventListener("wheel",s),function e(){var c,u=Date.now(),d=(c=(u-i)/300)<.5?2*c*c:1-Math.pow(-2*c+2,2)/2,p=(d=d>1?1:d)*l;if(t.scrollTop=n+p,u<=i+300&&a)return requestAnimationFrame(e);r&&r(),o&&(o.style.minHeight=""),a=!1,t.removeEventListener("wheel",s)}()},getJSONAttribute:function(e,t){if(e&&e.hasAttribute(t))try{return JSON.parse(e.getAttribute(t))}catch{return}},convertToPlainText:function(e){var t=document.createElement("div");return t.textContent=e,t.innerHTML},stripHTML:function(e){var t=document.createElement("div");return t.innerHTML=e.replace(/<[^>]*>?/gm,""),t.textContent},emitEvent:function(e,t,r){var o;try{o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:r||null})}catch{(o=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,r||null)}e.dispatchEvent(o)},isTouch:function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch}}}();function o(){var o,a,i,n,l="",s=!1,c="div.gallery, div.tiled-gallery, ul.wp-block-gallery, ul.blocks-gallery-grid, figure.wp-block-gallery.has-nested-images, div.wp-block-jetpack-tiled-gallery, a.single-image-gallery",u=".gallery-item, .tiled-gallery-item, .blocks-gallery-item,  .tiled-gallery__item",d=u+", .wp-block-image",p={},m="undefined"!=typeof wpcom&&wpcom.carousel&&wpcom.carousel.stat?wpcom.carousel.stat:t.noop,g="undefined"!=typeof wpcom&&wpcom.carousel&&wpcom.carousel.pageview?wpcom.carousel.pageview:t.noop;function h(t){if(!s)switch(t.which){case 38:t.preventDefault(),p.overlay.scrollTop-=100;break;case 40:t.preventDefault(),p.overlay.scrollTop+=100;break;case 39:t.preventDefault(),e.slideNext();break;case 37:case 8:t.preventDefault(),e.slidePrev();break;case 27:t.preventDefault(),x()}}function f(){s=!0}function v(){s=!1}function y(e){e.role="button",e.tabIndex=0,e.ariaLabel=jetpackCarouselStrings.image_label}function w(){p.overlay||(p.overlay=document.querySelector(".jp-carousel-overlay"),p.container=p.overlay.querySelector(".jp-carousel-wrap"),p.gallery=p.container.querySelector(".jp-carousel"),p.info=p.overlay.querySelector(".jp-carousel-info"),p.caption=p.info.querySelector(".jp-carousel-caption"),p.commentField=p.overlay.querySelector("#jp-carousel-comment-form-comment-field"),p.emailField=p.overlay.querySelector("#jp-carousel-comment-form-email-field"),p.authorField=p.overlay.querySelector("#jp-carousel-comment-form-author-field"),p.urlField=p.overlay.querySelector("#jp-carousel-comment-form-url-field"),window.innerWidth<=760&&Math.round(window.innerWidth/760*110)<40&&r.isTouch(),[p.commentField,p.emailField,p.authorField,p.urlField].forEac
1524h(function(e){e&&(e.addEventListener("focus",f),e.addEventListener("blur",v))}),p.overlay.addEventListener("click",function(e){var t,o,a=e.target,i=!!r.closest(a,".jp-carousel-close-hint"),n=!!window.matchMedia("(max-device-width: 760px)").matches;a===p.overlay?n||x():i?x():a.classList.contains("jp-carousel-image-download")?m("download_original_click"):a.classList.contains("jp-carousel-comment-login")?(t=p.currentSlide,o=t?t.attrs.attachmentId:"0",window.location.href=jetpackCarouselStrings.login_url+"%23jp-carousel-"+o):r.closest(a,"#jp-carousel-comment-form-container")?function(e){var t=e.target,o=r.getJSONAttribute(p.container,"data-carousel-extra")||{},a=p.currentSlide.attrs.attachmentId,i=document.querySelector("#jp-carousel-comment-form-submit-and-info-wrapper"),n=document.querySelector("#jp-carousel-comment-form-spinner"),l=document.querySelector("#jp-carousel-comment-form-button-submit"),s=document.querySelector("#jp-carousel-comment-form");if(p.commentField&&p.commentField.getAttribute("id")===t.getAttribute("id"))f(),r.show(i);else if(r.matches(t,'input[type="submit"]')){e.preventDefault(),e.stopPropagation(),r.show(n),s.classList.add("jp-carousel-is-disabled");var c={action:"post_attachment_comment",nonce:jetpackCarouselStrings.nonce,blog_id:o.blog_id,id:a,comment:p.commentField.value};if(!c.comment.length)return void j(jetpackCarouselStrings.no_comment_text,!1);if(1!==Number(jetpackCarouselStrings.is_logged_in)&&(c.email=p.emailField.value,c.author=p.authorField.value,c.url=p.urlField.value,1===Number(jetpackCarouselStrings.require_name_email))){if(!c.email.length||!c.email.match("@"))return void j(jetpackCarouselStrings.no_comment_email,!1);if(!c.author.length)return void j(jetpackCarouselStrings.no_comment_author,!1)}var u=new XMLHttpRequest;u.open("POST",jetpackCarouselStrings.ajaxurl,!0),u.setRequestHeader("X-Requested-With","XMLHttpRequest"),u.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),u.onreadystatechange=function(){if(this.readyState===XMLHttpRequest.DONE&&this.status>=200&&this.status<300){var e;try{e=JSON.parse(this.response)}catch{return void j(jetpackCarouselStrings.comment_post_error,!1)}"approved"===e.comment_status?j(jetpackCarouselStrings.comment_approved,!0):"unapproved"===e.comment_status?j(jetpackCarouselStrings.comment_unapproved,!0):j(jetpackCarouselStrings.comment_post_error,!1),H(),q(a),l.value=jetpackCarouselStrings.post_comment,r.hide(n),s.classList.remove("jp-carousel-is-disabled")}else j(jetpackCarouselStrings.comment_post_error,!1)};var d=[];for(var m in c)if(m){var g=encodeURIComponent(m)+"="+encodeURIComponent(c[m]);d.push(g.replace(/%20/g,"+"))}var h=d.join("&");u.send(h)}}(e):(r.closest(a,".jp-carousel-photo-icons-container")||a.classList.contains("jp-carousel-photo-title"))&&function(e){e.preventDefault();var t=e.target,o=p.info.querySelector(".jp-carousel-info-extra"),a=p.info.querySelector(".jp-carousel-image-meta"),i=p.info.querySelector(".jp-carousel-comments-wrapper"),n=p.info.querySelector(".jp-carousel-icon-info"),l=p.info.querySelector(".jp-carousel-icon-comments");function s(){l&&l.classList.remove("jp-carousel-selected"),n.classList.toggle("jp-carousel-selected"),i&&i.classList.remove("jp-carousel-show"),a&&(a.classList.toggle("jp-carousel-show"),a.classList.contains("jp-carousel-show")?o.classList.add("jp-carousel-show"):o.classList.remove("jp-carousel-show"))}function c(){n&&n.classList.remove("jp-carousel-selected"),l.classList.toggle("jp-carousel-selected"),a&&a.classList.remove("jp-carousel-show"),i&&(i.classList.toggle("jp-carousel-show"),i.classList.contains("jp-carousel-show")?o.classList.add("jp-carousel-show"):o.classList.remove("jp-carousel-show"))}(r.closest(t,".jp-carousel-icon-info")||t.classList.contains("jp-carousel-photo-title"))&&(a&&a.classList.contains("jp-carousel-show")?r.scrollToElement(p.overlay,p.overlay,s):(s(),r.scrollToElement(p.info,p.overlay))),r.closest(t,".jp-carousel-icon-comments")&&(i&&i.classList.contains("jp-carousel-show")?r.scrollToElement(p.overlay,p.overlay,c):(c(),r.scrollToElement(p.info,p.overlay)))}(e)}),window.addEventListener("keydown",h),p.overlay.addEventListener("jp_carousel.afterOpen",function(){v(),p.slides.length<=1||(p.slides.length<=5?r.show(p.info.querySelector(".jp-swiper-pagination")):r.show(p.info.querySelector(".jp-carousel-pagination")))}),p.overlay.addEventListener("jp_carousel.beforeClose",function(){f(),document.documentElement.style.removeProperty("height"),e&&e.enable(),r.hide(p.info.querySelector(".jp-swiper-pagination")),r.hide(p.info.querySelector(".jp-carousel-pagination"))}),p.overlay.addEventListener("jp_carousel.afterClose",function(){window.history.pushState?history.pushState("",document.title,window.location.pathname+window.location.search):window.location.href="",l="",p.isOpen=!1}),p.overlay.addEventListener("touchstart",function(e){e.touches.length>1&&e.preventDefault()}))}function j(e,t){var o=p.overlay.querySelector("#jp-carousel-comment-post-results"),a="jp-carousel-comment-post-"+(t?"success":"error");o.innerHTML='<span class="'+a+'">'+e+"</span>",r.hide(p.overlay.querySelector("#jp-carousel-comment-form-spinner")),p.overlay.querySelector("#jp-carousel-comment-form").classList.remove("jp-carousel-is-disabled"),r.show(o)}function b(){var e=document.querySelectorAll("a img[data-attachment-id]");Array.prototype.forEach.call(e,function(e){var t=e.parentElement,o=t.parentElement;if(!o.classList.contains("gallery-icon")&&!r.closest(o,u)&&t.hasAttribute("href")){var a=!1;t.getAttribute("href").split("?")[0]===e.getAttribute("data-orig-file").split("?")[0]&&1===Number(jetpackCarouselStrings.single_image_gallery_media_file)&&(a=!0),t.getAttribute("href")===e.getAttribute("data-permalink")&&(a=!0),a&&(y(e),t.classList.add("single-image-gallery"),t.setAttribute("data-carousel-extra",JSON.stringify({blog_id:Number(jetpackCarouselStrings.blog_id)})))}})}function S(t,r){p.isOpen?(L(r),e.slideTo(r+1)):M(t,{startIndex:r})}function L(e){(!e||e<0||e>p.slides.length)&&(e=0),p.currentSlide=p.slides[e];var o,a,i=p.currentSlide,n=i.attrs.attachmentId;A(p.slides[e]),function(e){var t=[],r=p.slides.length;if(r>1){var o=e>0?e-1:r-1;t.push(o);var a=e<r-1?e+1:0;t.push(a)}t.forEach(function(e){var t=p.slides[e];t&&(A(t),1!==Number(jetpackCarouselStrings.display_background_image)||t.backgroundImage||_(t))})}(e),1!==Number(jetpackCarouselStrings.display_background_image)||p.slides[e].backgroundImage||_(p.slides[e]),r.hide(p.caption),function(e){var t,o,a,i,n,l,s;if(i=p.overlay.querySelector(".jp-carousel-photo-caption"),n=p.overlay.querySelector(".jp-carousel-caption"),l=p.overlay.querySelector(".jp-carousel-photo-title"),s=p.overlay.querySelector(".jp-carousel-photo-description"),r.hide(i),r.hide(n),r.hide(l),r.hide(s),t=E(e.caption)||"",o=E(e.title)||"",a=E(e.desc)||"",(t||o||a)&&(t&&(i.innerHTML=t,n.innerHTML=t,r.show(i),r.show(n)),r.stripHTML(t)===r.stripHTML(o)&&(o=""),r.stripHTML(t)===r.stripHTML(a)&&(a=""),r.stripHTML(o)===r.stripHTML(a)&&(a=""),a&&(s.innerHTML=a,r.show(s),o||t||(i.textContent=r.stripHTML(a),r.show(i))),o)){var c=r.stripHTML(o);l.textContent=c,t||(i.textContent=c,n.textContent=c,r.show(i)),r.show(l)}}
1524({caption:i.attrs.caption,title:i.attrs.title,desc:i.attrs.desc}),function(e){if(!e||1!==Number(jetpackCarouselStrings.display_exif))return!1;var t=p.info.querySelector(".jp-carousel-image-meta");if(!t)return!1;var r="";for(var o in e){var a=e[o],i=jetpackCarouselStrings.meta_data||[];if(0!==parseFloat(a)&&a.length&&-1!==i.indexOf(o)){switch(o){case"focal_length":a+="mm";break;case"shutter_speed":a=C(a);break;case"aperture":a="f/"+a}r+="<li><h5>"+jetpackCarouselStrings[o]+"</h5>"+a+"</li>"}}var n=t.querySelector("ul.jp-carousel-image-exif");if(""!==r){if(!n){(n=document.createElement("ul")).className="jp-carousel-image-exif";var l=t.querySelector(".jp-carousel-title-and-caption");l&&l.nextSibling?t.insertBefore(n,l.nextSibling):t.insertBefore(n,t.firstChild)}n.innerHTML=r,n.style.removeProperty("display")}else n&&n.parentNode.removeChild(n)}(p.slides[e].attrs.imageMeta),function(e){if(!e)return!1;var r,o=[e.attrs.origWidth,e.attrs.origHeight],a=document.createElement("a");a.href=e.attrs.src.replace(/\?.+$/,""),r=null!==a.hostname.match(/^i[\d]{1}\.wp\.com$/i)?a.href:e.attrs.origFile.replace(/\?.+$/,"");var i=p.info.querySelector(".jp-carousel-download-text"),n=p.info.querySelector(".jp-carousel-image-download");i.innerHTML=t.applyReplacements(jetpackCarouselStrings.download_original,o),n.setAttribute("href",r),n.style.removeProperty("display")}(i),1===Number(jetpackCarouselStrings.display_comments)&&(o=p.slides[e].attrs.commentsOpened,a=p.info.querySelector("#jp-carousel-comment-form-container"),1===parseInt(o,10)?r.fadeIn(a):r.fadeOut(a),q(n),r.hide(p.info.querySelector("#jp-carousel-comment-post-results")));var s=p.info.querySelector(".jp-carousel-pagination");if(s&&p.slides.length>5){var c=e+1;s.innerHTML="<span>"+c+" / "+p.slides.length+"</span>"}jetpackCarouselStrings.stats&&p.isOpen&&((new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?"+jetpackCarouselStrings.stats+"&post="+encodeURIComponent(n)+"&rand="+Math.random()),p.isOpen&&g(n),l="#jp-carousel-"+n,window.location.hash=l}function x(){document.body.style.overflow=a,document.documentElement.style.overflow=i,H(),f(),r.emitEvent(p.overlay,"jp_carousel.beforeClose"),window.scrollTo(window.scrollX||window.pageXOffset||0,n||0),p.isOpen=!1,e.destroy(),p.slides=[],p.currentSlide=void 0,p.gallery.innerHTML="",r.fadeOut(p.overlay,function(){r.emitEvent(p.overlay,"jp_carousel.afterClose")})}function k(e){if("object"!=typeof e&&(e={}),void 0===e.origFile)return"";if(void 0===e.origWidth||void 0===e.maxWidth)return e.origFile;if(!e.largeFile)return e.origFile;var t=document.createElement("a");t.href=e.largeFile;var r=/^i[0-2]\.wp\.com$/i.test(t.hostname),o=function(e,t,r){var o,a=r?e.replace(/.*=([\d]+%2C[\d]+).*$/,"$1"):e.replace(/.*-([\d]+x[\d]+)\..+$/,"$1");return"9999"===(o=a!==e?r?a.split("%2C"):a.split("x"):[t,0])[0]&&(o[0]="0"),"9999"===o[1]&&(o[1]="0"),o}(e.largeFile,e.origWidth,r),a=parseInt(o[0],10),i=parseInt(o[1],10);if(e.origMaxWidth=e.maxWidth,e.origMaxHeight=e.maxHeight,void 0!==window.devicePixelRatio&&window.devicePixelRatio>1&&(e.maxWidth=e.maxWidth*window.devicePixelRatio,e.maxHeight=e.maxHeight*window.devicePixelRatio),a>=e.maxWidth||i>=e.maxHeight)return e.largeFile;if(r){if(-1===e.largeFile.lastIndexOf("?"))return e.largeFile;var n=function(e){var t;try{t=new URL(e)}catch(t){return e}var r=["quality","ssl","filter","brightness","contrast","colorize","smooth"],o=Array.from(t.searchParams.entries());return t.search="",o.forEach(([e,o])=>{r.includes(e)&&t.searchParams.append(e,o)}),t}(e.largeFile);return(e.origWidth>e.maxWidth||e.origHeight>e.maxHeight)&&(e.origMaxWidth=2*e.maxWidth,e.origMaxHeight=2*e.maxHeight,n.searchParams.set("fit",e.origMaxWidth+","+e.origMaxHeight)),n.toString()}return e.origFile}function C(e){return e>=1?Math.round(10*e)/10+"s":"1/"+Math.round(1/e)+"s"}function E(e){return!e.match(" ")&&e.match("_")?"":e}function q(e,t){var a=void 0===t,i=p.info.querySelector(".jp-carousel-icon-comments .jp-carousel-has-comments-indicator");if(i.classList.remove("jp-carousel-show"),clearInterval(o),e){(!t||t<1)&&(t=0);var n=p.info.querySelector(".jp-carousel-comments"),l=p.info.querySelector("#jp-carousel-comments-loading");r.show(l),a&&(r.hide(n),n.innerHTML="");var s=new XMLHttpRequest,c=jetpackCarouselStrings.ajaxurl+"?action=get_attachment_comments&nonce="+jetpackCarouselStrings.nonce+"&id="+e+"&offset="+t;s.open("GET",c),s.setRequestHeader("X-Requested-With","XMLHttpRequest");var u=function(){r.fadeIn(n),r.fadeOut(l)};s.onload=function(){if(p.currentSlide&&p.currentSlide.attrs.attachmentId===e){var c,d=s.status>=200&&s.status<300;try{c=JSON.parse(s.responseText)}catch{}if(!d||!c||!Array.isArray(c))return u();a&&(n.innerHTML="");for(var m=0;m<c.length;m++){var g=c[m],h=document.createElement("div");h.classList.add("jp-carousel-comment"),h.setAttribute("id","jp-carousel-comment-"+g.id),h.innerHTML='<div class="comment-gravatar">'+g.gravatar_markup+'</div><div class="comment-content"><div class="comment-author">'+g.author_markup+'</div><div class="comment-date">'+g.date_gmt+"</div>"+g.content+"</div>",n.appendChild(h),clearInterval(o),o=setInterval(function(){p.container.scrollTop+150>window.innerHeight&&(q(e,t+10),clearInterval(o))},300)}c.length>0&&(r.show(n),i.innerText=c.length,i.classList.add("jp-carousel-show")),r.hide(l)}},s.onerror=u,s.send()}}function A(e){var t=e.attrs,r=e.el.querySelector("img");if(!r.hasAttribute("data-loaded"))if(r.setAttribute("itemprop","image"),r.setAttribute("data-loaded",1),t.previewImage&&t.previewImage!==t.src){r.src=t.previewImage,r.style.filter="blur(8px)";var o=new window.Image;o.addEventListener("load",function(){r.src=t.src,r.style.filter=""},{once:!0}),o.addEventListener("error",function(){r.style.filter=""},{once:!0}),o.src=t.src}else r.src=t.src}function _(e){var t=e.attrs.originalElement;if(t)if(t.complete&&0!==t.naturalHeight)T(e,t);else{var r=function(){t.removeEventListener("error",o),T(e,t)},o=function(){t.removeEventListener("load",r)};t.addEventListener("load",r,{once:!0}),t.addEventListener("error",o,{once:!0})}}
1524function T(e,r){var o=t.getBackgroundImage(r);o&&(e.backgroundImage=o,e.el.style.backgroundImage="url("+o+")",e.el.style.backgroundSize="cover",e.el.style.backgroundPosition="center")}function H(){p.commentField&&(p.commentField.value="")}function I(e,o){p.slides=[];var a={width:window.innerWidth,height:window.innerHeight-64};0!==o&&null!==e[o].getAttribute("data-gallery-src")&&((new Image).src=e[o].getAttribute("data-gallery-src")),Array.prototype.forEach.call(e,function(e,o){var i=r.closest(e,"a"),n=e.getAttribute("data-orig-file")||e.getAttribute("src-orig"),l=e.getAttribute("data-attachment-id")||e.getAttribute("data-id")||"0",s=document.querySelector('img[data-attachment-id="'+l+'"] + figcaption');s=s?s.innerHTML:e.getAttribute("data-image-caption");var c={originalElement:e,attachmentId:l,commentsOpened:e.getAttribute("data-comments-opened")||"0",imageMeta:r.getJSONAttribute(e,"data-image-meta")||{},title:e.getAttribute("data-image-title")||"",desc:e.getAttribute("data-image-description")||"",largeFile:e.getAttribute("data-large-file")||"",origFile:n||"",thumbSize:{width:e.naturalWidth,height:e.naturalHeight},caption:s||"",permalink:i&&i.getAttribute("href"),src:n||e.getAttribute("src")||""},u=r.closest(e,".tiled-gallery-item"),d=u&&u.querySelector(".tiled-gallery-caption"),m=d&&d.innerHTML;m&&(c.caption=m);var g=function(e){var t=e.getAttribute("data-orig-size")||"";if(t){var r=t.split(",");return{width:parseInt(r[0],10),height:parseInt(r[1],10)}}return{width:e.getAttribute("data-original-width")||e.getAttribute("width")||void 0,height:e.getAttribute("data-original-height")||e.getAttribute("height")||void 0}}(e);if(c.origWidth=g.width||c.thumbSize.width,c.origHeight=g.height||c.thumbSize.height,"undefined"!=typeof wpcom&&wpcom.carousel&&wpcom.carousel.generateImgSrc?c.src=wpcom.carousel.generateImgSrc(e,a):c.src=k({origFile:c.src,origWidth:c.origWidth,origHeight:c.origHeight,maxWidth:a.width,maxHeight:a.height,largeFile:c.largeFile}),e.setAttribute("data-gallery-src",c.src),"0"!==c.attachmentId){c.title=t.texturize(c.title),c.desc=t.texturize(c.desc),c.caption=t.texturize(c.caption);var h=new Image,f=document.createElement("div");f.classList.add("swiper-slide"),f.setAttribute("itemprop","associatedMedia"),f.setAttribute("itemscope",""),f.setAttribute("itemtype","https://schema.org/ImageObject");var v=document.createElement("div");v.classList.add("swiper-zoom-container"),p.gallery.appendChild(f),f.appendChild(v),v.appendChild(h),f.setAttribute("data-attachment-id",c.attachmentId),f.setAttribute("data-permalink",c.permalink),f.setAttribute("data-orig-file",c.origFile),c.previewImage=e.currentSrc||e.getAttribute("src")||"";var y={el:f,attrs:c,index:o};p.slides.push(y)}})}function M(e,t){if(!window.JetpackSwiper){var o=document.querySelector("#jp-carousel-loading-overlay");r.show(o);var a=document.createElement("script");return a.id="jetpack-carousel-swiper-js",a.src=window.jetpackSwiperLibraryPath.url,a.async=!0,a.onload=function(){r.hide(o),F(e,t)},a.onerror=function(){r.hide(o)},void document.head.appendChild(a)}F(e,t)}function F(t,o){var l,s={imgSelector:".gallery-item [data-attachment-id], .tiled-gallery-item [data-attachment-id], img[data-attachment-id], img[data-id]",startIndex:0},c=r.getJSONAttribute(t,"data-carousel-extra");if(!c)return;const u=t.querySelectorAll(s.imgSelector);if(u.length&&(w(),!p.isOpen)){for(var d in p.isOpen=!0,a=getComputedStyle(document.body).overflow,document.body.style.overflow="hidden",i=getComputedStyle(document.documentElement).overflow,document.documentElement.style.overflow="hidden",n=window.scrollY||window.pageYOffset||0,p.container.setAttribute("data-carousel-extra",JSON.stringify(c)),m(["open","view_image"]),o||{})s[d]=o[d];-1===s.startIndex&&(s.startIndex=0),r.emitEvent(p.overlay,"jp_carousel.beforeOpen"),p.gallery.innerHTML="",p.overlay.style.opacity=1,p.overlay.style.display="block",I(u,s.startIndex),(e=new window.JetpackSwiper(".jp-carousel-swiper-container",{centeredSlides:!0,zoom:!0,loop:p.slides.length>1,enabled:p.slides.length>1,pagination:{el:".jp-swiper-pagination",clickable:!0},navigation:{nextEl:".jp-swiper-button-next",prevEl:".jp-swiper-button-prev"},initialSlide:s.startIndex,on:{init:function(){L(s.startIndex)}},preventClicks:!1,preventClicksPropagation:!1,preventInteractionOnTransition:!r.isTouch(),threshold:5})).on("slideChange",function(e){p.isOpen&&(L(e.realIndex),p.overlay.classList.remove("jp-carousel-hide-control
1524s"))}),e.on("zoomChange",function(e,t){t>1&&p.overlay.classList.add("jp-carousel-hide-controls"),1===t&&p.overlay.classList.remove("jp-carousel-hide-controls")}),e.on("doubleTap",function(e){if(clearTimeout(l),1===e.zoom.scale)var t=setTimeout(function(){p.overlay.classList.remove("jp-carousel-hide-controls"),clearTimeout(t)},150)}),e.on("tap",function(){e.zoom.scale>1&&(l=setTimeout(function(){p.overlay.classList.toggle("jp-carousel-hide-controls")},150))}),r.fadeIn(p.overlay,function(){r.emitEvent(p.overlay,"jp_carousel.afterOpen")})}}function O(e){if("click"!==e.type){if("keydown"===e.type){const t=document.activeElement.parentElement,r=t&&t.classList.contains("tiled-gallery__item");" "!==e.key&&"Enter"!==e.key||!r||R(e)}}else R(e)}function N(e){return(e||"").split("?")[0].replace(/\/$/,"")}function W(e){"A"===e.tagName&&(e=e.querySelector("img")||e);var t=e.parentElement,o=t?t.parentElement:null,a=null;if(o&&o.classList.contains("wp-block-image")?a=t.getAttribute("href"):t&&t.classList.contains("wp-block-image")&&t.querySelector(":scope > a")&&(a=t.querySelector(":scope > a").getAttribute("href")),a){var i=N(a),n=N(e.getAttribute("data-orig-file")),l=N(e.getAttribute("data-permalink"));if(i!==n&&i!==l)return!1}return!(t&&t.classList.contains("gallery-caption")||r.matches(t,"figcaption"))}function R(e){if(window.CSS&&window.CSS.supports&&window.CSS.supports("display","grid")){var t,o=e.target,a=r.closest(o,c);if(a){if(!(t=a)||!t.getAttribute("data-carousel-extra"))return;if(!W(o))return;document.documentElement.style.height="auto",e.preventDefault(),e.stopPropagation();var i=r.closest(o,d),n=Array.prototype.indexOf.call(a.querySelectorAll(d),i);M(a,{startIndex:n})}}}document.body.addEventListener("click",O),document.body.addEventListener("keydown",O),document.querySelectorAll(u+"img").forEach(function(e){W(e)&&y(e)}),1===Number(jetpackCarouselStrings.single_image_gallery)&&(b(),document.body.addEventListener("is.post-load",function(){b()})),window.addEventListener("hashchange",function(){var e=/jp-carousel-(\d+)/;if(window.location.hash&&e.test(window.location.hash)){if(window.location.hash!==l||!p.isOpen)if(window.location.hash&&p.gallery&&!p.isOpen&&history.back)history.back();else{l=window.location.hash;for(var t=window.location.hash.match(e),r=parseInt(t[1],10),o=document.querySelectorAll(c),a=0;a<o.length;a++){for(var i,n=o[a],s=n.querySelectorAll("img"),u=0;u<s.length;u++)if(parseInt(s[u].getAttribute("data-attachment-id"),10)===r||parseInt(s[u].getAttribute("data-id"),10)===r){i=u;break}if(void 0!==i){S(n,i);break}}}}else p.isOpen&&x()}),window.location.hash&&r.emitEvent(window,"hashchange")}"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}();;

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.