`),this.#I()})).catch((t=>{if(t&&this.#r.error(t),t&&this.#o&&!this.#S)return this.#r.debug("fetch call failed. Switch to adblck domain and path"),this.#S=!0,this.#s.enableAdbMode(),void this.show();this.#n(xt)}))}#I(){this.#r.debug("render"),this.#k.render(this.#y)}#C(t){let e=`${window.location.protocol}//${this.#v}/script/interstitial.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:t}=this.#o,r=`/${it("abcdefgh0123456789")}`;e=`${window.location.protocol}//${t}${r}`}return e+=`?r=${this.#l}`,this.#m&&(e+="&rbd=1"),this.#b&&(e+=this.#b),e=e+"&atag=1"+`&czid=${this.#d}`+`&aggr=${this.#h}`+`&seqid=${t}`+`&ufp=${encodeURIComponent(this.#T)}`+`&srs=${this.#s.getSesionRandomString()}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(B())}`,this.#o&&(e+="&abtg=1"),this.#g&&(e+="&ppv=1"),this.#p&&(e+=`&ab_test=${this.#p}`),!1===this.#f&&(e+="&cap=0"),this.#o&&this.#o.adbVersion&&(e+=`&adbv=${this.#o.adbVersion}`),this.#o&&this.#s.isAdbMode()?(e+="&sadbl=2",e+="&fmt=intrn",this.#r.debug(`bid url: ${e}`),nt(e)):(this.#r.debug(`bid url: ${e}`),e)}};const jt=6e5,Mt='[doskip*="1"]',_t="znid";var Vt=class{targetElementsCssSelector=null;shouldTriggerPopOnTargetClick=!1;constructor(t,e,r){this.targetElementsCssSelector=t,this.shouldTriggerPopOnTargetClick=e,this.zoneId=r}isPresent(){return!!this.targetElementsCssSelector}isActionAllowedOnElement(t){if(!this.isPresent())return!0;if(t.hasAttribute(_t))return t.getAttribute(_t)===this.zoneId;if(t.hasAttribute("doskip"))return!1;const e=m()(document.querySelectorAll(Mt));for(const r of e)if(r.contains(t))return!1;return this.#O(t)?this.shouldTriggerPopOnTargetClick:!this.shouldTriggerPopOnTargetClick}#O(t){const e=document.querySelectorAll(this.targetElementsCssSelector);do{for(let r=0;r{var t,e,r;const i=(t,e)=>{try{const r=e.getBoundingClientRect();t.style.top=`${r.top+window.scrollY}px`,t.style.left=`${r.left+window.scrollX}px`,t.style.width=`${r.width}px`,t.style.height=`${r.height}px`}catch(t){}};n()(t=this.iframesToOverlays).call(t,(t=>{let{overlay:e,iframe:r}=t;return i(e,r)})),n()(e=this.videosToOverlays).call(e,(t=>{let{overlay:e,video:r}=t;return i(e,r)})),n()(r=this.anchorsToOverlays).call(r,(t=>{let{overlay:e,anchor:r}=t;return i(e,r)}))}),500)}clearOverlaysResizeIntervalChecker(){try{clearInterval(this.overlaysResizeIntervalChecker)}catch(t){}}#R(t){const e=document.createElement("div");if(e.addEventListener("mousedown",(t=>{this.#r.debug("mousedown on overlay"),t.stopPropagation(),t.preventDefault(),this.desktopClickListener(t)}),this.#E),t===document.body)e.id="dontfoid",e.style.top="0px",e.style.left="0px",e.style.width=`${window.innerWidth||document.body.clientWidth}px`,e.style.height=`${window.innerHeight||document.body.clientHeight}px`,e.style.position="fixed";else{const r=t.getBoundingClientRect();e.style.top=`${r.top+window.scrollY}px`,e.style.left=`${r.left+window.scrollX}px`,e.style.width=`${r.width}px`,e.style.height=`${r.height}px`,e.style.position="absolute",e.setAttribute("donto","")}return e.setAttribute(_t,this.#l),e.style.zIndex=2147483647,e.style.backgroundColor="transparent",t===document.body?document.body.appendChild(e):t.parentNode.appendChild(e),e}attachVideoOverlays(){const t=document.querySelectorAll("video");for(let e=0;e false"),this.#E=!1),this.overlays=new Wt(this.elementTargeting,v()(e=this.#z).call(e,this),this.#r,this.#e.zoneId,this.#E),t.tagVersionSuffix&&(this.#x+=t.tagVersionSuffix),this.#r.debug("tag version:",this.#x)}show(){this.#y=null,this.#$=null,this.#P=!1,fetch(this.#C()).then((t=>200===t.status||202===t.status?t.json():(204===t.status&&(this.hasNoInventory=!0,this.#r.debug(`no inventory! reset after ${this.#w} sec`),f()((()=>{this.hasNoInventory=!1}),1e3*this.#w),this.#w<7200&&(this.#w*=5)),yt().reject()))).then((t=>{if(this.#r.debug("response:",t),t.capped_ttl)return this.isCapped=!0,this.#r.debug(`capped! reset after ${t.capped_ttl} sec`),f()((()=>{this.isCapped=!1}),1e3*t.capped_ttl),void this.#e.actionCallback(kt);if(this.#w>12&&(this.#w=12),!this.#m){this.#m=!0;const e=t.delay??0;return this.#r.debug("delay is",e),void f()((()=>{this.#F(t)}),1e3*e)}this.#F(t)})).catch((t=>{if(t&&this.#r.error(t),t&&this.#e.adblockSettings&&!this.#S)return this.#r.debug("fetch call failed. Switch to adblck domain and path"),this.#s.enableAdbMode(),this.#S=!0,void this.show();this.#e.actionCallback(kt)}))}#C(){let t=`${window.location.protocol}//${this.#e.adserverDomain}/script/suurl5.php`;if(this.#e.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#e.adblockSettings,r=`/${it("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${r}`}if(t+=`?r=${this.#e.zoneId}`,this.#m&&(t+="&rbd=1"),this.#e.targetCountries){const e=this.#e.targetCountries.join(",");this.#e.triggerOnTargetCountries?t+="&allowed_countries="+encodeURIComponent(e):t+="&excluded_countries="+encodeURIComponent(e)}return t=t+this.#e.clientHintsQueryStr+"&atag=1&cbur="+Math.random()+"&cbiframe="+$()+"&cbWidth="+F()+"&cbHeight="+N()+"&cbtitle="+encodeURIComponent(U())+"&cbpage="+encodeURIComponent(P())+"&cbref="+encodeURIComponent(B())+"&cbdescription="+encodeURIComponent(H("description"))+"&cbkeywords="+encodeURIComponent(H("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ts="+bt()()+"&atv="+this.#x+"&ufp="+encodeURIComponent(this.#e.uniqueFingerprint)+"&srs="+this.#s.getSesionRandomString(),this.#e.adblockSettings&&(t+="&abtg=1"),this.#e.aggressivity&&(t+=`&aggr=${this.#e.aggressivity}`),this.#e.collectiveZoneId&&(t+=`&czid=${this.#e.collectiveZoneId}`),this.#e.recordPageView&&(t+="&ppv=1"),this.#e.abTest&&(t+=`&ab_test=${this.#e.abTest}`),!1===this.#e.adsCapping&&(t+="&cap=0"),this.#e.adblockSettings&&this.#e.adblockSettings.adbVersion&&(t+=`&adbv=${this.#e.adblockSettings.adbVersion}`),this.#e.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#r.debug(`bid url: ${t}`),nt(t)):(this.#r.debug(`bid url: ${t}`),t)}#N(t){try{let e=this.#L?this.#L(""):window.open("");return e.document.open(),e.document.writeln('`),void(!this.#m&&this.#e.delay>0?(this.#r.debug(`delay present. render after: ${this.#e.delay} sec`),f()(v()(s=this.#I).call(s,this),1e3*this.#e.delay)):this.#I())))}#Ot(t){this.#r.debug("fallback script str:",t);const e=(new DOMParser).parseFromString(t,"text/html").querySelector("script");if(!e)return void this.#r.error("invalid fallback script. move on");this.#r.debug("fallback script:",e);const r=document.createElement("script");for(const t of e.attributes)r.setAttribute(t.name,t.value);r.src||(r.textContent=e.textContent),document.body.appendChild(r)}#It(t){const e=JSON.parse(atob(t));this.#r.debug("hp data:",e);const r={zoneId:e.pop_zone_id.toString(),linkedZoneId:e.source_zone_id.toString()};var i;e.attributes&&(e.attributes["element-list"]&&(r.targetElementsCssSelector=e.attributes["element-list"],r.triggerOnTargetElementsClick="allow"===e.attributes["element-action"]),e.attributes["country-list"]&&(r.targetCountries=re()(i=e.attributes["country-list"]).call(i).split(","),r.triggerOnTargetCountries="allow"===e.attributes["country-action"])),this.#s.runPop(r)}#n(){if(this.#e.showOnInnerLinkClick&&this.#Ct)return this.#r.debug("redirect to inner link"),void(window.location.href=this.#Ct);this.#Tt=!1,this.#e.refreshRate>0?(this.#r.debug(`rebid after ${this.#e.refreshRate} sec`),f()((()=>{this.#m=!0,this.#ft()}),1e3*this.#e.refreshRate)):this.#r.debug("no rebidding. finish")}#Et(){const t=document.querySelectorAll("a"),e=new(c())(P()).hostname;for(let r=0;r{e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,e.preventDefault?e.preventDefault():e.returnValue=!1,this.#Tt||(this.#r.debug("click on inner link detected. render ad"),this.#Tt=!0,this.#Ct=t[r].href,this.#k.render(this.#y))}),{capture:!0})}#I(){this.#r.debug("render"),this.#e.showOnInnerLinkClick?(this.#r.debug("google friendly interstitial. ad will be rendered on inner link click"),this.#Et()):this.#k.render(this.#y)}#C(){let t=`${window.location.protocol}//${this.#v}/script/interstitial.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#o,r=`/${it("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${r}`}return t+=`?r=${this.#l}`,this.#m&&(t+="&rbd=1"),this.#b&&(t+=this.#b),t=t+`&srs=${this.#s.getSesionRandomString()}`+`&ufp=${encodeURIComponent(this.#T)}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(B())}`,this.#kt&&(t+=`&sub1=${encodeURIComponent(this.#kt)}`),this.#St&&(t+="&atag=1"),this.#d&&(t+=`&czid=${this.#d}`),this.#At&&(t+=`&pblcz=${this.#At}`),this.#h&&(t+=`&aggr=${this.#h}`),this.#o&&(t+="&abtg=1"),this.#g&&(t+="&ppv=1"),this.#p&&(t+=`&ab_test=${this.#p}`),this.#o&&this.#o.adbVersion&&(t+=`&adbv=${this.#o.adbVersion}`),this.#o&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=intrn",this.#r.debug(`bid url: ${t}`),nt(t)):(this.#r.debug(`bid url: ${t}`),t)}};const se="#399afe";const oe="inpageclick",ae="inpageclose",ce="utsid-send";class le extends HTMLElement{#Rt;constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"}),this.click=t=>{t.stopPropagation();const e=new CustomEvent(oe,{bubbles:!0});this.dispatchEvent(e)},this.close=t=>{t.stopPropagation();const e=new CustomEvent(ae,{bubbles:!0});this.dispatchEvent(e)},this.missclick=()=>{document.dispatchEvent(new CustomEvent("in-page-missclick"))}}connectedCallback(){const t=document.querySelectorAll("in-page-message");let e=0,r="top";for(let r=0;r{const e=document.createElement("div");e.id=`note-${t.id}`,e.style[t.position]=`${t.offset}px`,e.style.fontFamily='-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif',e.style.fontWeight="400",e.style.fontSize="16px",e.style.lineHeight="1.3",e.style.position="fixed",e.style.right="0",e.style.letterSpacing="-0.31em",e.style.textRendering="optimizespeed",e.style.display="flex",e.style.webkitBoxOrient="horizontal",e.style.webkitBoxDirection="normal",e.style.msFlexFlow="row wrap",e.style.alignContent="flex-start",e.style.alignItems="center",e.style.cursor="pointer",e.style.transition="padding-right 0.1s, top 0.3s",e.style.overflow="hidden",e.style.zIndex="2147483645",e.style.wordWrap="break-word",e.style.width="380px",e.style.paddingTop="20px";const r=()=>{window.innerWidth<380?e.style.width="100%":e.style.width="380px"};r();const i=document.createElement("div");i.style.margin="5px",i.style.borderRadius="55px",i.style.position="relative",i.style.background=se,i.style.color="#ffffff",i.style.width="70%",i.style.textAlign="center",i.style.height="100px",i.style.justifyContent="center",i.style.display="flex",i.style.alignItems="center";const n=document.createElement("p");n.style.width="90%",n.style.padding="2%",n.style.fontSize="0.9em",n.style.display="inline-block",n.style.letterSpacing="normal",n.style.wordSpacing="normal",n.style.verticalAlign="middle",n.style.textRendering="auto",n.style.textAlign="center";const s=document.createElement("b");s.textContent=t.dataTitle;const o=document.createElement("br"),a=document.createTextNode(t.dataDescription),c=document.createElement("img");c.classList.add("graph"),c.src=t.dataIcon,c.alt="graph",c.style.width="76px",c.style.height="76px",c.style.boxSizing="border-box",c.style.borderRadius="50%",c.style.position="relative",c.style.marginLeft="2%",c.style.border=`4px solid ${se}`,c.style.display="inline-block",c.style.letterSpacing="normal",c.style.wordSpacing="normal",c.style.verticalAlign="middle",c.style.textRendering="auto",c.style.textAlign="center";const l=document.createElement("div");l.id=`missclick-${t.id}`,l.style.right="0",l.style.top="0",l.style.height="100%",l.style.width=`${t.widthOfMissclickArea}px`,l.style.zIndex="2",l.style.position="absolute",l.style.alignItems="start",l.style.justifyContent="center",l.style.display="flex";const u=document.createElement("div");return u.id=`close-${t.id}`,u.innerHTML="✕",u.style.fontSize="20px",u.style.marginTop="10px",u.style.zIndex="23",u.style.display="inline-block",u.style.width="24px",u.style.height="24px",u.style.background="transparent",u.style.textAlign="center",u.style.color="#a6a0a7",u.style.letterSpacing="normal",u.style.wordSpacing="normal",u.style.verticalAlign="middle",u.style.textRendering="auto",u.onmouseover=()=>{u.style.background="#a0a0ff"},u.onmouseout=()=>{u.style.background="transparent"},n.appendChild(s),n.appendChild(o),n.appendChild(a),i.appendChild(n),l.appendChild(u),e.appendChild(i),e.appendChild(c),e.appendChild(l),{content:e,resizeFunc:r}})({id:this.getAttribute("id"),position:r,offset:e,dataTitle:this.getAttribute("data-title"),dataDescription:this.getAttribute("data-description"),dataIcon:this.getAttribute("data-icon"),notePaddingRightStyleRaw:"",widthOfMissclickArea:50});this.shadowRoot.appendChild(o.content),this.#Rt=o.resizeFunc;const a=this.shadowRoot.getElementById(`note-${this.getAttribute("id")}`),c=this.shadowRoot.getElementById(`close-${this.getAttribute("id")}`),l=this.shadowRoot.getElementById(`missclick-${this.getAttribute("id")}`);if(this.hasAttribute("data-imp-link")){let t=this.getAttribute("data-imp-link");window[ce]&&(t+=`&utsid=${window[ce]}`),t+=`&cbpage=${encodeURIComponent(P())}`,t+=`&cbref=${encodeURIComponent(B())}`;const e=document.createElement("img");e.src=t.toString(),e.style.display="none",e.width=0,e.height=0,a.appendChild(e)}O(a,"click",this.click),O(c,"click",this.close),O(l,"click",this.missclick)}resize(){this.#Rt&&this.#Rt()}}var ue=le,de=class{#e={};#r;#s;#b="";#Pt;#m=!1;#$t=!1;#x="57.0";#Lt=[];#zt=null;#ht=10;#S=!1;constructor(t){this.#r=new y(`ipp_new_${t.zoneId}`),this.#r.debug("init ipp with config:",t),this.#e=t,this.#s=window[t.adcashGlobalName],customElements.get("in-page-message")||customElements.define("in-page-message",ue),t.tagVersionSuffix&&(this.#x+=t.tagVersionSuffix),O(window,"resize",(()=>{var t;n()(t=this.#Lt).call(t,(t=>{let{htmlElement:e}=t;e&&e.resize()}))})),this.#s.getClientHints(!1).then((t=>{this.#b=t})).finally((()=>{f()((()=>{this.#ft()}),1e3*this.#e.delay)}))}#C(){let t=`${window.location.protocol}//${this.#e.adserverDomain}/script/push.php`;if(this.#e.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#e.adblockSettings,r=`/${it("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${r}`}return t+=`?r=${this.#e.zoneId}&ipp=1`,this.#Pt=et?this.#e.renderPosMobile:this.#e.renderPosDesktop,t+=`&mads=${this.#e.maxAds}&position=${this.#Pt}`,this.#e.isAutoTag&&(t+=`&czid=${this.#e.collectiveZoneId}&atag=1`),this.#e.aggressivity&&(t+=`&aggr=${this.#e.aggressivity}`),this.#e.adblockSettings&&(t+="&abtg=1"),this.#m&&(t+="&rbd=1"),this.#e.recordPageView&&(t+="&ppv=1"),this.#e.linkedZoneId&&(t+=`&pblcz=${this.#e.linkedZoneId}`),this.#e.abTest&&(t+=`&ab_test=${this.#e.abTest}`),this.#e.sub1&&(t+=`&sub1=${encodeURIComponent(this.#e.sub1)}`),this.#e.adblockSettings&&this.#e.adblockSettings.adbVersion&&(t+=`&adbv=${this.#e.adblockSettings.adbVersion}`),t=t+`&srs=${this.#s.getSesionRandomString()}`+`&ufp=${encodeURIComponent(this.#e.uniqueFingerprint)}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(B())}`,this.#b&&(t+=this.#b),this.#zt&&(t+="&ipptr=1"),this.#e.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=ippg",this.#r.debug(`bid url: ${t}`),nt(t)):(this.#r.debug(`bid url: ${t}`),t)}#Ft(t){var e;this.#r.debug(`rebid after ${t} sec`),f()(v()(e=this.#ft).call(e,this),1e3*t)}#bt(){this.#ht<1200&&(this.#ht*=2)}#mt(){this.#ht=10}#Nt(){this.#Ft(this.#ht),this.#bt()}async#ft(){if(this.#Ut()>=this.#e.maxAds||document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)return this.#r.debug("max ads reached or fullscreen."),void(this.#e.refreshRate>0&&this.#Ft(this.#e.refreshRate));let t,e;try{if(t=await fetch(this.#C()),!t.ok)throw new Error(`HTTP error! Status: ${t.status}`)}catch(t){return this.#r.error(t),this.#e.adblockSettings&&!this.#S?(this.#r.debug("fetch failed. adb present - switch to adb mode"),this.#S=!0,this.#s.enableAdbMode(),void this.#ft()):this.#s.isAdbMode()?void this.#r.debug("fetch failed with adb mode on. exit"):void this.#Nt()}return 204===t.status?(this.#r.debug("unsold inventory!"),this.#m=!0,void this.#Nt()):200!==t.status&&202!==t.status?(this.#r.error(`response status ${t.status} not recognised!`),void this.#Nt()):(this.#m=!0,e=await t.json(),this.#r.debug("response data:",e),202===t.status?e.capped_ttl?(this.#r.debug("capped!"),void this.#Ft(e.capped_ttl)):(e.hp&&this.#Bt(e.hp),void this.#Nt()):(e.hp&&this.#Bt(e.hp),e.fallback?this.#Ot(e.fallback)?void this.#r.debug("fallback rendered. exit!"):void this.#Nt():(this.#mt(),this.#b&&(e.impression_url&&(e.impression_url+=this.#b),e.click_url&&(e.click_url+=this.#b)),2===e.type?this.#zt?this.#r.debug("custom ipp html already present"):this.#Ht({script:e.script||"",link:e.click_url,impressionLink:e.impression_url||null}):(this.#Lt.push({title:e.title||"",description:e.description||"",icon:e.icon||e.image,link:e.click_url,impressionLink:e.impression_url||null}),this.#Dt()),void(this.#e.refreshRate>0&&this.#Ft(this.#e.refreshRate)))))}#Ut(){return this.#zt?this.#Lt.length+1:this.#Lt.length}#Ot(t){this.#r.debug("fallback script str decoded:",t);const e=(new DOMParser).parseFromString(t,"text/html").querySelector("script");if(!e)return this.#r.error("invalid fallback script. move on"),!1;this.#r.debug("fallback script:",e);const r=document.createElement("script");for(const t of e.attributes)r.setAttribute(t.name,t.value);return r.src||(r.textContent=e.textContent),document.body.appendChild(r),!0}#Bt(t){if(this.#$t)return void this.#r.debug("hp already attached");if(this.#e.isAutoTag)return void this.#r.debug("hp not allowed when autotag");this.#$t=!0;const e=JSON.parse(atob(t));this.#r.debug("attach hp. hp data:",e);const r={zoneId:e.pop_zone_id.toString(),linkedZoneId:e.source_zone_id.toString(),isHPop:!0};var i;e.attributes&&(e.attributes["element-list"]&&(r.targetElementsCssSelector=e.attributes["element-list"],r.triggerOnTargetElementsClick="allow"===e.attributes["element-action"]),e.attributes["country-list"]&&(r.targetCountries=re()(i=e.attributes["country-list"]).call(i).split(","),r.triggerOnTargetCountries="allow"===e.attributes["country-action"])),this.#s.runPop(r)}#Ht(t){this.#zt=t;const e=(new DOMParser).parseFromString(this.#zt.script,"text/html").querySelector("script"),r=document.createElement("script");if(e)for(const t of e.attributes)r.setAttribute(t.name,t.value);r.src||(r.innerText=e.innerText);const i=()=>{this.#r.debug("CT-CLICK"),fetch(this.#zt.link,{mode:"no-cors"}),document.removeEventListener("ct-click",i)},n=()=>{this.#r.debug("CT-CLOSE"),document.removeEventListener("ct-click",i),document.removeEventListener("ct-close",n),this.#zt=null,document.body.removeChild(r)};O(document,"ct-click",i),O(document,"ct-close",n);let s=this.#zt.impressionLink;window[ce]&&(s+=`&utsid=${window[ce]}`),s+=`&cbpage=${encodeURIComponent(P())}`,s+=`&cbref=${encodeURIComponent(B())}`,(async()=>{try{await fetch(s.toString())}catch(t){return this.#r.debug(t),void(this.#e.adblockSettings&&!this.#s.isAdbMode()&&(this.#r.debug("imp failed: try alt domain and path"),this.#s.enableAdbMode()))}document.dispatchEvent(new CustomEvent("impression-event"))})(),r.onerror=()=>{this.#r.debug("custom html script failed to load"),this.#zt=null},document.body.appendChild(r)}#Dt(){var t,e;this.#r.debug("drawing.."),n()(t=this.#Lt).call(t,(t=>{let{htmlElement:e}=t;e&&e.remove()})),n()(e=this.#Lt).call(e,((t,e)=>{const r=document.createElement("in-page-message");r.setAttribute("doskip","1"),r.setAttribute("id",e.toString()),r.setAttribute("data-icon",t.icon),r.setAttribute("data-title",t.title),r.setAttribute("data-description",t.description),r.setAttribute("data-offset-top",this.#e.offsetTop),r.setAttribute("data-render-pos-desktop",this.#e.renderPosDesktop),r.setAttribute("data-render-pos-mobile",this.#e.renderPosMobile),t.impressionLink&&(r.setAttribute("data-imp-link",t.impressionLink),t.impressionLink=null,document.dispatchEvent(new CustomEvent("impression-event"))),r.addEventListener(oe,(()=>{var i;if(et||this.#e.adblockSettings&&this.#s.isAdbMode()){const e=document.createElement("a");e.href=t.link,e.rel="noopener, noreferrer",e.target="_blank",e.click()}else try{window.open(t.link,"_blank","noopener,noreferrer")}catch{}r.remove(),h()(i=this.#Lt).call(i,e,1),this.#Dt()})),r.addEventListener(ae,(()=>{var t;r.remove(),h()(t=this.#Lt).call(t,e,1),this.#Dt()})),t.htmlElement=r,document.body.appendChild(r)}))}},he=r(111),ge=r.n(he),fe=r(8607),pe=r.n(fe),ve=class{#s;#e={};#r;#jt="";#Mt;#l=null;#_t=null;#Vt=null;#Wt=null;#qt;#Gt;#v="youradexchange.com";#Zt="velocecdn.com";#Qt;#o;#S=!1;#x="57.0";constructor(t){this.#r=new y(`banner_${t.zoneId}`),this.#s=window[t.adcashGlobalName],this.#r.debug("init banner with config:",t),this.#e=t,this.#l=this.#e.zoneId,this.#_t=this.#e.width,this.#Vt=this.#e.height,this.#Wt=this.#e.renderIn,this.#o=this.#e.adblockSettings,this.#e.currentScript&&(this.#Qt=this.#e.currentScript),this.#qt=this.#Gt=document.body.clientWidth||window.innerWidth,t.tagVersionSuffix&&(this.#x+=t.tagVersionSuffix),this.#r.debug("tag version:",this.#x),this.#Jt()}#Kt(){const t=this.#Mt.impression_url;(new Image).src=t}async#Jt(){this.#r.debug("get initial ad and config"),this.#jt=await R(this.#r);const t=await this.#Yt();let e;this.#r.debug("URL to fetch",t);try{e=await fetch(t)}catch(t){return this.#r.error(t),this.#o&&!this.#S?(this.#r.debug("fetch failed: try alt domain and path"),this.#S=!0,this.#s.enableAdbMode(),void this.#Jt()):this.#s.isAdbMode()?void this.#r.debug("fetch failed: alt domain and path blocked. exit"):void this.#r.debug("fetch failed. exit")}200===e.status||202===e.status?(this.#r.debug("initial fetch received 200 or 202"),this.#Mt=await e.json(),this.#Xt()):204===e.status&&this.#r.debug("initial fetch received 204. No inventory")}async#Yt(){let t=`${window.location.protocol}//${this.#v}/script/banner.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#o,r=`/${it("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${r}`}return t+=`?r=${this.#l}`,t+=`&cbpage=${encodeURIComponent(P())}`,t+=`&cbref=${encodeURIComponent(B())}`,t+=`&cbdescription=${encodeURIComponent(H("description"))}`,t+=`&cbkeywords=${encodeURIComponent(H("keywords"))}`,t+=`&cbtitle=${encodeURIComponent(U())}`,t+=`&srs=${z()}`,t+=`&ufp=${encodeURIComponent(this.#e.uniqueFingerprint)}`,t+=`&atv=${this.#x}`,this.#e.sub1&&(t+=`&sub1=${encodeURIComponent(this.#e.sub1)}`),this.#o&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=bnr",nt(t)):t}#Xt(){if(!this.#Mt||"undefined"===this.#Mt)return;if(this.#Mt.hp&&(this.#te(this.#Mt.hp),1===ge()(this.#Mt).length))return;let t;t=this.#Wt?document.querySelector(this.#Wt):this.#e.currentElement?this.#e.currentElement:this.#Qt.parentElement,this.#ee(t);const e=this.#re();t.appendChild(e)}#re(){let t;return this.#Mt.fallback?(this.#r.debug("Banner type - fallback"),t=this.#ie()):1===this.#Mt.render_image?(this.#r.debug("Banner type - image"),t=this.#ne()):(this.#r.debug("Banner type - html"),t=this.#se()),this.#Mt.fallback||this.#Kt(),this.#s||this.#oe(),t}#ne(){const t=document.createElement("a");t.href=this.#Mt.click_url,t.target="_blank",t.rel="noopener, noreferrer",t.style.display="block",t.style.width=`${this.#_t?this.#_t:this.#Mt.width}px`,t.style.height=`${this.#Vt?this.#Vt:this.#Mt.height}px`,t.style.position="relative",t.style.top=0,t.style.left=0,t.style.right=0,t.style.bottom=0,t.setAttribute("doskip","1"),t.setAttribute(Bt,"1");const e=document.createElement("img");if(e.src=this.#Mt.image_url,e.target="_blank",e.width=this.#_t?this.#_t:this.#Mt.width,e.height=this.#Vt?this.#Vt:this.#Mt.height,this.#Mt.width>this.#qt&&this.#Mt.force_resize){const r=(this.#_t?this.#_t:this.#Mt.width)/this.#Gt;t.style.width=`${this.#Gt}px`,t.style.height=`${Math.round((this.#Vt?this.#Vt:this.#Mt.height)/r)}px`,e.style="max-width: 100%;",e.width=this.#Gt,e.height=Math.round((this.#Vt?this.#Vt:this.#Mt.height)/r)}return t.appendChild(e),t}#se(){const t=`banner_${this.#l}`,e=document.createElement("div");e.id=t,e.style.display="block",e.style.width=`${this.#_t?this.#_t:this.#Mt.width}px`,e.style.height=`${this.#Vt?this.#Vt:this.#Mt.height}px`,e.style.position="relative",e.style.top="0",e.style.left="0",e.style.right="0",e.style.bottom="0",e.width=this.#_t?this.#_t:this.#Mt.width,e.height=this.#Vt?this.#Vt:this.#Mt.height,e.setAttribute("doskip","1"),e.setAttribute(Bt,"1"),this.#ae(e,this.#Mt.html);const r=()=>{this.#r.debug("click recorded:",this.#Mt.click_url),(new Image).src=this.#Mt.click_url,n()},i=()=>{this.#r.debug("click on divNode"),r()},n=()=>{e.removeEventListener("click",i),clearInterval(s)};e.addEventListener("click",i);const s=u()((()=>{document.activeElement&&"IFRAME"===document.activeElement.tagName&&((t,e)=>{let r=t.parentElement;for(;r;){if(r.id===e)return r;r=r.parentElement}return null})(document.activeElement,t)&&(this.#r.debug("click on iframe"),r())}),200);return e}#ae(t,e){var r;t.innerHTML=e,n()(r=m()(t.querySelectorAll("script"))).call(r,(t=>{var e;const r=document.createElement("script");n()(e=m()(t.attributes)).call(e,(t=>{r.setAttribute(t.name,t.value)}));const i=document.createTextNode(t.innerHTML);r.appendChild(i),t.parentNode.replaceChild(r,t)}))}#ie(){const t=`banner_${this.#l}`,e=document.createElement("iframe");return e.id=t,e.style.border="medium none",e.style.padding="0",e.style.margin="0",e.style.width=`${this.#_t?this.#_t:this.#Mt.width}px`,e.style.height=`${this.#Vt?this.#Vt:this.#Mt.height}px`,e.width=this.#_t?this.#_t:this.#Mt.width,e.height=this.#Vt?this.#Vt:this.#Mt.height,e.scrolling="no",e.vspace="0",e.hspace="0",e.allowtransparency="true",e.allowfullscreen="true",e.srcdoc=this.#Mt.fallback,e}#te=t=>{const e=JSON.parse(atob(t));if(this.#s){const t={zoneId:e.pop_zone_id.toString(),linkedZoneId:e.source_zone_id.toString()};var r;return e.attributes&&(e.attributes["element-list"]&&(t.targetElementsCssSelector=e.attributes["element-list"],t.triggerOnTargetElementsClick="allow"===e.attributes["element-action"]),e.attributes["country-list"]&&(t.targetCountries=re()(r=e.attributes["country-list"]).call(r).split(","),t.triggerOnTargetCountries="allow"===e.attributes["country-action"])),void this.#s.runPop(t)}const i=document.createElement("script");if(i.type="text/javascript",i.src=`//${this.#Zt}/script/suv4.js`,i.setAttribute("zid",e.pop_zone_id),i.setAttribute("lpzi",e.source_zone_id),i.setAttribute("data-adel","lwsu"),i.setAttribute("adlm","ipvipplm"),e.attributes)for(const t in e.attributes)i.setAttribute(t,e.attributes[t]);document.body.appendChild(i)};#ee(t){if(this.#r.debug("Initial viewport:",this.#qt),this.#Mt.width>this.#qt&&this.#Mt.force_resize){var e=window.getComputedStyle(t),r=pe()(e.paddingLeft),i=pe()(e.marginLeft);this.#Gt=t.clientWidth-r-i,this.#r.debug("Parent element width:",this.#Gt)}}#oe(){const t=document.createElement("a");t.style.display="none",t.style.visibility="hidden",t.style.position="relative",t.style.left="-1000px",t.style.top="-1000px",t.href=this.#Mt.bot_link,document.body.appendChild(t)}};const be="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",me="adblock-settings",ye=(()=>{let t=document.currentScript;return t||(t=document.getElementById("aclib")),t||(t=document.getElementById("adcash-lib")),t})();let we=null;var xe=class{#Zt;#ce={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1};#le;#b;#ue=new(e());#r;#de;#he={mousedown:[],click:[],touchstart:[]};#ge={mousedown:[],scroll:[],click:[],touchstart:[]};#v="youradexchange.com";#o=null;#fe;#pe;#ve=!1;isShowingPop=!1;#T;constructor(){if(we)return we;we=this,this.#r=new y("aclib_adbl"),window.addEventListener("mousedown",(t=>{var e;this.#r.debug("win mousedown with capture: in"),n()(e=this.#he.mousedown).call(e,(e=>{this.#r.debug("win mousedown with capture: calling observer"),e.callback(t)}))}),!0),window.addEventListener("mousedown",(t=>{var e;this.#r.debug("win mousedown: in"),n()(e=this.#ge.mousedown).call(e,(e=>{this.#r.debug("win mousedown: calling observer"),e.callback(t)}))}),!1),window.addEventListener("click",(t=>{var e;this.#r.debug("win click with capture: in"),n()(e=this.#he.click).call(e,(e=>{this.#r.debug("win click with capture: calling observer"),e.callback(t)}))}),!0),window.addEventListener("click",(t=>{var e;this.#r.debug("win click: in"),n()(e=this.#ge.click).call(e,(e=>{this.#r.debug("win click: calling observer"),e.callback(t)}))}),!1),document.addEventListener("mousedown",(t=>{var e;this.#r.debug("doc mousedown: in"),n()(e=this.#ge.mousedown).call(e,(e=>{this.#r.debug("doc mousedown: calling observer"),e.callback(t)}))})),document.addEventListener("mousedown",(t=>{var e;this.#r.debug("doc mousedown with capture: in"),n()(e=this.#he.mousedown).call(e,(e=>{this.#r.debug("doc mousedown with capture: calling observer"),e.callback(t)}))}),!0),window.addEventListener("scroll",(t=>{var e;n()(e=this.#ge.scroll).call(e,(e=>{e.callback(t)}))})),document.addEventListener("click",(t=>{var e;this.#r.debug("doc click: in"),n()(e=this.#ge.click).call(e,(e=>{this.#r.debug("doc click: calling observer"),e.callback(t)}))})),document.addEventListener("click",(t=>{var e;this.#r.debug("doc click with capture: in"),n()(e=this.#he.click).call(e,(e=>{this.#r.debug("doc click with capture: calling observer"),e.callback(t)}))}),!0),this.getClientHints(),this.#pe=z(),this.#fe=(()=>{const t=Math.floor(11*Math.random())+5;let e="";for(let r=0;r{window[e]&&window[e]===t||(window[e]=t)}),500)}#xe(){this.#de&&(clearInterval(this.#de),this.#de=null)}subscribe(t,e,r){if(!this.#he[t]||!this.#ge[t])throw new Error(`${t} is not observable!`);r?this.#he[t].push(e):this.#ge[t].push(e)}unsubscribe(t,e,r){if(!this.#he[t]||!this.#ge[t])throw new Error(`${t} is not observable!`);if(r)for(let r=0;r{const e=document.createElement("link");e.rel="dns-prefetch",e.href=`//${t}`,document.head.appendChild(e)}))}f()(v()(t=this.#be).call(t,this),100)}getZoneIds(){return m()(this.#ue)}runPop(t){this.#we();const{zoneId:e,refreshRate:r,delay:i,targetElementsCssSelector:n,triggerOnTargetElementsClick:s,targetCountries:o,triggerOnTargetCountries:a,sub1:c,sub2:l,publisherUrl:u,storeUrl:d,c1:h,c2:g,c3:f,pubHash:p,pubClickId:v,pubValue:b,fallbackOn:m,isAutoTag:y,collectiveZoneId:w,aggressivity:x,recordPageView:k,linkedZoneId:S,abTest:A,tagVersionSuffix:T}=t;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");if(void 0!==r&&(!gt(r)||r<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==i&&(!gt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==n){if(!ft(n))throw new Error("targetElementsCssSelector is not a string");if(!(t=>{try{document.createDocumentFragment().querySelector(t)}catch{return!1}return!0})(n))throw new Error("targetElementsCssSelector is not a valid css selector");if(!ht(s))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==o){if(!(t=>{if(!lt()(t))return!1;if(0===t.length)return!1;for(let e=0;e0&&f<10&&(f<5?f*=60:f=30),new de({zoneId:e,refreshRate:f??60,delay:r??0,maxAds:i??1,renderPosDesktop:n??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:c,collectiveZoneId:l,aggressivity:u,recordPageView:d,abTest:h,tagVersionSuffix:g,adserverDomain:this.#v,adblockSettings:this.#o,adcashGlobalName:this.#fe,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#T})}runBanner(t){this.#we();const{zoneId:e,width:r,height:i,renderIn:n,sub1:s,currentScript:o}=t;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");if(void 0!==r&&!gt(r))throw new Error("Banner width is not an integer");if(void 0!==i&&!gt(i))throw new Error("Banner height is not an integer");if(this.#ue.has(e))return void this.#r.error(`zone ${e} already loaded`);let a;this.#ue.add(e),this.#r.debug("loading banner on page",e),n||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement)),new ve({zoneId:e,width:r,height:i,renderIn:n,currentElement:a,sub1:s,adcashGlobalName:this.#fe,uniqueFingerprint:this.#T,adblockSettings:this.#o})}runInterstitial(t){if(this.#ce.interstitial)return void this.#r.error("interstitial zone already loaded on page");this.#ce.interstitial=!0,this.#we();const{zoneId:e,sub1:r,isAutoTag:i,collectiveZoneId:n,aggressivity:s,recordPageView:o,abTest:a,tagVersionSuffix:c}=t;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");this.#r.debug("loading interstitial on page");const l={zoneId:e,sub1:r,isAutoTag:i,collectiveZoneId:n,aggressivity:s,recordPageView:o,abTest:a,tagVersionSuffix:c,adcashGlobalName:this.#fe,adserverDomain:this.#v,adblockSettings:this.#o,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#T};this.#ue.add(e),new ne(l)}async#ke(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.#r.debug("fetch collective zone config");let r=`${window.location.protocol}//${this.#v}/ad/czcf.php`;if(this.isAdbMode()){const t=`/${it("abcdefgh0123456789")}`;r=`${window.location.protocol}//${this.#o.adserverDomain}${t}`}r+=`?cz=${t}`;const i=await this.getClientHints();let n;i&&(r+=i),this.isAdbMode()&&(r+="&sadbl=2",r+="&fmt=atg",r=nt(r)),this.#r.debug("collective zone config url: ",r);try{n=await fetch(r)}catch(r){return this.#r.error(r),this.#o&&e?(this.#r.debug("collective zone config fetch failed: try alt domain and path"),this.enableAdbMode(),this.#ke(t,!1)):null}return 200!==n.status?null:n.json()}async runAutoTag(t){if(this.#ce.autoTag)return void this.#r.error("autotag zone already loaded on page");this.#ce.autoTag=!0,this.#we();const e=t.zoneId;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");const r=await this.#ke(e);if(r)if(this.#r.debug("collective zone config:",r),r.rotationList)this.#r.debug("running in ROTATION MODE"),this.#ue.add(e),new Zt({adcashGlobalName:this.#fe,collectiveZoneConfig:r,adserverDomain:this.#v,adblockSettings:this.#o,clientHintsQueryStr:this.#b,tagVersionSuffix:t.tagVersionSuffix,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#T});else{this.#r.debug("running in NORMAL MODE");const i=r.indexedFormats;let n=!0;for(const s in i){switch(s){case"suv4":case"pop":this.runPop({zoneId:i[s].zoneId.toString(),targetElementsCssSelector:i[s]["element-list"],triggerOnTargetElementsClick:"allow"===i[s]["element-action"],targetCountries:i[s]["country-list"],triggerOnTargetCountries:"allow"===i[s]["country-action"],isAutoTag:!0,collectiveZoneId:e,aggressivity:r.aggressivity,abTest:r.ab_test,recordPageView:n,tagVersionSuffix:t.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:i[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:e,aggressivity:r.aggressivity,abTest:r.ab_test,recordPageView:n,tagVersionSuffix:t.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:i[s].zoneId.toString(),refreshRate:i[s].rr,delay:i[s].d,maxAds:i[s].mads,renderPosDesktop:i[s]["render-pos-desktop"],renderPosMobile:i[s]["render-pos-mobile"],offsetTop:i[s]["offset-top"],isAutoTag:!0,collectiveZoneId:e,aggressivity:r.aggressivity,abTest:r.ab_test,recordPageView:n,tagVersionSuffix:t.tagVersionSuffix});break;default:this.#r.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${e}`)}n=!1}}else this.#r.error(`failed to fetch collective zone config! czid: ${e}`)}};const ke=new y("aclib_adblock_index");window.Adcash?ke.debug("lib already on page. exit"):(ke.debug("load lib on page"),window.Adcash=xe,window.AtcshAltNm=xe,window.aclib=new xe)}()}();(function(){if(window.aclib){aclib.runAutoTag({zoneId:"fj99nnhcns"});}else{console.log("err loading adbtgcdn");}})();

