UFC 293: Adesanya vs. Strickland Live Streams (2024)

`),this.#O()})).catch((e=>{if(e&&this.#i.error(e),e&&this.#o&&!this.#A)return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#A=!0,this.#s.enableAdbMode(),void this.show();this.#r(xe)}))}#O(){this.#i.debug("render"),this.#k.render(this.#y)}#C(e){let t=`${window.location.protocol}//${this.#v}/script/interstitial.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#o,i=`/${ne("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}return t+=`?r=${this.#l}`,this.#m&&(t+="&rbd=1"),this.#b&&(t+=this.#b),t=t+"&atag=1"+`&czid=${this.#u}`+`&aggr=${this.#h}`+`&seqid=${e}`+`&ufp=${encodeURIComponent(this.#T)}`+`&srs=${this.#s.getSesionRandomString()}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(B())}`,this.#o&&(t+="&abtg=1"),this.#g&&(t+="&ppv=1"),this.#p&&(t+=`&ab_test=${this.#p}`),!1===this.#f&&(t+="&cap=0"),this.#o&&this.#o.adbVersion&&(t+=`&adbv=${this.#o.adbVersion}`),this.#o&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=intrn",this.#i.debug(`bid url: ${t}`),re(t)):(this.#i.debug(`bid url: ${t}`),t)}};const Me=2147483647,De="znid";var _e=class{targetElementsCssSelector=null;shouldTriggerPopOnTargetClick=!1;constructor(e,t,i){this.targetElementsCssSelector=e,this.shouldTriggerPopOnTargetClick=t,this.zoneId=i}isPresent(){return!!this.targetElementsCssSelector}isActionAllowedOnElement(e){if(!this.isPresent())return!0;if(e.hasAttribute(De))return e.getAttribute(De)===this.zoneId;if(e.hasAttribute("doskip"))return!1;const t=m()(document.querySelectorAll('[doskip*="1"]'));for(const i of t)if(i.contains(e))return!1;return this.#I(e)?this.shouldTriggerPopOnTargetClick:!this.shouldTriggerPopOnTargetClick}#I(e){const t=document.querySelectorAll(this.targetElementsCssSelector);do{for(let i=0;i{var e,t,i;const n=(e,t)=>{try{e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${t.offsetWidth}px`,e.style.height=`${t.offsetHeight}px`,e.style.zIndex=Me}catch(e){}};r()(e=this.iframesToOverlays).call(e,(e=>{let{overlay:t,iframe:i}=e;return n(t,i)})),r()(t=this.videosToOverlays).call(t,(e=>{let{overlay:t,video:i}=e;return n(t,i)})),r()(i=this.anchorsToOverlays).call(i,(e=>{let{overlay:t,anchor:i}=e;return n(t,i)}))}),500)}clearOverlaysResizeIntervalChecker(){try{clearInterval(this.overlaysResizeIntervalChecker)}catch(e){}}#R(e){const t=document.createElement("div");return t.addEventListener("mousedown",(e=>{this.#i.debug("mousedown on overlay"),e.stopPropagation(),e.preventDefault(),this.desktopClickListener(e)}),this.#E),e===document.body?(t.id="dontfoid",t.style.top="0px",t.style.left="0px",t.style.width=`${window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}px`,t.style.height=`${window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}px`,t.style.position="fixed"):(t.style.top=`${e.offsetTop}px`,t.style.left=`${e.offsetLeft}px`,t.style.width=`${e.offsetWidth}px`,t.style.height=`${e.offsetHeight}px`,t.setAttribute("donto",""),t.style.position="absolute"),t.setAttribute(De,this.#l),t.style.zIndex=Me,t.style.backgroundColor="transparent",e===document.body?document.body.appendChild(t):e.parentNode.appendChild(t),t}attachVideoOverlays(){const e=document.querySelectorAll("video");for(let t=0;t false"),this.#E=!1),this.overlays=new Ve(this.elementTargeting,v()(t=this.#z).call(t,this),this.#i,this.#t.zoneId,this.#E),e.tagVersionSuffix&&(this.#x+=e.tagVersionSuffix),this.#i.debug("tag version:",this.#x)}show(){this.#y=null,this.#$=null,this.#P=!1,fetch(this.#C()).then((e=>200===e.status||202===e.status?e.json():(204===e.status&&(this.hasNoInventory=!0,this.#i.debug(`no inventory! reset after ${this.#w} sec`),f()((()=>{this.hasNoInventory=!1}),1e3*this.#w),this.#w<7200&&(this.#w*=5)),ye().reject()))).then((e=>{if(this.#i.debug("response:",e),e.capped_ttl)return this.isCapped=!0,this.#i.debug(`capped! reset after ${e.capped_ttl} sec`),f()((()=>{this.isCapped=!1}),1e3*e.capped_ttl),void this.#t.actionCallback(ke);if(this.#w>12&&(this.#w=12),!this.#m){this.#m=!0;const t=e.delay??0;return this.#i.debug("delay is",t),void f()((()=>{this.#F(e)}),1e3*t)}this.#F(e)})).catch((e=>{if(e&&this.#i.error(e),e&&this.#t.adblockSettings&&!this.#A)return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#s.enableAdbMode(),this.#A=!0,void this.show();this.#t.actionCallback(ke)}))}#C(){let e=`${window.location.protocol}//${this.#t.adserverDomain}/script/suurl5.php`;if(this.#t.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:t}=this.#t.adblockSettings,i=`/${ne("abcdefgh0123456789")}`;e=`${window.location.protocol}//${t}${i}`}if(e+=`?r=${this.#t.zoneId}`,this.#m&&(e+="&rbd=1"),this.#t.targetCountries){const t=this.#t.targetCountries.join(",");this.#t.triggerOnTargetCountries?e+="&allowed_countries="+encodeURIComponent(t):e+="&excluded_countries="+encodeURIComponent(t)}return e=e+this.#t.clientHintsQueryStr+"&atag=1&cbur="+Math.random()+"&cbiframe="+$()+"&cbWidth="+F()+"&cbHeight="+U()+"&cbtitle="+encodeURIComponent(N())+"&cbpage="+encodeURIComponent(P())+"&cbref="+encodeURIComponent(B())+"&cbdescription="+encodeURIComponent(j("description"))+"&cbkeywords="+encodeURIComponent(j("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ts="+be()()+"&atv="+this.#x+"&ufp="+encodeURIComponent(this.#t.uniqueFingerprint)+"&srs="+this.#s.getSesionRandomString(),this.#t.adblockSettings&&(e+="&abtg=1"),this.#t.aggressivity&&(e+=`&aggr=${this.#t.aggressivity}`),this.#t.collectiveZoneId&&(e+=`&czid=${this.#t.collectiveZoneId}`),this.#t.recordPageView&&(e+="&ppv=1"),this.#t.abTest&&(e+=`&ab_test=${this.#t.abTest}`),!1===this.#t.adsCapping&&(e+="&cap=0"),this.#t.adblockSettings&&this.#t.adblockSettings.adbVersion&&(e+=`&adbv=${this.#t.adblockSettings.adbVersion}`),this.#t.adblockSettings&&this.#s.isAdbMode()?(e+="&sadbl=2",e+="&fmt=suv5",this.#i.debug(`bid url: ${e}`),re(e)):(this.#i.debug(`bid url: ${e}`),e)}#U(e){try{let t=this.#L?this.#L(""):window.open("");return t.document.open(),t.document.writeln('

':G&&D&&!H&&W>63&&(e="googlechrome://"+e.replace(/(^\w+:|^)\/\//,"")),t}#j(){var e;const t={zoneId:this.#t.zoneId,callback:v()(e=this.#z).call(e,this)};te&&ie&&(this.#i.debug("subscribe to scroll"),this.#s.subscribe("scroll",t)),te||(this.#i.debug("subscribe to mousedown"),this.#s.subscribe("mousedown",t,this.#E)),this.#i.debug("subscribe to click"),this.#s.subscribe("click",t,this.#E)}#V(){te&&ie&&(this.#i.debug("unsubscribe from scroll"),this.#s.unsubscribe("scroll",this.#t.zoneId)),te||(this.#i.debug("unsubscribe from mousedown"),this.#s.unsubscribe("mousedown",this.#t.zoneId,this.#E)),this.#i.debug("unsubscribe from click"),this.#s.unsubscribe("click",this.#t.zoneId,this.#E)}},Ge=class{constructor(e){this.key=e}isStatePresent(){return null!==window.localStorage.getItem(this.key)}getState(){return JSON.parse(window.localStorage.getItem(this.key))}setState(e){window.localStorage.setItem(this.key,o()(e))}removeState(){window.localStorage.removeItem(this.key)}},Ze=class{#i;#s;#W=null;#q=null;#u;#G=[];#Z=0;#Q=null;#K=1;#J=0;#Y=!1;constructor(e){var t,i;const{adcashGlobalName:n,collectiveZoneConfig:r,adserverDomain:s,adblockSettings:o,clientHintsQueryStr:a,tagVersionSuffix:c,isLoadedAsPartOfLibrary:l,uniqueFingerprint:d}=e,{collectiveZoneId:u}=r;this.#i=new y(`atag_${u}`),this.#s=window[e.adcashGlobalName],this.#G=r.rotationList,this.#i.debug("init autotag with config:",e);const h=r.indexedFormats;let g=!0;for(const e in h){const f=h[e];switch(e){case"ippg":this.#s.runInPagePush({zoneId:f.zoneId.toString(),refreshRate:f.rr,delay:f.d,maxAds:f.mads,renderPosDesktop:f["render-pos-desktop"],renderPosMobile:f["render-pos-mobile"],offsetTop:f["offset-top"],isAutoTag:!0,collectiveZoneId:u,aggressivity:r.aggressivity,abTest:r.ab_test,recordPageView:g,tagVersionSuffix:c});break;case"suv4":case"pop":this.#q=new qe({zoneId:f.zoneId.toString(),targetElementsCssSelector:f["element-list"],triggerOnTargetElementsClick:"allow"===f["element-action"],targetCountries:f["country-list"],triggerOnTargetCountries:"allow"===f["country-action"],adblockSettings:o,adserverDomain:s,adcashGlobalName:n,clientHintsQueryStr:a,collectiveZoneId:u,aggressivity:r.aggressivity,adsCapping:r.adsCapping,abTest:r.ab_test,recordPageView:g,actionCallback:v()(t=this.actionCallback).call(t,this),tagVersionSuffix:c,isLoadedAsPartOfLibrary:l,uniqueFingerprint:d});break;case"interstitial":this.#W=new He({zoneId:f.zoneId,isFullscreen:0===f.overlay,adblockSettings:o,adserverDomain:s,adcashGlobalName:n,clientHintsQueryStr:a,collectiveZoneId:u,aggressivity:r.aggressivity,adsCapping:r.adsCapping,abTest:r.ab_test,recordPageView:g,actionCallback:v()(i=this.actionCallback).call(i,this),tagVersionSuffix:c,isLoadedAsPartOfLibrary:l,uniqueFingerprint:d});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${e}; czid: ${czid}`)}}this.localStorageService=new Ge(`atg_${u}`);const f=this.localStorageService.getState();f&&f.adbExpiresAt>be()()&&this.#s.enableAdbMode(),f&&f.expiresAt>be()()?(this.#i.debug("previous session present:",f),this.#K=f.shownAdsCounter,this.#J=f.iterationCounter,this.#Z=f.currentAdIndex,f.isInterstitialBeingShown?this.#X():(this.#Q=this.#G[this.#Z],this.#ee())):(this.#Q=this.#G[this.#Z],this.#ee())}actionCallback(e){this.#i.debug("ACTION CALLBACK type:",e),e===xe?this.#Y=!1:this.#K++;const t=this.#Q.rotationInterval;var i;this.#te(),this.#ie(),e===Ae?this.#i.debug("tabswap, move to next and store session"):(this.#i.debug(`show next ad after ${t} sec`),f()(v()(i=this.#ee).call(i,this),1e3*t))}#ie(){const e={shownAdsCounter:this.#K,iterationCounter:this.#J,currentAdIndex:this.#Z,isInterstitialBeingShown:this.#Y,expiresAt:be()()+6e5,adbExpiresAt:this.#s.isAdbMode()?be()()+We:0};this.#i.debug("store session state",e),this.localStorageService.setState(e)}#ne(){if(!this.#Q.apply)return!1;switch(this.#Q.apply){case"1st":return!(0===this.#J);case"odd":return!(this.#J%2==1);case"even":return!(this.#J%2==0);default:return!1}}#te(){this.#Z===this.#G.length-1?(this.#Z=0,this.#J++):this.#Z++,this.#Q=this.#G[this.#Z],this.#i.debug("set current ad to next on list. current ad is set to:",this.#Q)}#X(){this.#i.debug("show next ad"),this.#te(),this.#ie(),this.#ee()}#ee(){if(this.#ne())return this.#i.debug(`skipping ad at index: ${this.#Z} due to apply rule`),void this.#X();switch(this.#Q.type){case"interstitial":var e;if(this.#W.isCapped||this.#W.hasNoInventory)return void f()(v()(e=this.#X).call(e,this),1e3);this.#i.debug("showing interstitial"),this.#W.show(this.#K),this.#Y=!0,this.#K++,this.#ie();break;case"pop":var t;if(this.#q.isCapped||this.#q.hasNoInventory)return void f()(v()(t=this.#X).call(t,this),1e3);this.#i.debug("showing pop"),this.#q.show(this.#K);break;default:throw Error(`rotation list element type '${this.#Q.type}' not recognised`)}}},Qe=i(8333),Ke=i.n(Qe);const Je=function(){this.element===window?(this.divOverlay.style.width=`${window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}px`,this.divOverlay.style.height=`${window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}px`):(this.divOverlay.style.top=`${this.element.offsetTop}px`,this.divOverlay.style.left=`${this.element.offsetLeft}px`,this.divOverlay.style.width=`${this.element.offsetWidth}px`,this.divOverlay.style.height=`${this.element.offsetHeight}px`,this.divOverlay.style.zIndex=ze)};var Ye=class{observer=null;iframesToOverlays=[];videosToOverlays=[];anchorsToOverlays=[];fullOverlay=null;overlaysResizeIntervalChecker=null;adUrl="";isTabSwap=!1;modifyBodyObserver=!0;#i;#l;#E=!1;constructor(e,t,i,n,r,s){this.elementTargeting=e,this.desktopClickListener=t,this.mobileClickListener=i,this.#i=n,this.#l=r,this.#E=s}setOverlaysResizeIntervalChecker(){this.overlaysResizeIntervalChecker=d()((()=>{var e,t,i;const n=(e,t)=>{try{e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${t.offsetWidth}px`,e.style.height=`${t.offsetHeight}px`}catch(e){}};r()(e=this.anchorsToOverlays).call(e,(e=>{let{overlay:t,anchor:i}=e;return n(t,i)})),r()(t=this.iframesToOverlays).call(t,(e=>{let{overlay:t,iframe:i}=e;return n(t,i)})),r()(i=this.videosToOverlays).call(i,(e=>{let{overlay:t,video:i}=e;return n(t,i)}))}),500)}clearOverlaysResizeIntervalChecker(){try{clearInterval(this.overlaysResizeIntervalChecker)}catch(e){}}#re(){const e=document.createElement("a");return e.setAttribute("href",this.adUrl),e.setAttribute("target","_blank"),e.setAttribute("rel","noopener noreferrer"),e.innerText="",e.addEventListener("click",(e=>{this.#i.debug("click on overlay is mobile no tabswap no capture"),e.stopPropagation(),this.mobileClickListener(e)})),e}#se(){const e=document.createElement("div");return e.addEventListener("mousedown",(e=>{this.#i.debug("mousedown on overlay"),this.desktopClickListener(e)}),this.#E),e.addEventListener("click",(e=>{this.#i.debug("click on overlay"),this.desktopClickListener(e)}),this.#E),e}#R(e){let t;const i=e===document.body;return t=te&&i&&!this.isTabSwap?this.#re():this.#se(),i?(t.id=Fe,t.style.top="0px",t.style.left="0px",t.style.width=`${window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}px`,t.style.height=`${window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}px`,t.style.position="fixed"):(t.style.top=`${e.offsetTop}px`,t.style.left=`${e.offsetLeft}px`,t.style.width=`${e.offsetWidth}px`,t.style.height=`${e.offsetHeight}px`,t.setAttribute(Ue,""),t.style.position="absolute"),t.setAttribute(Ne,this.#l),t.style.zIndex=this.#oe(e).toString(),t.style.backgroundColor="transparent",document.body.appendChild(t),t}attachVideoOverlays(){const e=document.querySelectorAll("video");for(let t=0;t{const e=this.#R(document.body);if(M||(I(window,"resize",v()(Je).call(Je,{divOverlay:e,element:window})),I(document.body,"resize",v()(Je).call(Je,{divOverlay:e,element:window}))),this.fullOverlay=e,this.modifyBodyObserver)try{this.#ae()}catch(e){this.#i.error(e)}};clearFullOverlay(){this.#i.debug("clear full overlay"),this.fullOverlay?(this.modifyBodyObserver&&this.#ce(),M||(E(window,Je),E(document.body,Je)),this.fullOverlay.parentNode.removeChild(this.fullOverlay),this.fullOverlay=null):this.#i.debug("no overlay to clear")}reattachFullOverlay(){this.modifyBodyObserver=!1,this.clearFullOverlay(),this.attachFullOverlay(),this.modifyBodyObserver=!0}#oe(e){if(e!==document.body&&this.elementTargeting.isPresent()&&!this.elementTargeting.shouldTriggerPopOnTargetClick){const t=window.getComputedStyle(e);let i=A()(t.zIndex,10);return Ke()(i)?i=1:i+=1,i}return ze}#ae(){this.observer=new MutationObserver((e=>{for(let t=0;t=1&&i.addedNodes[e].id!==Fe&&!i.addedNodes[e].hasAttribute("dontfo")&&!i.addedNodes[e].hasAttribute(Ue))return this.#i.debug("observed element",i.addedNodes[e],"with zIndex value larger or equal to our full body overlay. reattaching full body overlay"),void this.reattachFullOverlay()}})),this.observer.observe(document.documentElement,{attributes:!1,childList:!0,subtree:!0})}#ce(){this.observer&&this.observer.disconnect(),this.observer=null}},Xe=class{targetElementsCssSelector=null;shouldTriggerPopOnTargetClick=!1;#le=!1;constructor(e,t,i){this.targetElementsCssSelector=e,this.shouldTriggerPopOnTargetClick=t,this.zoneId=i}isPresent(){return!!this.targetElementsCssSelector}preventClickOnInterstitialAndBanner(){this.#le=!0}isActionAllowedOnElement(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e.hasAttribute(Ne))return e.getAttribute(Ne)===this.zoneId;if(e.hasAttribute("doskip"))return"1"===e.getAttribute(Be)&&!this.#le;0===t.length&&(t=m()(document.querySelectorAll('[doskip*="1"]')));for(const i of t)if(i.contains(e))return"1"===e.getAttribute(Be)&&!this.#le;if(this.isPresent()){0===i.length&&(i=document.querySelectorAll(this.targetElementsCssSelector));for(let t=0;tbe()()&&this.#s.enableAdbMode();const r=be()();if(n&&n.renderAfterTimestamp>r){var s;const e=n.renderAfterTimestamp-r;this.#i.debug(`previous state present. bid after ${e/1e3} sec`),f()(v()(s=this.#he).call(s,this),e)}else this.#he()}async#C(){const e=await this.#s.getClientHints(!1);let t=`${window.location.protocol}//${this.#t.adserverDomain}/script/suurl5.php`;if(this.#t.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#t.adblockSettings,i=`/${ne("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}if(t+=`?r=${this.#t.zoneId}`,this.#m&&(t+="&rbd=1"),this.#t.targetCountries){const e=this.#t.targetCountries.join(",");this.#t.triggerOnTargetCountries?t+="&allowed_countries="+encodeURIComponent(e):t+="&excluded_countries="+encodeURIComponent(e)}return t=t+e+"&cbur="+Math.random()+"&cbiframe="+$()+"&cbWidth="+F()+"&cbHeight="+U()+"&cbtitle="+encodeURIComponent(N())+"&cbpage="+encodeURIComponent(P())+"&cbref="+encodeURIComponent(B())+"&cbdescription="+encodeURIComponent(j("description"))+"&cbkeywords="+encodeURIComponent(j("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ufp="+encodeURIComponent(this.#t.uniqueFingerprint)+"&ts="+be()()+"&srs="+this.#s.getSesionRandomString()+"&atv="+this.#x,this.#t.sub1&&(t+=`&sub1=${encodeURIComponent(this.#t.sub1)}`),this.#t.sub2&&(t+=`&sub2=${encodeURIComponent(this.#t.sub2)}`),this.#t.publisherUrl&&(t+=`&pu=${encodeURIComponent(this.#t.publisherUrl)}`),this.#t.storeUrl&&(t+=`&storeurl=${encodeURIComponent(this.#t.storeUrl)}`),this.#t.c1&&(t+=`&c1=${encodeURIComponent(this.#t.c1)}`),this.#t.c2&&(t+=`&c2=${encodeURIComponent(this.#t.c2)}`),this.#t.c3&&(t+=`&c3=${encodeURIComponent(this.#t.c3)}`),this.#t.pubHash&&(t+=`&pub_hash=${encodeURIComponent(this.#t.pubHash)}`),this.#t.pubClickId&&(t+=`&pub_clickid=${encodeURIComponent(this.#t.pubClickId)}`),this.#t.pubValue&&(t+=`&pub_value=${encodeURIComponent(this.#t.pubValue)}`),this.#t.fallbackOn&&(t+=`&fallbackon=${encodeURIComponent(this.#t.fallbackOn)}`),this.#t.adblockSettings&&(t+="&abtg=1"),this.#t.isAutoTag&&(t+="&atag=1"),this.#t.aggressivity&&(t+=`&aggr=${this.#t.aggressivity}`),this.#t.collectiveZoneId&&(t+=`&czid=${this.#t.collectiveZoneId}`),this.#t.recordPageView&&(t+="&ppv=1"),this.#t.linkedZoneId&&(t+=`&pblcz=${this.#t.linkedZoneId}`),this.#t.abTest&&(t+=`&ab_test=${this.#t.abTest}`),this.#t.adblockSettings&&this.#t.adblockSettings.adbVersion&&(t+=`&adbv=${this.#t.adblockSettings.adbVersion}`),this.#t.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#i.debug(`bid url: ${t}`),re(t)):(this.#i.debug(`bid url: ${t}`),t)}#U(e){try{let t=this.#L?this.#L(""):window.open("");return t.document.open(),t.document.writeln('

':G&&D&&!H&&W>63&&(e="googlechrome://"+e.replace(/(^\w+:|^)\/\//,"")),t}#z(e){if(this.#i.debug(`showAdClickListener triggered by event type ${e.type} on ${e.target.tagName}`),!e.isTrusted)return void this.#i.debug(`${e.type} on ${e.target.tagName}: pop rejected: event is not trusted`);if(!this.#y)return void this.#i.debug(`${e.type} on ${e.target.tagName}: pop rejected: current pop has no ad loaded`);if(this.#P)return void this.#i.debug(`${e.type} on ${e.target.tagName}: pop rejected: current pop is locked`);if(this.#s.isShowingPop)return void this.#i.debug(`${e.type} on ${e.target.tagName}: pop rejected: another pop is being currently shown`);const t=m()(document.querySelectorAll('[doskip*="1"]'));let i=[];if(this.elementTargeting.isPresent()){i=document.querySelectorAll(this.elementTargeting.targetElementsCssSelector),this.#i.debug("event coordinates:",e.clientX,e.clientY);const n=document.elementsFromPoint(e.clientX,e.clientY);let r=!1;for(let s=0;s{this.#L?e(this.#L(this.#y.url,"_blank","noopener,noreferrer")):e(window.open(this.#y.url,"_blank","noopener,noreferrer"))}))]).then((()=>{this.#be()}));this.#L?this.#L(this.#y.url,"_blank","noopener,noreferrer"):window.open(this.#y.url,"_blank","noopener,noreferrer"),f()((()=>{this.#$="hidden"===document.visibilityState||!document.hasFocus(),this.#D().finally((()=>{this.#be()}))}),100)}}#ue(e){this.#i.debug(`showAdMobileClickListener triggered by event type ${e.type} on`,e.target.tagName),e.isTrusted?this.#y?this.#P?this.#i.debug("pop rejected: current pop is locked"):this.#s.isShowingPop?this.#i.debug("pop rejected: another pop is being currently shown"):this.elementTargeting.isActionAllowedOnElement(e.target)?(this.#s.isShowingPop=!0,this.#P=!0,this.#i.debug("triggering pop"),this.#$=!0,this.#D().finally((()=>{this.#be()}))):this.#i.debug("pop rejected: action not allowed on element",e.target):this.#i.debug("pop rejected: current pop has no ad loaded"):this.#i.debug("pop rejected: event is not trusted")}async#D(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=await this.#s.getClientHints(!1);this.#i.debug("window opened:",this.#$);let i=this.#y.impressionUrl+"&wo="+(this.#$?"1":"0");if(window["utsid-send"]&&(i+=`&utsid=${window["utsid-send"]}`),e>0&&(this.#i.debug(`retry impression. Attempt ${e}`),i+=`&rtry=${e}`),i=i+t+"&cbpage="+encodeURIComponent(P())+"&cbref="+encodeURIComponent(B()),this.#i.debug("send impression. url:",i),se){this.#i.debug("keepalive supported!");let t=null,n=!1;try{t=await fetch(i,{keepalive:!0})}catch(e){if(this.#i.error(e),this.#t.adblockSettings&&!this.#s.isAdbMode())return this.#i.debug("imp failed: try alt domain and path"),void this.#s.enableAdbMode();n=!0}if(t&&!t.ok||n)return void(e<2&&(await this.#D(e+1),document.dispatchEvent(new CustomEvent("impression-retry-event"))))}else navigator.sendBeacon?(this.#i.debug("keepalive NOT supported! use sendBeacon"),navigator.sendBeacon(i)):(this.#i.debug("keepalive NOT supported! use image.src"),(new Image).src=i);document.dispatchEvent(new CustomEvent("impression-event"))}#be(){this.elementTargeting.isPresent()?te?(this.#i.debug("ismob. clear v,i and a overlays"),this.overlays.clearOverlaysResizeIntervalChecker(),this.overlays.clearIframeOverlays(),this.overlays.clearVideoOverlays()):(this.#i.debug("isdesk. clear i overlays only"),this.overlays.clearIframeOverlays(),this.overlays.clearVideoOverlays()):this.#t.linkedZoneId||this.overlays.clearFullOverlay(),this.#V(),this.#s.isShowingPop=!1;const e=this.#t.refreshRate??this.#y.refreshRate;this.#i.debug("refreshRate time is",e),this.#y=null,e&&e>0&&f()((()=>{this.#i.debug("refreshRate time has passed. Rebid"),this.#m=!0,this.#he()}),1e3*e)}#H(){return"type"in this.#y&&"tabswap"===this.#y.type}#M(){this.#i.debug("do tabswap"),this.localStorage.setState({renderAfterTimestamp:be()()+1e3*this.#fe(),adbExpiresAt:this.#s.isAdbMode()?be()()+We:0});const e=this.#y.url;this.#L?this.#L(window.location.href,"_blank","noreferrer"):window.open(window.location.href,"_blank","noreferrer"),this.#$=!0,this.#D().finally((()=>{f()((()=>{const t=document.createElement("a");t.href=e,t.rel="noopener noreferrer",document.body.appendChild(t),t.click(),document.body.removeChild(t)}),50)}))}#j(){var e;const t={zoneId:this.#t.zoneId,callback:v()(e=this.#z).call(e,this)};te&&ie&&(this.#i.debug("subscribe to scroll"),this.#s.subscribe("scroll",t)),te||(this.#i.debug("subscribe to mousedown"),this.#s.subscribe("mousedown",t,this.#E)),this.#i.debug("subscribe to click"),this.#s.subscribe("click",t,this.#E)}#V(){te&&ie&&(this.#i.debug("unsubscribe from scroll"),this.#s.unsubscribe("scroll",this.#t.zoneId)),te||(this.#i.debug("unsubscribe from mousedown"),this.#s.unsubscribe("mousedown",this.#t.zoneId,this.#E)),this.#i.debug("unsubscribe from click"),this.#s.unsubscribe("click",this.#t.zoneId,this.#E)}},tt=i(2243),it=i.n(tt),nt=class{#t={};#i=null;#n=0;#r;#s;#o;constructor(e,t,i,n,r){this.#t=e,this.#i=i,this.#n=0,this.#r=t,this.#s=n,this.#o=r}render(e){let t=null;switch(e.type){case 1:this.#i.debug(`rendering INTERSTITIAL IFRAME (type 1) in ${this.#t.isOverlay?"OVERLAY":"FULLSCREEN"} mode`),t=this.#t.isOverlay?Ce(e.url):Re(e.url);break;case 3:this.#i.debug(`rendering INTERSTITIAL IMAGE (type 3) in ${this.#t.isOverlay?"OVERLAY":"FULLSCREEN"} mode`),t=this.#t.isOverlay?Oe(e.url,e.ad.url,e.ad.width,e.ad.height):Pe(e.url,e.ad.url,e.ad.width,e.ad.height);break;case 4:if(e.isHtmlTemplate)return this.#i.debug("rendering INTERSTITIAL HTML CUSTOM (type 4)"),void this.#a(e);this.#i.debug(`rendering INTERSTITIAL HTML (type 4) in ${this.#t.isOverlay?"OVERLAY":"FULLSCREEN"} mode`),t=this.#t.isOverlay?Ie(Be):$e(Be);break;default:return void this.#i.error(`no such type of interstitial: ${e.type}`)}const i=document.createElement("div");document.body.appendChild(i);const n=i.attachShadow({mode:"open"}),r=this.#t.isOverlay?Te:Ee;if(n.appendChild(r(this.#t.texts.goToButton,e.url,this.#c(),t.content,e.iurl)),4===e.type){const t=n.getElementById("creative_iframe");t.contentWindow.contents=e.html,t.src='javascript:window["contents"]'}if(!this.#t.disableCountdown&&this.#t.moveTimerInsideButtonAfter>0){this.#n=this.#t.moveTimerInsideButtonAfter,n.getElementById("closeButton").innerHTML=this.#c();const e=d()((()=>{this.#n--,n.getElementById("closeButton").innerHTML=this.#c(),0===this.#n&&clearInterval(e)}),1e3)}n.getElementById("closeButton").addEventListener("click",(()=>{this.#n>0||(this.#i.debug("close button click. remove modal host, resize listener if present and do callback"),i.remove(),t.resizeFunc&&window.removeEventListener("resize",t.resizeFunc),this.#r())}))}#c(){let e=`${this.#t.texts.pleaseWait}: ${this.#n} ${this.#t.texts.timePlural}`;return 1===this.#n&&(e=`${this.#t.texts.pleaseWait}: ${this.#n} ${this.#t.texts.timeSingle}`),0===this.#n&&(e=this.#t.disableCountdown?this.#t.texts.xLabel:this.#t.texts.skipAd),e}#a(e){const t=(new DOMParser).parseFromString(e.html,"text/html").querySelector("script"),i=document.createElement("script");i.style.zIndex="2147483646",t.src?i.setAttribute("src",t.src):i.innerText=t.innerText;const n=()=>{this.#i.debug("CT-CLICK"),fetch(e.link,{mode:"no-cors"}),E(document,"ct-click",n)},r=()=>{this.#i.debug("CT-CLOSE"),E(document,"ct-click",n),E(document,"ct-close",r),document.body.removeChild(i),this.#r()};I(document,"ct-click",n),I(document,"ct-close",r);let s=e.iurl;window[Se]&&(s+=`&utsid=${window[Se]}`),i.onload=async()=>{try{await fetch(s.toString())}catch(e){return this.#i.debug(e),void(this.#o&&!this.#s.isAdbMode()&&(this.#i.debug("imp failed: try alt domain and path"),this.#s.enableAdbMode()))}document.dispatchEvent(new CustomEvent("impression-event"))},i.onerror=()=>{this.#i.debug("custom html script failed to load"),this.#r(xe)},document.body.appendChild(i)}},rt=class{#l;#me;#ye;#u;#h;#g;#p;#s;#v;#o;#i;#m=!1;#t={};#b;#y=null;#w=12;#x="52.3";#k=null;#we=!1;#xe="";#S=!1;#T;constructor(e){this.#i=new y(`interstitial_${e.zoneId}`),this.#i.debug("init interstitial with config:",e),this.#l=e.zoneId,this.#ye=e.isAutoTag,this.#u=e.collectiveZoneId,this.#h=e.aggressivity,this.#g=e.recordPageView,this.#p=e.abTest,this.#s=window[e.adcashGlobalName],this.#v=e.adserverDomain,this.#o=e.adblockSettings,this.#me=e.sub1,this.#S=e.isLoadedAsPartOfLibrary,this.#T=e.uniqueFingerprint,e.tagVersionSuffix&&(this.#x+=e.tagVersionSuffix),this.#s.getClientHints(!1).then((e=>{this.#b=e,this.#he()}))}async#he(){const e=this.#C();let t;try{t=await fetch(e)}catch(e){if(this.#i.error(e),this.#o&&!this.#s.isAdbMode())return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#s.enableAdbMode(),void this.#he()}var i,n,r,s;return 204===t.status?(this.#i.debug(`no inventory! try bidding again after ${this.#w} sec`),f()(v()(i=this.#he).call(i,this),1e3*this.#w),void(this.#w<7200&&(this.#w*=5))):(200!==t.status&&202!==t.status||(t=await t.json(),this.#i.debug("response:",t)),this.#w=12,t.hp&&this.#ke(t.hp),t.capped_ttl?(this.#i.debug(`capped! try bidding again after ${t.capped_ttl} sec`),void f()(v()(n=this.#he).call(n,this),1e3*t.capped_ttl)):t.fallback?(this.#i.debug("render fallback and exit"),void this.#Ae(t.fallback)):(this.#m?this.#y=t:(this.#i.debug("initial request. configure"),this.#t={moveTimerInsideButtonAfter:t.moveTimerInsideButtonAfter,delay:t.delay,refreshRate:t.refreshRate,isOverlay:t.isOverlay,disableCountdown:t.disableCountdown,texts:t.texts,showOnInnerLinkClick:t.showOnInnerLinkClick},this.#y=t.adPayload,this.#k=new nt(this.#t,v()(r=this.#r).call(r,this),this.#i,this.#s,this.#o)),this.#b&&(this.#y.url+=this.#b,this.#y.iurl+=this.#b),4===this.#y.type&&this.#y.html&&(this.#y.html=`${this.#y.html}

`),void(!this.#m&&this.#t.delay>0?(this.#i.debug(`delay present. render after: ${this.#t.delay} sec`),f()(v()(s=this.#O).call(s,this),1e3*this.#t.delay)):this.#O())))}#Ae(e){this.#i.debug("fallback script str:",e);const t=(new DOMParser).parseFromString(e,"text/html").querySelector("script");if(!t)return void this.#i.error("invalid fallback script. move on");this.#i.debug("fallback script:",t);const i=document.createElement("script");for(const e of t.attributes)i.setAttribute(e.name,e.value);i.src||(i.textContent=t.textContent),document.body.appendChild(i)}#ke(e){const t=JSON.parse(atob(e));this.#i.debug("hp data:",t);const i={zoneId:t.pop_zone_id.toString(),linkedZoneId:t.source_zone_id.toString()};var n;t.attributes&&(t.attributes["element-list"]&&(i.targetElementsCssSelector=t.attributes["element-list"],i.triggerOnTargetElementsClick="allow"===t.attributes["element-action"]),t.attributes["country-list"]&&(i.targetCountries=it()(n=t.attributes["country-list"]).call(n).split(","),i.triggerOnTargetCountries="allow"===t.attributes["country-action"])),this.#s.runPop(i)}#r(){if(this.#t.showOnInnerLinkClick&&this.#xe)return this.#i.debug("redirect to inner link"),void(window.location.href=this.#xe);this.#we=!1,this.#t.refreshRate>0?(this.#i.debug(`rebid after ${this.#t.refreshRate} sec`),f()((()=>{this.#m=!0,this.#he()}),1e3*this.#t.refreshRate)):this.#i.debug("no rebidding. finish")}#Se(){const e=document.querySelectorAll("a"),t=new(c())(P()).hostname;for(let i=0;i{t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,t.preventDefault?t.preventDefault():t.returnValue=!1,this.#we||(this.#i.debug("click on inner link detected. render ad"),this.#we=!0,this.#xe=e[i].href,this.#k.render(this.#y))}),{capture:!0})}#O(){this.#i.debug("render"),this.#t.showOnInnerLinkClick?(this.#i.debug("google friendly interstitial. ad will be rendered on inner link click"),this.#Se()):this.#k.render(this.#y)}#C(){let e=`${window.location.protocol}//${this.#v}/script/interstitial.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:t}=this.#o,i=`/${ne("abcdefgh0123456789")}`;e=`${window.location.protocol}//${t}${i}`}return e+=`?r=${this.#l}`,this.#m&&(e+="&rbd=1"),this.#b&&(e+=this.#b),e=e+`&srs=${this.#s.getSesionRandomString()}`+`&ufp=${encodeURIComponent(this.#T)}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(B())}`,this.#me&&(e+=`&sub1=${encodeURIComponent(this.#me)}`),this.#ye&&(e+="&atag=1"),this.#u&&(e+=`&czid=${this.#u}`),this.#h&&(e+=`&aggr=${this.#h}`),this.#o&&(e+="&abtg=1"),this.#g&&(e+="&ppv=1"),this.#p&&(e+=`&ab_test=${this.#p}`),this.#o&&this.#o.adbVersion&&(e+=`&adbv=${this.#o.adbVersion}`),this.#o&&this.#s.isAdbMode()?(e+="&sadbl=2",e+="&fmt=intrn",this.#i.debug(`bid url: ${e}`),re(e)):(this.#i.debug(`bid url: ${e}`),e)}};const st="#399afe",ot="utsid-send";class at extends HTMLElement{constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"}),this.click=e=>{e.stopPropagation();const t=document.createEvent("Event");t.initEvent("inpageclick",!0,!0),this.dispatchEvent(t)},this.close=e=>{e.stopPropagation();const t=document.createEvent("Event");t.initEvent("inpageclose",!0,!0),this.dispatchEvent(t),document.dispatchEvent(new CustomEvent("in-page-closed"))},this.missclick=()=>{document.dispatchEvent(new CustomEvent("in-page-missclick"))}}connectedCallback(){const e=document.querySelectorAll("in-page-message");let t=0,i="top";for(let i=0;i\n div[id^='note-'] {\n font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.3;\n position: fixed !important;\n right: 0;\n /* pure-css */\n letter-spacing: -0.31em;\n text-rendering: optimizespeed;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-line-pack: start;\n align-content: flex-start;\n align-items: center;\n cursor: pointer;\n transition: padding-right 0.1s, top 0.3s;\n overflow: hidden;\n z-index: 2147483645;\n word-wrap: break-word;\n width: 380px;\n padding-top: 20px;\n }\n\n .note-inner { \n margin: 5px;\n border-radius: 55px; \n position: relative;\n background: ${st};\n color: #ffffff !important;\n width: 70%;\n text-align: center;\n height: 100px;\n justify-content: center;\n display: flex;\n align-items: center;\n }\n\n div[id*='note-'] p, img.graph, div[id*='close-'] {\n display: inline-block;\n letter-spacing: normal;\n word-spacing: normal;\n vertical-align: middle;\n text-rendering: auto;\n text-align: center; \n } \n\n div[id*='note-'] p {\n width: 90%;\n padding: 2%;\n font-size: 0.9em\n }\n\n /* BUBBLE IMAGE */\n img.graph {\n width: 76px;\n height: 76px; \n box-sizing: border-box;\n border-radius: 50%; \n position: relative;\n margin-left: 2%;\n border: 4px solid ${st};\n }\n\n /* CLOSE BUTTON */\n div[id^='close-'] {\n font-size: 20px;\n margin-top: 10px;\n z-index: 23;\n display: inline-block;\n width: 24px;\n height: 24px;\n background: transparent; \n text-align: center;\n color: #a6a0a7;\n }\n\n div[id^='close-']:hover {\n background: #a0a0ff;\n }\n\n .impression {\n display: none;\n width: 0px;\n height: 0px;\n }\n\n div[id*="missclick-"] {\n right: 0;\n top: 0;\n height: 100%;\n /*margin-top: -30px;*/\n width: ${(a=o).widthOfMissclickArea}px;\n z-index: 2;\n position: absolute !important;\n align-items: start;\n justify-content: center;\n display: flex;\n }\n\n @media all and (max-width: 380px) {\n div[id*='note-'] {\n width: 100%;\n }\n \n img.graph {\n margin-left: 2%;\n }\n }\n\n ${a.closeButtonStyle}\n \n \n

\n

\n

${a.dataTitle}
${a.dataDescription}

\n

\n UFC 293: Adesanya vs. Strickland Live Streams (1)\n

\n

\n

\n

\n `;const c=this.shadowRoot.getElementById(`note-${this.getAttribute("id")}`),l=this.shadowRoot.getElementById(`close-${this.getAttribute("id")}`),d=this.shadowRoot.getElementById(`missclick-${this.getAttribute("id")}`);if(this.hasAttribute("data-imp-link")){let e=this.getAttribute("data-imp-link");window[ot]&&(e+=`&utsid=${window[ot]}`),e+=`&cbpage=${encodeURIComponent(P())}`,e+=`&cbref=${encodeURIComponent(B())}`;const t=document.createElement("img");t.src=e.toString(),t.setAttribute("class","impression"),c.appendChild(t)}I(c,"click",this.click),I(l,"click",this.close),I(d,"click",this.missclick)}}var ct=at;const lt=1e3;var dt=class{#t={};#i;#s;#b="";#Te;#m=!1;#x="52.3";#Ce=[];#Oe=null;#Ie=!0;#Ee;#A=!1;constructor(e){this.#i=new y(`ippg_new_${e.zoneId}`),this.#i.debug("init ippg with config:",e),this.#t=e,this.#s=window[e.adcashGlobalName],this.#Ee=this.#t.refreshRate,customElements.get("in-page-message")||customElements.define("in-page-message",ct),this.#s.getClientHints(!1).then((e=>{this.#b=e,this.#he()}))}#C(){let e=`${window.location.protocol}//${this.#t.adserverDomain}/script/push.php`;if(this.#t.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:t}=this.#t.adblockSettings,i=`/${ne("abcdefgh0123456789")}`;e=`${window.location.protocol}//${t}${i}`}return e+=`?r=${this.#t.zoneId}&ipp=1`,this.#Te=te?this.#t.renderPosMobile:this.#t.renderPosDesktop,e+=`&mads=${this.#t.maxAds}&position=${this.#Te}`,this.#t.isAutoTag&&(e+=`&czid=${this.#t.collectiveZoneId}&atag=1`),this.#t.aggressivity&&(e+=`&aggr=${this.#t.aggressivity}`),this.#t.adblockSettings&&(e+="&abtg=1"),this.#m&&(e+="&rbd=1"),this.#t.recordPageView&&(e+="&ppv=1"),this.#t.abTest&&(e+=`&ab_test=${this.#t.abTest}`),this.#t.sub1&&(e+=`&sub1=${encodeURIComponent(this.#t.sub1)}`),this.#t.adblockSettings&&this.#t.adblockSettings.adbVersion&&(e+=`&adbv=${this.#t.adblockSettings.adbVersion}`),e=e+`&srs=${this.#s.getSesionRandomString()}`+`&ufp=${encodeURIComponent(this.#t.uniqueFingerprint)}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(B())}`,this.#b&&(e+=this.#b),this.#Oe&&(e+="&ipptr=1"),this.#t.adblockSettings&&this.#s.isAdbMode()?(e+="&sadbl=2",e+="&fmt=ippg",this.#i.debug(`bid url: ${e}`),re(e)):(this.#i.debug(`bid url: ${e}`),e)}async#he(){var e;if(this.#Re()>=this.#t.maxAds||!this.#Ie||document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)return void(this.#t.refreshRate>0&&(this.#m=!0,f()(v()(e=this.#he).call(e,this),this.#Ee*lt)));let t;try{t=await fetch(this.#C())}catch(e){if(this.#i.error(e),this.#t.adblockSettings&&!this.#A)return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#A=!0,this.#s.enableAdbMode(),void this.#he()}var i,n;if(204===t.status)return this.#i.debug("unsold invertory!"),void(this.#t.refreshRate>0&&(this.#i.debug(`refresh rate present. try bidding again after ${this.#Ee} sec`),this.#m=!0,f()(v()(i=this.#he).call(i,this),this.#Ee*lt),2*this.#Ee<1200&&(this.#Ee*=2)));if(200!==t.status&&202!==t.status||(this.#m=!0,t=await t.json(),this.#i.debug("response:",t)),t.fallback&&t.hp)return void this.#Ae(t.fallback);if(t.fallback)return void this.#Ae(t.fallback);if(t.hp,t.capped_ttl)return this.#i.debug(`capped! try bidding again after ${t.capped_ttl} sec`),void f()(v()(n=this.#he).call(n,this),t.capped_ttl*lt);this.#b&&(t.impression_url&&(t.impression_url+=this.#b),t.click_url&&(t.click_url+=this.#b));const r={type:t.type||1,script:t.script||"",title:t.title||"",description:t.description||"",icon:t.icon||t.image,link:t.click_url,impressionLink:t.impression_url||null,capped_ttl:A()(t.capped_ttl,10)||0};var s;this.#Ee=this.#t.refreshRate,2!==r.type||this.#Oe?(this.#Ce.push(r),this.#Ie=!1,this.#Pe(),f()((()=>{this.#Ie=!0}),this.#Ee*lt)):(this.#Oe=r,this.#Ie=!1,await this.#$e(),f()((()=>{this.#Ie=!0}),this.#Ee*lt)),this.#t.refreshRate>0&&(this.#m=!0,f()(v()(s=this.#he).call(s,this),this.#Ee*lt))}#Re(){return this.#Oe?this.#Ce.length+1:this.#Ce.length}#Ae(e){this.#i.debug("fallback script str decoded:",e);const t=(new DOMParser).parseFromString(e,"text/html").querySelector("script");if(!t)return this.#i.error("invalid fallback script. move on"),null;this.#i.debug("fallback script:",t);const i=document.createElement("script");for(const e of t.attributes)i.setAttribute(e.name,e.value);i.src||(i.textContent=t.textContent),document.body.appendChild(i)}async#$e(){const e=(new DOMParser).parseFromString(this.#Oe.script,"text/html").querySelector("script"),t=document.createElement("script");e.src?t.setAttribute("src",e.src):t.innerText=e.innerText;const i=()=>{var e;this.#i.debug("CT-CLICK"),fetch(this.#Oe.link,{mode:"no-cors"}),document.removeEventListener("ct-click",i),f()(v()(e=this.#he).call(e,this),1e3)},n=()=>{this.#i.debug("CT-CLOSE"),document.removeEventListener("ct-click",i),document.removeEventListener("ct-close",n),this.#Oe=null,document.body.removeChild(t)};I(document,"ct-click",i),I(document,"ct-close",n);let r=this.#Oe.impressionLink;window[ot]&&(r+=`&utsid=${window[ot]}`),r+=`&cbpage=${encodeURIComponent(P())}`,r+=`&cbref=${encodeURIComponent(B())}`,t.onload=async()=>{try{await fetch(r.toString())}catch(e){return this.#i.debug(e),void(this.#t.adblockSettings&&!this.#s.isAdbMode()&&(this.#i.debug("imp failed: try alt domain and path"),this.#s.enableAdbMode()))}document.dispatchEvent(new CustomEvent("impression-event"))},t.onerror=()=>{this.#i.debug("custom html script failed to load"),this.#Oe=null},document.body.appendChild(t)}#Pe(){var e;this.#i.debug("drawing..");const t=document.querySelectorAll("in-page-message");if(t.length>0)for(let e=0;e{const i=document.createElement("in-page-message");i.setAttribute("doskip","1"),i.setAttribute("id",t.toString()),i.setAttribute("data-icon",e.icon),i.setAttribute("data-title",e.title),i.setAttribute("data-description",e.description),i.setAttribute("data-offset-top",this.#t.offsetTop),i.setAttribute("data-render-pos-desktop",this.#t.renderPosDesktop),i.setAttribute("data-render-pos-mobile",this.#t.renderPosMobile),e.impressionLink&&(i.setAttribute("data-imp-link",e.impressionLink),e.impressionLink=null,document.dispatchEvent(new CustomEvent("impression-event"))),i.addEventListener("inpageclick",(()=>{var n;if(te||this.#t.adblockSettings&&this.#s.isAdbMode()){const t=document.createElement("a");t.href=e.link,t.rel="noopener, noreferrer",t.target="_blank",t.click()}else try{window.open(e.link,"_blank","noopener,noreferrer")}catch{}i.remove(),h()(n=this.#Ce).call(n,t,1),this.#Pe()})),i.addEventListener("inpageclose",(()=>{var e;i.remove(),h()(e=this.#Ce).call(e,t,1),this.#Pe()})),document.body.appendChild(i)}))}},ut=i(111),ht=i.n(ut),gt=i(8607),ft=i.n(gt),pt=class{#s;#t={};#i;#Le="";#ze;#l=null;#Fe=null;#Ue=null;#Ne=null;#Be;#je;#v="youradexchange.com";#He="velocecdn.com";#Me=!1;#De;#o;#A=!1;#x="52.3";constructor(e){this.#i=new y(`banner_${e.zoneId}`),this.#s=window[e.adcashGlobalName],this.#i.debug("init banner with config:",e),this.#t=e,this.#l=this.#t.zoneId,this.#Fe=this.#t.width,this.#Ue=this.#t.height,this.#Ne=this.#t.renderIn,this.#o=this.#t.adblockSettings,this.#t.currentScript&&(this.#De=this.#t.currentScript),this.#Be=this.#je=document.documentElement.clientWidth||document.body.clientWidth||window.innerWidth,e.tagVersionSuffix&&(this.#x+=e.tagVersionSuffix),this.#i.debug("tag version:",this.#x),this.#_e()}#Ve(){const e=this.#ze.impression_url;(new Image).src=e}async#_e(){this.#i.debug("get initial ad and config"),this.#Le=await R(this.#i);const e=await this.#We();let t;this.#i.debug("URL to fetch",e);try{t=await fetch(e)}catch(e){return this.#i.error(e),this.#o&&!this.#A?(this.#i.debug("fetch failed: try alt domain and path"),this.#A=!0,this.#s.enableAdbMode(),void this.#_e()):this.#s.isAdbMode()?void this.#i.debug("fetch failed: alt domain and path blocked. exit"):void this.#i.debug("fetch failed. exit")}200===t.status||202===t.status?(this.#i.debug("initial fetch received 200 or 202"),this.#ze=await t.json(),this.#qe()):204===t.status&&this.#i.debug("initial fetch received 204. No inventory")}async#We(){let e=`${window.location.protocol}//${this.#v}/script/banner.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:t}=this.#o,i=`/${ne("abcdefgh0123456789")}`;e=`${window.location.protocol}//${t}${i}`}return e+=`?r=${this.#l}`,e+=`&cbpage=${encodeURIComponent(P())}`,e+=`&cbref=${encodeURIComponent(B())}`,e+=`&cbdescription=${encodeURIComponent(j("description"))}`,e+=`&cbkeywords=${encodeURIComponent(j("keywords"))}`,e+=`&cbtitle=${encodeURIComponent(N())}`,e+=`&srs=${z()}`,e+=`&ufp=${encodeURIComponent(this.#t.uniqueFingerprint)}`,e+=`&atv=${this.#x}`,this.#t.sub1&&(e+=`&sub1=${encodeURIComponent(this.#t.sub1)}`),this.#o&&this.#s.isAdbMode()?(e+="&sadbl=2",e+="&fmt=bnr",re(e)):e}#qe(){if(!this.#ze||"undefined"===this.#ze)return;if(this.#ze.hp&&(this.#Ge(this.#ze.hp),1===ht()(this.#ze).length))return;let e;e=this.#Ne?document.querySelector(this.#Ne):this.#t.currentElement?this.#t.currentElement:this.#De.parentElement,this.#Ze(e);const t=this.#Qe();e.appendChild(t)}#Qe(){let e;return this.#ze.fallback?(this.#i.debug("Banner type - fallback"),e=this.#Ke()):1===this.#ze.render_image?(this.#i.debug("Banner type - image"),e=this.#Je()):(this.#i.debug("Banner type - html"),e=this.#Ye()),this.#ze.fallback||this.#Ve(),this.#s||this.#Xe(),e}#Je(){const e=document.createElement("a");e.href=this.#ze.click_url,e.target="_blank",e.rel="noopener, noreferrer",e.style.display="block",e.style.width=`${this.#Fe?this.#Fe:this.#ze.width}px`,e.style.height=`${this.#Ue?this.#Ue:this.#ze.height}px`,e.style.position="relative",e.style.top=0,e.style.left=0,e.style.right=0,e.style.bottom=0,e.setAttribute("doskip","1"),e.setAttribute(Be,"1");const t=document.createElement("img");if(t.src=this.#ze.image_url,t.target="_blank",t.width=this.#Fe?this.#Fe:this.#ze.width,t.height=this.#Ue?this.#Ue:this.#ze.height,this.#ze.width>this.#Be&&this.#ze.force_resize){const i=(this.#Fe?this.#Fe:this.#ze.width)/this.#je;e.style.width=`${this.#je}px`,e.style.height=`${Math.round((this.#Ue?this.#Ue:this.#ze.height)/i)}px`,t.style="max-width: 100%;",t.width=this.#je,t.height=Math.round((this.#Ue?this.#Ue:this.#ze.height)/i)}return e.appendChild(t),e}#Ye(){const e=`banner_${this.#l}`,t=document.createElement("div");t.id=e,t.style.display="block",t.style.width=`${this.#Fe?this.#Fe:this.#ze.width}px`,t.style.height=`${this.#Ue?this.#Ue:this.#ze.height}px`,t.style.position="relative",t.style.top="0",t.style.left="0",t.style.right="0",t.style.bottom="0",t.width=this.#Fe?this.#Fe:this.#ze.width,t.height=this.#Ue?this.#Ue:this.#ze.height,t.setAttribute("doskip","1"),t.setAttribute(Be,"1"),this.#et(t,this.#ze.html);const i=()=>{this.#i.debug("click recorded:",this.#ze.click_url),(new Image).src=this.#ze.click_url};return t.addEventListener("click",(()=>{this.#i.debug("click on divNode"),i()})),d()((()=>{document.activeElement&&"IFRAME"===document.activeElement.tagName&&((e,t)=>{let i=e.parentElement;for(;i;){if(i.id===t)return i;i=i.parentElement}return null})(document.activeElement,e)?this.#Me||(this.#Me=!0,this.#i.debug("click on iframe"),i()):this.#Me=!1}),200),t}#et(e,t){var i;e.innerHTML=t,r()(i=m()(e.querySelectorAll("script"))).call(i,(e=>{var t;const i=document.createElement("script");r()(t=m()(e.attributes)).call(t,(e=>{i.setAttribute(e.name,e.value)}));const n=document.createTextNode(e.innerHTML);i.appendChild(n),e.parentNode.replaceChild(i,e)}))}#Ke(){const e=`banner_${this.#l}`,t=document.createElement("iframe");return t.id=e,t.style.border="medium none",t.style.padding="0",t.style.margin="0",t.style.width=`${this.#Fe?this.#Fe:this.#ze.width}px`,t.style.height=`${this.#Ue?this.#Ue:this.#ze.height}px`,t.width=this.#Fe?this.#Fe:this.#ze.width,t.height=this.#Ue?this.#Ue:this.#ze.height,t.scrolling="no",t.vspace="0",t.hspace="0",t.allowtransparency="true",t.allowfullscreen="true",t.srcdoc=this.#ze.fallback,t}#Ge=e=>{const t=JSON.parse(atob(e));if(this.#s){const e={zoneId:t.pop_zone_id.toString(),linkedZoneId:t.source_zone_id.toString()};var i;return t.attributes&&(t.attributes["element-list"]&&(e.targetElementsCssSelector=t.attributes["element-list"],e.triggerOnTargetElementsClick="allow"===t.attributes["element-action"]),t.attributes["country-list"]&&(e.targetCountries=it()(i=t.attributes["country-list"]).call(i).split(","),e.triggerOnTargetCountries="allow"===t.attributes["country-action"])),void this.#s.runPop(e)}const n=document.createElement("script");if(n.type="text/javascript",n.src=`//${this.#He}/script/suv4.js`,n.setAttribute("zid",t.pop_zone_id),n.setAttribute("lpzi",t.source_zone_id),n.setAttribute("data-adel","lwsu"),n.setAttribute("adlm","ipvipplm"),t.attributes)for(const e in t.attributes)n.setAttribute(e,t.attributes[e]);document.body.appendChild(n)};#Ze(e){if(this.#i.debug("Initial viewport:",this.#Be),this.#ze.width>this.#Be&&this.#ze.force_resize){var t=window.getComputedStyle(e),i=ft()(t.paddingLeft),n=ft()(t.marginLeft);this.#je=e.clientWidth-i-n,this.#i.debug("Parent element width:",this.#je)}}#Xe(){const e=document.createElement("a");e.style.display="none",e.style.visibility="hidden",e.style.position="relative",e.style.left="-1000px",e.style.top="-1000px",e.href=this.#ze.bot_link,document.body.appendChild(e)}};const vt="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",bt="adblock-settings",mt=(()=>{let e=document.currentScript;return e||(e=document.getElementById("aclib")),e||(e=document.getElementById("adcash-lib")),e})();let yt=null;var wt=class{#He;#tt={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1};#it;#b;#nt=new(t());#i;#rt;#st={mousedown:[],click:[],touchstart:[]};#ot={mousedown:[],scroll:[],click:[],touchstart:[]};#v="youradexchange.com";#o=null;#at;#ct;#lt=!1;isShowingPop=!1;#T;constructor(){if(yt)return yt;yt=this,this.#i=new y("aclib_adbl"),window.addEventListener("mousedown",(e=>{var t;this.#i.debug("win mousedown with capture: in"),r()(t=this.#st.mousedown).call(t,(t=>{this.#i.debug("win mousedown with capture: calling observer"),t.callback(e)}))}),!0),window.addEventListener("mousedown",(e=>{var t;this.#i.debug("win mousedown: in"),r()(t=this.#ot.mousedown).call(t,(t=>{this.#i.debug("win mousedown: calling observer"),t.callback(e)}))}),!1),window.addEventListener("click",(e=>{var t;this.#i.debug("win click with capture: in"),r()(t=this.#st.click).call(t,(t=>{this.#i.debug("win click with capture: calling observer"),t.callback(e)}))}),!0),window.addEventListener("click",(e=>{var t;this.#i.debug("win click: in"),r()(t=this.#ot.click).call(t,(t=>{this.#i.debug("win click: calling observer"),t.callback(e)}))}),!1),document.addEventListener("mousedown",(e=>{var t;this.#i.debug("doc mousedown: in"),r()(t=this.#ot.mousedown).call(t,(t=>{this.#i.debug("doc mousedown: calling observer"),t.callback(e)}))})),document.addEventListener("mousedown",(e=>{var t;this.#i.debug("doc mousedown with capture: in"),r()(t=this.#st.mousedown).call(t,(t=>{this.#i.debug("doc mousedown with capture: calling observer"),t.callback(e)}))}),!0),window.addEventListener("scroll",(e=>{var t;r()(t=this.#ot.scroll).call(t,(t=>{t.callback(e)}))})),document.addEventListener("click",(e=>{var t;this.#i.debug("doc click: in"),r()(t=this.#ot.click).call(t,(t=>{this.#i.debug("doc click: calling observer"),t.callback(e)}))})),document.addEventListener("click",(e=>{var t;this.#i.debug("doc click with capture: in"),r()(t=this.#st.click).call(t,(t=>{this.#i.debug("doc click with capture: calling observer"),t.callback(e)}))}),!0),this.getClientHints(),this.#ct=z(),this.#at=(()=>{const e=Math.floor(11*Math.random())+5;let t="";for(let i=0;i{window[t]&&window[t]===e||(window[t]=e)}),500)}#ft(){this.#rt&&(clearInterval(this.#rt),this.#rt=null)}subscribe(e,t,i){if(!this.#st[e]||!this.#ot[e])throw new Error(`${e} is not observable!`);i?this.#st[e].push(t):this.#ot[e].push(t)}unsubscribe(e,t,i){if(!this.#st[e]||!this.#ot[e])throw new Error(`${e} is not observable!`);if(i)for(let i=0;i{const t=document.createElement("link");t.rel="dns-prefetch",t.href=`//${e}`,document.head.appendChild(t)}))}f()(v()(e=this.#dt).call(e,this),100)}getZoneIds(){return m()(this.#nt)}runPop(e){this.#gt();const{zoneId:t,refreshRate:i,delay:n,targetElementsCssSelector:r,triggerOnTargetElementsClick:s,targetCountries:o,triggerOnTargetCountries:a,sub1:c,sub2:l,publisherUrl:d,storeUrl:u,c1:h,c2:g,c3:f,pubHash:p,pubClickId:v,pubValue:b,fallbackOn:m,isAutoTag:y,collectiveZoneId:w,aggressivity:x,recordPageView:k,linkedZoneId:A,abTest:S,tagVersionSuffix:T}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!fe(t))throw new Error("zoneId is not a string!");if(void 0!==i&&(!ge(i)||i<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==n&&(!ge(n)||n<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r){if(!fe(r))throw new Error("targetElementsCssSelector is not a string");if(!(e=>{try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0})(r))throw new Error("targetElementsCssSelector is not a valid css selector");if(!he(s))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==o){if(!(e=>{if(!le()(e))return!1;if(0===e.length)return!1;for(let t=0;t0&&f<10&&(f<5?f*=60:f=30),new dt({zoneId:t,refreshRate:f??60,delay:i??0,maxAds:n??1,renderPosDesktop:r??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:c,collectiveZoneId:l,aggressivity:d,recordPageView:u,abTest:h,tagVersionSuffix:g,adserverDomain:this.#v,adblockSettings:this.#o,adcashGlobalName:this.#at,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#T})}runBanner(e){this.#gt();const{zoneId:t,width:i,height:n,renderIn:r,sub1:s,currentScript:o}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!fe(t))throw new Error("zoneId is not a string!");if(void 0!==i&&!ge(i))throw new Error("Banner width is not an integer");if(void 0!==n&&!ge(n))throw new Error("Banner height is not an integer");if(this.#nt.has(t))return void this.#i.error(`zone ${t} already loaded`);let a;this.#nt.add(t),this.#i.debug("loading banner on page",t),r||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement)),new pt({zoneId:t,width:i,height:n,renderIn:r,currentElement:a,sub1:s,adcashGlobalName:this.#at,uniqueFingerprint:this.#T,adblockSettings:this.#o})}runInterstitial(e){if(this.#tt.interstitial)return void this.#i.error("interstitial zone already loaded on page");this.#tt.interstitial=!0,this.#gt();const{zoneId:t,sub1:i,isAutoTag:n,collectiveZoneId:r,aggressivity:s,recordPageView:o,abTest:a,tagVersionSuffix:c}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!fe(t))throw new Error("zoneId is not a string!");this.#i.debug("loading interstitial on page");const l={zoneId:t,sub1:i,isAutoTag:n,collectiveZoneId:r,aggressivity:s,recordPageView:o,abTest:a,tagVersionSuffix:c,adcashGlobalName:this.#at,adserverDomain:this.#v,adblockSettings:this.#o,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#T};this.#nt.add(t),new rt(l)}async#pt(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.#i.debug("fetch collective zone config");let i=`${window.location.protocol}//${this.#v}/ad/czcf.php`;if(this.isAdbMode()){const e=`/${ne("abcdefgh0123456789")}`;i=`${window.location.protocol}//${this.#o.adserverDomain}${e}`}i+=`?cz=${e}`;const n=await this.getClientHints();let r;n&&(i+=n),this.isAdbMode()&&(i+="&sadbl=2",i+="&fmt=atg",i=re(i)),this.#i.debug("collective zone config url: ",i);try{r=await fetch(i)}catch(i){return this.#i.error(i),this.#o&&t?(this.#i.debug("collective zone config fetch failed: try alt domain and path"),this.enableAdbMode(),this.#pt(e,!1)):null}return 200!==r.status?null:r.json()}async runAutoTag(e){if(this.#tt.autoTag)return void this.#i.error("autotag zone already loaded on page");this.#tt.autoTag=!0,this.#gt();const t=e.zoneId;if(!t)throw new Error("mandatory zoneId is not provided!");if(!fe(t))throw new Error("zoneId is not a string!");const i=await this.#pt(t);if(i)if(this.#i.debug("collective zone config:",i),i.rotationList)this.#i.debug("running in ROTATION MODE"),this.#nt.add(t),new Ze({adcashGlobalName:this.#at,collectiveZoneConfig:i,adserverDomain:this.#v,adblockSettings:this.#o,clientHintsQueryStr:this.#b,tagVersionSuffix:e.tagVersionSuffix,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#T});else{this.#i.debug("running in NORMAL MODE");const n=i.indexedFormats;let r=!0;for(const s in n){switch(s){case"suv4":case"pop":this.runPop({zoneId:n[s].zoneId.toString(),targetElementsCssSelector:n[s]["element-list"],triggerOnTargetElementsClick:"allow"===n[s]["element-action"],targetCountries:n[s]["country-list"],triggerOnTargetCountries:"allow"===n[s]["country-action"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:r,tagVersionSuffix:e.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:n[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:r,tagVersionSuffix:e.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:n[s].zoneId.toString(),refreshRate:n[s].rr,delay:n[s].d,maxAds:n[s].mads,renderPosDesktop:n[s]["render-pos-desktop"],renderPosMobile:n[s]["render-pos-mobile"],offsetTop:n[s]["offset-top"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:r,tagVersionSuffix:e.tagVersionSuffix});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${t}`)}r=!1}}else this.#i.error(`failed to fetch collective zone config! czid: ${t}`)}};const xt=new y("aclib_adblock_index");window.Adcash?xt.debug("lib already on page. exit"):(xt.debug("load lib on page"),window.Adcash=wt,window.AtcshAltNm=wt,window.aclib=new wt)}()}();(function(){if(window.aclib){aclib.runPop({zoneId:"7370082"});}else{console.log("err loading adbtg");}})();

UFC 293: Adesanya vs. Strickland Live Streams (2024)
Top Articles
Topeka storm with 80 mph winds does widespread tree damage, cuts power to thousands
Amber Peery guilty of 5 felonies in crash that killed 3 Topeka Girl Scouts
Dayton Overdrive
Authentication Portal Pvusd
Www.craigslist.com Springfield Mo
Craigslist Holland Mi Pets
Jobs Hiring Start Tomorrow
Chubbs Canton Il
Teenbeautyfitness
James Cameron And Getting Trapped Inside Your Most Successful Creation
Estragon South End
Craigslist Cars For Sale By Owner Oklahoma City
Myjohnshopkins Mychart
Craigslist Boats Rochester
When Is Hobby Lobby Opening In Olean Ny
Trizzle Aarp
1v1 lol unblocked Game- Play Unblocked Game Online for Free!
How Much Is Cvs Sports Physical
Pdinfoweb
G4 Vore
Bayada Bucks Catalog 2023
Clean My Mac Sign In
Cars & Trucks By Owner
I Wanna Dance With Somebody Showtimes Near St. Landry Cinema
Wmu Academic Calendar 2022
In Branch Chase Atm Near Me
2022 Jeep Grand Cherokee Lug Nut Torque
Sweeterthanolives
Raya And The Last Dragon Voice Cast: Who's Voicing Each Character
Dutchessravenna N Word
Heiwa Coin
Trailmaster Fahrwerk - nivatechnik.de
Demetrius Meach Nicole Zavala
Guide for The Big Con
Hingham Police Scanner Wicked Local
Längen umrechnen • m in mm, km in cm
CareCredit Lawsuit - Illegal Credit Card Charges And Fees
Lockstraps Net Worth
Upc 044376295592
South Carolina Craigslist Motorcycles
Joe Aloi Beaver Pa
Ticketmaster Lion King Chicago
Payback Bato
Cetaphil Samples For Providers
Po Box 6726 Portland Or 97228
Dimensional Doors Mod (1.20.1, 1.19.4) - Pocket Dimensions
Publix Coral Way And 147
Six Broadway Wiki
Trivago Anaheim California
Kaiju Universe: Best Monster Tier List (January 2024) - Item Level Gaming
8X10 Meters To Square Meters
Clarakitty 2022
Latest Posts
Article information

Author: Golda Nolan II

Last Updated:

Views: 5981

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Golda Nolan II

Birthday: 1998-05-14

Address: Suite 369 9754 Roberts Pines, West Benitaburgh, NM 69180-7958

Phone: +522993866487

Job: Sales Executive

Hobby: Worldbuilding, Shopping, Quilting, Cooking, Homebrewing, Leather crafting, Pet

Introduction: My name is Golda Nolan II, I am a thoughtful, clever, cute, jolly, brave, powerful, splendid person who loves writing and wants to share my knowledge and understanding with you.