Jaron Ennis Vs Romain Villa (25-1, 24 KOs)

The winner of this fight will move closer to a shot at the top of the division. Villa has been impressive since his debut in 2022, and his recent win over Rashidi Ellis gives him plenty of confidence heading into this matchup.

Ennis will need to keep Villa on his back foot and avoid taking unprotected shots. Otherwise, he will be in trouble.

Interim IBF welterweight champion Jaron “Boots” Ennis (30-0, 27 KOs) will defend his title against hard-hitting Roiman Villa (26-1, 24 KOs) on Saturday night at The Ballroom in Atlantic City.

The unbeaten welterweight champion Jaron “Boots” Ennis (30-0, 27 KOs) is preparing to defend his Interim IBF title against hard-hitting Roiman Villa (26-1, 24 KOs) on Saturday night at The Ballroom in Atlantic City. Ennis is one of Philadelphia’s brightest prospects, and has quickly become a force to be reckoned with in the division. He is a talented boxer with a unique combination of technical prowess and innate power.

Despite the setback in his pursuit of an IBF world title unification against undefeated super-featherweight champion Mairis Briedis, former WBA cruiserweight champion Rolando Romero (28-1, 21 KOs) is determined to return to the top of his sport. The Venezuelan boxer recently spoke about his future plans, and his thoughts on current three-division world champion Vasiliy Lomachenko.

Toledo native Jared Anderson (14-0, 14 KOs) is back in action on Saturday, returning to his hometown to take on former heavyweight champion Charles Martin (29-3-1, 26 KOs) at the Huntington Center in Toledo. This is the first time that the Top Rank fighter will fight outside of his home state.

The bout will be televised live on SHOWTIME. Also on the card will be talented lightweight Antonio Pauldo (15-1, 7 KOs) taking on veteran journeyman Fredy Guerrero (18-7, 16 KOs). The 10-round bout will be for the WBA regional super featherweight championship. The bout will air on the same card as a televised bout featuring undefeated IBF super bantamweight champion Naoya Inoue against WBA and WBC super-bantamweight champion Ral Amaru. The card will be streamed online by DAZN. It will be available in the US, Canada, UK, and Ireland. You can watch it by logging on to DAZN’s website or downloading the DAZN app.

Ennis is a slugger

Villa was a slugger who had one big win this year when he upset the previously undefeated Rashidi Ellis. However, he has not proven to be the type of fighter that can take advantage of a brash and aggressive challenger like Boots Ennis.

Ennis was sharper than he’d been in the previous two fights, and he used the jab to set up his lethal power punches. He had Villa hurt for the first time in round six, but the 30-year-old fought on, showing off his tremendous fortitude and a solid chin.

But Ennis continued to hammer away in rounds seven and eight, sending blood flying from Villa’s face with numerous snapping shots. Despite receiving long looks from the ringside doctor after those rounds, Villa soldiered forward in hopes of changing the tide. He would not get the chance as Ennis closed the fight in style early in round 10, landing a vicious one-two that sent Villa tumbling to the mat and referee David Fields stopped the fight 1:27 into the round.

Although Villa has a good chin, he hasn’t shown the kind of skills that make him more than just another slugger. He has a tendency to engage at close range, which makes him susceptible to being caught by a volley of shots. In addition, his lack of footwork makes it easier for Ennis to move in and put him on the back foot.

While Villa wishes to be considered among the big boys in the welterweight division, he knows that he’s going to have to fight some much better opponents if he wants to be taken seriously. He will definitely be watching the upcoming Terence Crawford-Errol Spence Jr bout, and is eager to step up his level of competition.

Villa is a power puncher

The Venezuelan Villa is a powerful puncher who will look to end the fight with one or two well-placed blows. However, he can also be too reliant on his power. This will likely cause him problems against a boxer who can move around the ring and avoid his hooks. Against Ellis, Villa will likely have to fight off some early adversity, but he’ll make the most of his opportunities when they come.

Villa’s last fight was a surprisingly entertaining affair. He fought the tough Karen Chukhadzhian to a majority decision win. In the fight, Villa showed he could take a lot of punishment and even landed some eye-catching shots. However, he did not look very good outside of the clinch where his strength and power were on display.

He will face a much more dangerous opponent in Rashidi Ellis, who is undefeated but hasn’t faced any top opponents. Villa will have to improve his defensive skills if he wants to have any chance of winning this fight.

Ellis is a talented boxer who can use his speed and elusiveness to frustrate Villa. He will likely put Villa in trouble with his jab and move into range to land his devastating power punches. In addition, Ellis will likely be able to catch Villa when he is too reliant on his power.

Ennis is a better boxer

When Jaron Ennis successfully defended his interim IBF welterweight title against Roiman Villa in Atlantic City last month, he sent a message to the division’s elite. He wants a shot at the winner of Errol Spence Jr. vs. Terence Crawford. In order to earn that fight, Ennis needs to prove himself in a high-profile bout. If he can do that, he will have a much easier time when it comes to securing a title shot.

Villa, who is from the same area of Philadelphia as Ennis, has won most of his fights by knockout. But Ennis’ superior skill set is enough to give him the edge in this one. In addition to his great hand speed, Ennis has excellent timing and a variety of offensive moves. He can punch from both the orthodox and southpaw stances, and is adept at working the body.

In his most recent outing, Ennis defeated Ukrainian underdog Karen Chukhadzhian by a unanimous decision. The win boosted his standing in the welterweight division, and earned him a spot on the card for the Gervonta Davis-Hector Luis Garcia undercard.

But if Ennis believes he is the best in the division, he will have to prove it against Villa, who has scored two knockdowns against undefeated opponents in his career. Despite being an underdog, Villa has a chance to upset Ennis tonight on Showtime.

Before beating Rashidi Ellis in January, Villa was a blip on the boxing radar. But after the win, he became a major player in the welterweight division and has earned a lot of attention for his power. He will be a tough challenge for Ennis on Saturday night in Atlantic City.

Villa is a better fighter

Jaron “Boots” Ennis (30-0, 27 KOs) will defend his interim IBF welterweight title against hard-hitting Romain Villa (26-1, 24 KOs) on Saturday night. The fight will be held at Boardwalk Hall in Atlantic City, New Jersey, and will be broadcast on Showtime. While Villa hasn’t faced an elite-level opponent yet, he is a good fighter and will give Ennis a solid test. Ennis is a superior boxer and will likely win the fight.

The last time Villa fought was six months ago, when he beat Rashidi Ellis in a 12 round majority decision. Although Ellis was able to keep Villa off him, it wasn’t a close fight. Villa landed plenty of flush punches and was able to make Ellis feel his presence in the fight. He also showed off his great footwork and stalking style.

Villa is a better fighter than many think and can hold his own against the best in the division. He has a decent chin and is a solid finisher. He’s also a switch-hitter, fighting out of the orthodox and southpaw stances. However, he needs to work on his defense and punching combinations.

While Ennis hasn’t shown the ability to adjust his style against the best opponents in the welterweight division, he has improved with every outing and is now in a much better position than when he first entered the sport. He’s now a legitimate contender and should continue his ascent up the rankings by beating Villa on Saturday. If he can put on a good showing, he should be able to knock out Villa in the eighth round. If Villa can score a big shot in the later rounds, it may be enough to steal a split decision from the judges.