\n\n\n',Xt=e=>{const t=e?"gray":"white";return``};var ei=o(3128),ti=o.n(ei),ii=o(8075),ri=o.n(ii),ni=o(8462),si=o.n(ni),oi=o(653),ai=o.n(oi),ci=o(7950),li=o.n(ci);const di=e=>"boolean"==typeof e,ui=e=>si()(e),hi=e=>"[object String]"===Object.prototype.toString.call(e),gi=e=>{var t;return li()(t=["top","bottom"]).call(t,e)};const pi=()=>Math.round((new Date).getTime()/1e3);var fi=e=>{const t=new a("user_engagement"),i="utsid-send";let n,o=0,c=!1,l=!1,d={clientHints:{},isScrollable:0,totalClicks:0,sessionLength:0,ippMissclicks:0,visible:0,caught:0,lastevent:0,isFullscreen:0,isTabFocused:0,eventImps:0,retryCounts:0,isScrolled:0,isMouseMoved:0,pagePercentageSeen:0,belowTheFoldSeen:0,touchEnd:0,touchMove:0,clicksByType:{idle:0,input:0,video:0,button:0,link:0,img:0},browsingTopics:[],ufp:ie()},u=L(),g=pi();function p(){var i,r;0===d.isFullscreen&&(d.isFullscreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement?1:0),d.isTabFocused=document.hidden||document.mozHidden||document.webkitHidden?0:1,d.sessionStartTime=g,d.sessionId=u,d.sessionLength=pi()-g,d.timeZoneOffset=(new Date).getTimezoneOffset(),d.zones=[],e&&(d.zones=e.getZoneIds()),d.pUrl=encodeURIComponent(I()),d.pReferrer=encodeURIComponent((()=>{const e=document.referrer;return e?O(e):""})()),d.pTitle=encodeURI(U()),d.pDescription=encodeURIComponent(F("description",t)),d.pKeywords=encodeURIComponent(F("keywords",t)),d.pHasIframes=(()=>{const e=document.getElementsByTagName("iframe");return e.length?e.length:0})(),d.pWidth=Math.ceil(window.scrollWidth||document.body.scrollWidth),d.pHeight=Math.ceil(window.scrollHeight||document.body.scrollHeight),d.vWidth=Math.ceil(window.innerWidth||document.body.clientWidth),d.vHeight=Math.ceil(window.innerHeight||document.body.clientHeight),d.inIframe=R(),sessionStorage.getItem("template")&&(d.ippTemplate=sessionStorage.getItem("template")),d.visible=(i=d.vWidth,r=d.vHeight,R()&&(i<10||r<10)?0:1),d.caught=(()=>{let e=0;if(R())try{window.top.location.href}catch(t){e=1}return e})(),d.isScrollable=((e,t)=>{if(e>t){const i=.05;return e-t>Math.ceil(t*i)?1:0}return 0})(d.pHeight,d.vHeight)}function f(){t.debug("Touch move detected."),d.touchMove++,l=!0}function m(){1!==d.isMouseMoved&&(t.debug("Mouse move tracked"),d.isMouseMoved=1,l=!0)}function v(){t.debug("Touch end detected."),d.touchEnd++,l=!0,b()}function b(){if(t.debug("checkScrolling()"),d.pHeight<=d.vHeight)return d.pagePercentageSeen=100,void(d.belowTheFoldSeen=100);var e=Math.ceil(window.scrollTop||document.body.scrollTop),i=Math.ceil((e+d.vHeight)/d.pHeight*100);i>100&&(i=100),i!=d.pagePercentageSeen&&(t.debug("Scroll event detected."),d.isScrolled=1,l=!0),i>d.pagePercentageSeen&&(t.debug("Page percentage seen updated."),d.pagePercentageSeen=i,l=!0);var r=Math.ceil(e/(d.pHeight-d.vHeight)*100);r>100&&(r=100),r>d.belowTheFoldSeen&&(t.debug("Bellow the fold percentage seen updated."),d.belowTheFoldSeen=r,l=!0)}function y(){d.ippMissclicks++,l=!0}function w(e){t.debug("Click tracked"),d.totalClicks++;var i=e.target,r=null;do{null!==r&&""!==r||(r=k(i)),i=i.parentElement}while(i&&"body"!==i.nodeName.toLowerCase()&&"document"!==i.nodeName.toLowerCase());null===r&&(r="idle"),d.clicksByType[r]++,l=!0}function k(e){var t=null,i=["a","video","button","input","textarea","img","select"];return-1!==h()(i).call(i,e.nodeName.toLowerCase())&&("a"===(t=e.nodeName.toLowerCase())?t="link":"textarea"!==t&&"select"!==t||(t="input")),t}function A(){t.debug("Impression tracked"),d.eventImps++}function T(){t.debug("Retry tracked!"),d.retryCounts++}function x(){var e="//usrpubtrk.com/ut/hb.php?cb="+Math.random();return e+="&v=1",t.debug("Target Url: "+e.toString()),e}function S(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!c){if(c=!0,p(),e&&(d.lastevent=1),t.isDebugEnabled&&t.debug("send payload:",JSON.parse(Fe()(d))),"navigator"in window&&"sendBeacon"in window.navigator&&void 0!==navigator.sendBeacon&&void 0!==Blob){d.sentTimestamp=r()();var i=new Blob([Fe()(d)],{type:"text/plain; charset=UTF-8"});navigator.sendBeacon(x(),i)}else{var n="XMLHttpRequest"in window?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");n.open("POST",x(),!0),n.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{d.sentTimestamp=r()(),n.send(Fe()(d))}catch(e){}}d.lastevent=0,c=!1}}function C(){t.debug("visibility state is",document.visibilityState),"hidden"===document.visibilityState&&l?(clearInterval(n),S(),l=!1):"visible"===document.visibilityState&&(n=he()(N,6e4))}function P(){var e=new CustomEvent(i,{detail:{issued:"UT",data:{utsid:u}}});document.dispatchEvent(e)}function N(){if(d.sessionLength=pi()-g,d.sessionLength>=7200)return t.debug("Session limit reached! Send last payload and tear down"),S(),clearInterval(n),t.debug("detaching behavior listeners"),document.removeEventListener("click",w,!1),document.removeEventListener("mousemove",m,!1),document.removeEventListener("scroll",b,!1),document.removeEventListener("in-page-missclick",y,!1),document.removeEventListener("impression-event",A,!1),document.removeEventListener("impression-retry-event",T,!1),document.removeEventListener("touchend",v,!1),document.removeEventListener("touchmove",f,!1),document.removeEventListener("touchcancel",b,!1),document.removeEventListener("visibilitychange",C),void window.removeEventListener("beforeunload",S);0!==o&&1!==o&&5!==o&&10!==o&&o%30!=0||S(),o++}!async function e(){if("complete"===document.readyState||"interactive"===document.readyState)return d.clientHints=await E(t,true),d.browsingTopics=await async function(){let e=[];if("browsingTopics"in document&&document.featurePolicy.allowsFeature("browsing-topics"))try{e=await document.browsingTopics(),t.debug("document.browsingTopics() return value:",e)}catch(e){t.debug("Error calling document.browsingTopics(): ",e)}return e}(),"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?(document.addEventListener("touchend",v,!1),document.addEventListener("touchmove",f,!1),document.addEventListener("touchcancel",b,!1)):(document.addEventListener("mousemove",m,!1),document.addEventListener("scroll",b,!1)),document.addEventListener("click",w,!1),document.addEventListener("impression-event",A,!1),document.addEventListener("impression-retry-event",T,!1),document.addEventListener("in-page-missclick",y,!1),p(),b(),0===o&&N(),n=he()(N,6e4),window[i]=u,P(),s()(P,2e4),document.addEventListener("visibilitychange",C),void window.addEventListener("beforeunload",(()=>{S(!0)}));s()(e,100)}()},mi=o(3038),vi=o.n(mi);const bi="sandboxedDetector";var yi=class{#i;#ue;#he;#ge=!1;#pe=!1;#fe=!1;constructor(e,t,i){this.#i=e,this.#ue=t,this.#he=i}isSandboxed(){return this.#pe}load(){var e;if(this.#ge)return void this.#i.debug("already checked");if(this.#ge=!0,this.#i.debug("load sandbox detector"),!R())return void this.#i.debug("not in iframe. exit");this.#i.debug("iframe detected");const i=this.#he.getState();if(i&&i.expiresAt>r()())return this.#i.debug("previous state present. Expires at:",new Date(i.expiresAt)),i.isSandboxed?(this.#i.debug("sandboxed recently! show overlay"),void(this.#pe=!0)):void this.#i.debug("not sandboxed recently. dont check further");this.#i.debug("attach detector listener to events");const n={zoneId:bi,callback:t()(e=this.#me).call(e,this)};J||this.#ue.subscribe("mousedown",n,!0),this.#ue.subscribe("click",n,!0)}#me(e){if(!e.isTrusted)return void this.#i.debug(`${e.type} on ${e.target.tagName}. Detector skipped: event is not trusted`,e);if(this.#ue.isShowingPop)return void this.#i.debug("detector skipped: pop being currently shown");this.#ue.isShowingPop=!0,this.#i.debug("detector taking action. prevent other pops from showing");let t=null;try{t=window.open("about:blank","_blank")}catch(e){this.#i.error("detector error",e)}t&&t.close(),null===t&&(this.#i.debug("sandbox detected"),this.#pe=!0),this.#he.setState({expiresAt:r()()+36e5,isSandboxed:this.#pe}),J||this.#ue.unsubscribe("mousedown",bi,!0),this.#ue.unsubscribe("click",bi,!0),s()((()=>{this.#ue.isShowingPop=!1}),300)}showSandboxWarningOverlay(){this.#fe||(this.#fe=!0,this.#i.debug("show sandbox warning overlay"),this.#ve())}#be(){const e=document.createElement("div");e.id="sbxwo",vi()(e.style,{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.8)",color:"#fff",zIndex:1e4,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",padding:"20px",boxSizing:"border-box",textAlign:"center"});const t=document.createElement("div");t.innerHTML="\n
Ad Functionality Blocked
\n
\n It looks like your page is running in a sandbox that blocks certain functionality.\n This setting is preventing our ads from working properly.\n Please disable the sandbox restrictions or adjust your settings.\n
\n To continue playing please remove Sandbox from iframe tab or add "allow-popups" to Sandbox\n
\n ',e.appendChild(t),document.body.appendChild(e)}};const wi="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",ki="ZpQw9XkLmN8c3vR3",Ai="adblock-settings",Ti=(()=>{let e=document.currentScript;return e||(e=document.getElementById("aclib")),e||(e=document.getElementById("adcash-lib")),e})();let xi=null;var Si=class{#ye;#we={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1,videoSlider:!1};#ke;#v;#Ae=new(ri());#Te=new(ri());#i;#xe=!1;#Se=!1;#Ce={mousedown:[],click:[],touchstart:[]};#Ee={mousedown:[],scroll:[],click:[],touchstart:[]};#m="adexchangeclear.com";#k="65.0";#o=null;#Ie="aclib";#Re;#Oe=!1;isShowingPop=!1;#S;#Le=!1;#Pe={};#Ne;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(xi)return xi;xi=this;let t="aclib";if(e.classes&&(this.#Pe=e.classes,t="aclib_adbl"),this.#i=new a(t),window.addEventListener("mousedown",(e=>{var t;this.#i.debug("win mousedown with capture: in"),x()(t=this.#Ce.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"),x()(t=this.#Ee.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"),x()(t=this.#Ce.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"),x()(t=this.#Ee.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"),x()(t=this.#Ee.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"),x()(t=this.#Ce.mousedown).call(t,(t=>{this.#i.debug("doc mousedown with capture: calling observer"),t.callback(e)}))}),!0),window.addEventListener("scroll",(e=>{var t;x()(t=this.#Ee.scroll).call(t,(t=>{t.callback(e)}))})),document.addEventListener("click",(e=>{var t;this.#i.debug("doc click: in"),x()(t=this.#Ee.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"),x()(t=this.#Ce.click).call(t,(t=>{this.#i.debug("doc click with capture: calling observer"),t.callback(e)}))}),!0),this.getClientHints(),this.#Re=L(),this.#S=ie(),this.#Ne=new yi(new a("sd"),xi,new ze("sndbxchckiborjforqp2")),this.#i.debug("init adcash lib. listeners attached. ready to publish"),this.#i.debug("is mobile device:",J),window[wi]&&(this.#o=JSON.parse(Fe()(window[wi])),this.#ye=this.#o.cdnDomain,delete window[wi]),window[ki]&&(this.#o=JSON.parse(function(e){var t;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"xR9tB2pL6q7MwVe";const r=atob(e);return A()(t=[...r]).call(t,((e,t)=>String.fromCharCode(e.charCodeAt(0)^i.charCodeAt(t%i.length)))).join("")}(window[ki])),this.#ye=this.#o.cdnDomain,delete window[ki]),this.#o||(this.#ye=new(m())(Ti.src).host,Ti.hasAttribute(Ai)&&(this.#o=JSON.parse(Ti.getAttribute(Ai)),Ti.removeAttribute(Ai))),this.#o&&this.#i.debug("adblock settings:",this.#o),Ti.getAttribute("data-preview"))return this.#i.debug("preview mode"),void(this.#Le=!0);this.#Ue(),this.#$e(),this.#Fe(),this.#Ne.load()}isSandboxed(){return this.#Ne.isSandboxed()}showSandboxWarningOverlay(){this.#Ne.showSandboxWarningOverlay()}async getClientHints(e){if(void 0===this.#ke){this.#ke=await E(this.#i,!0);let e="";for(const t in this.#ke)e+=`&${t}=${this.#ke[t]}`;this.#v=e}return e?this.#ke:this.#v}getCdnDomain(){return this.#ye}getSesionRandomString(){return this.#Re}enableAdbMode(){this.#i.debug("enable adb mode"),this.#Oe=!0}isAdbMode(){return this.#Oe}subscribe(e,t,i){if(!this.#Ce[e]||!this.#Ee[e])throw new Error(`${e} is not observable!`);i?this.#Ce[e].push(t):this.#Ee[e].push(t)}unsubscribe(e,t,i){if(!this.#Ce[e]||!this.#Ee[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)}))}s()(t()(e=this.#Ue).call(e,this),100)}getZoneIds(){return w()(this.#Ae)}runPop(e){const{zoneId:t,delay:i,targetElementsCssSelector:r,triggerOnTargetElementsClick:n,targetCountries:s,triggerOnTargetCountries:o,sub1:a,sub2:c,publisherUrl:l,storeUrl:d,c1:u,c2:h,c3:g,pubHash:p,pubClickId:f,pubValue:m,fallbackOn:v,isAutoTag:b,collectiveZoneId:y,aggressivity:w,recordPageView:k,linkedZoneId:A,abTest:T,tagVersionSuffix:x}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!hi(t))throw new Error("zoneId is not a string!");if(void 0!==i&&(!ui(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r){if(!hi(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(!di(n))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==s){if(!(e=>{if(!ai()(e))return!1;if(0===e.length)return!1;for(let t=0;t{window.PopUnder&&(this.#Ae.add(S.zoneId),new PopUnder(S),clearInterval(e))}),100)}else{this.#i.debug("loading suv5 script on page"),this.#xe=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/suv5.js`,e.onload=()=>{this.#we.pop=!0,this.#xe=!1,b?this.#Ae.add(y):this.#Ae.add(S.zoneId),new PopUnder(S)},e.onerror=()=>{this.#we.pop=!1,this.#xe=!1,this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runInPagePush(e){if(this.#we.inPagePush)return void this.#i.error("in-page push zone already loaded on page");this.#we.inPagePush=!0;const{zoneId:t,delay:i,maxAds:r,renderPosDesktop:n,renderPosMobile:s,offsetTop:o,sub1:a,isAutoTag:c,collectiveZoneId:l,linkedZoneId:d,aggressivity:u,recordPageView:h,abTest:g,tagVersionSuffix:p}=e;let{refreshRate:f}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!hi(t))throw new Error("zoneId is not a string!");if(void 0!==f&&(!ui(f)||f<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==i&&(!ui(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r&&(!ui(r)||r<1))throw new Error("maxAds is not an integer or is less than one");if(void 0!==n&&!gi(n))throw new Error("renderPosDesktop is not valid");if(void 0!==s&&!gi(s))throw new Error("renderPosMobile is not valid");if(void 0!==o&&(!ui(o)||o<0))throw new Error("offsetTop is not an integer or is less than zero");this.#i.debug("loading in-page push on page"),c?this.#Ae.add(l):this.#Ae.add(t),void 0!==f&&f>0&&f<10&&(f<5?f*=60:f=30),this.#i.debug("ipp rr set to",f);const m={zoneId:t,refreshRate:f??60,delay:i??0,maxAds:r??1,renderPosDesktop:n??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:c,collectiveZoneId:l,linkedZoneId:d,aggressivity:u,recordPageView:h,abTest:g,tagVersionSuffix:p,adserverDomain:this.#m,adblockSettings:this.#o,adcashGlobalName:this.#Ie,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#S};if(this.#Pe.InPagePush)return m.isLoadedAsPartOfLibrary=!0,void new this.#Pe.InPagePush(m);if(window.InPagePush)new window.InPagePush(m);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/inpagepush.js`,e.setAttribute("nipp","1"),e.onload=()=>{new window.InPagePush(m)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runBanner(e){const{zoneId:t,width:i,height:r,renderIn:n,sub1:s,currentScript:o}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!hi(t))throw new Error("zoneId is not a string!");if(void 0!==i&&!ui(i))throw new Error("Banner width is not an integer");if(void 0!==r&&!ui(r))throw new Error("Banner height is not an integer");let a;this.#i.debug("loading banner on page",t),n||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement));const c={zoneId:t,width:i,height:r,renderIn:n,currentElement:a,sub1:s,adcashGlobalName:this.#Ie,uniqueFingerprint:this.#S,adblockSettings:this.#o};if(this.#Pe.Banner)new this.#Pe.Banner(c);else if(this.#we.banner||this.#Se){if(window.Banner)return this.#Ae.add(c.zoneId),void new Banner(c);const e=he()((()=>{window.Banner&&(this.#Ae.add(c.zoneId),new Banner(c),clearInterval(e))}),100)}else{this.#Se=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/banner.js`,e.onload=()=>{this.#we.banner=!0,this.#Se=!1,this.#Ae.add(c.zoneId),new Banner(c)},e.onerror=()=>{this.#we.banner=!1,this.#Se=!1,this.#i.error(`failed loading ${e.src}`)},e.setAttribute("data-adel","ban"),e.setAttribute("a-lib","1"),document.head.appendChild(e)}}runInterstitial(e){if(this.#we.interstitial)return void this.#i.error("interstitial zone already loaded on page");this.#we.interstitial=!0;const{zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:c,tagVersionSuffix:l}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!hi(t))throw new Error("zoneId is not a string!");this.#i.debug("loading interstitial on page");const d={zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:c,tagVersionSuffix:l,adcashGlobalName:this.#Ie,adserverDomain:this.#m,adblockSettings:this.#o,uniqueFingerprint:this.#S,isLoadedAsPartOfLibrary:!1};if(this.#Ae.add(t),this.#Pe.Interstitial)return d.isLoadedAsPartOfLibrary=!0,void new this.#Pe.Interstitial(d);if(window.Interstitial)new Interstitial(d);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/interstitial.js`,e.setAttribute("a-lib","1"),e.onload=()=>{new Interstitial(d)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}async#ze(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.#m}/ad/czcf.php`;if(this.isAdbMode()){const e=`/${ee("abcdefgh0123456789")}`;i=`${window.location.protocol}//${this.#o.adserverDomain}${e}`}i+=`?cz=${e}`,i+=`&atv=${this.#k}`;const r=await this.getClientHints();let n;r&&(i+=r),this.isAdbMode()&&(i+="&sadbl=2",i+="&fmt=atg",i=te(i)),this.#i.debug("collective zone config url: ",i);try{n=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.#ze(e,!1)):null}return 200!==n.status?null:(n=await n.json(),se(n))}async runAutoTag(e){if(this.#we.autoTag)return void this.#i.error("autotag zone already loaded on page");this.#we.autoTag=!0;const t=e.zoneId;if(!t)throw new Error("mandatory zoneId is not provided!");if(!hi(t))throw new Error("zoneId is not a string!");const i=await this.#ze(t);if(!i)return void this.#i.error(`failed to fetch collective zone config! czid: ${t}`);if(this.#i.debug("collective zone config:",i),!i.rotationList){this.#i.debug("running in NORMAL MODE (no rotation)");const r=i.indexedFormats;let n=!0;for(const s in r){switch(s){case"suv4":case"pop":this.runPop({zoneId:r[s].zoneId.toString(),targetElementsCssSelector:r[s]["element-list"],triggerOnTargetElementsClick:"allow"===r[s]["element-action"],targetCountries:r[s]["country-list"],triggerOnTargetCountries:"allow"===r[s]["country-action"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:r[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:r[s].zoneId.toString(),refreshRate:r[s].rr,delay:r[s].d,maxAds:r[s].mads,renderPosDesktop:r[s]["render-pos-desktop"],renderPosMobile:r[s]["render-pos-mobile"],offsetTop:r[s]["offset-top"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${t}`)}n=!1}return}this.#i.debug("running in ROTATION MODE (rotation present)");const r={adcashGlobalName:this.#Ie,collectiveZoneConfig:i,adserverDomain:this.#m,adblockSettings:this.#o,clientHintsQueryStr:this.#v,tagVersionSuffix:e.tagVersionSuffix,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#S};if(this.#Pe.AutoTagRotation)return this.#Ae.add(t),r.isLoadedAsPartOfLibrary=!0,void new this.#Pe.AutoTagRotation(r);this.#i.debug("loading autotag rotation script on page");const n=document.createElement("script");n.type="text/javascript",n.src=`${location.protocol}//${this.#ye}/script/atagv2.js`,n.onload=()=>{this.#Ae.add(t),new De(r)},n.onerror=()=>{this.#i.error(`failed loading ${n.src}`)},document.head.appendChild(n)}runVideoSlider(e){if(this.#we.videoSlider)return void this.#i.error("videoslider zone already loaded on page");this.#we.videoSlider=!0;const{zoneId:t,sub1:i,vastXml:r,useAlternative:n,linkedZoneId:s}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!hi(t))throw new Error("zoneId is not a string!");const o={zoneId:t,sub1:i,adserverDomain:this.#m,adcashGlobalName:this.#Ie,uniqueFingerprint:this.#S,isPreviewMode:this.#Le,useAlternative:n,vastXml:r,linkedZoneId:s,adblockSettings:this.#o};if(this.#Pe.VideoSlider)return o.isLoadedAsPartOfLibrary=!0,void new this.#Pe.VideoSlider(o);if(window.VideoSlider)new VideoSlider(o);else{const e=document.createElement("script");e.type="text/javascript",Math.round(Math.random())?(e.src=`${window.location.protocol}//${this.#ye}/script/videoSliderAlt.js`,o.tagVersionSuffix="-b",this.#i.debug("VideoSlider A/B test: using alternative video slider")):(e.src=`${window.location.protocol}//${this.#ye}/script/videoSlider.js`,o.tagVersionSuffix="-a",this.#i.debug("VideoSlider A/B test: using video slider")),e.onload=()=>{this.#Ae.add(t),new VideoSlider(o)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}};const Ci=new a("aclib_adblock_index");window.Adcash?Ci.debug("lib already on page. exit"):(Ci.debug("load lib on page"),function(){var e;const t={aclib:new Si(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Adcash:Si,AtcshAltNm:Si};x()(e=it()(t)).call(e,(e=>{ti()(window,e,{value:t[e]})}))}({classes:{AutoTagRotation:De,PopUnder:class{#s;#y=null;#t={};#L=!1;#De=!1;#Be=!1;#Me=!1;#P;#b=!1;#R=!0;#i;#k="65.0";#N=null;#Ve=12;#T=!1;constructor(e){var i,n;this.#i=new a(`suv5_${e.zoneId}`),this.#s=window[e.adcashGlobalName],e.tagVersionSuffix&&(this.#k+=e.tagVersionSuffix),this.#i.debug("tag version:",this.#k),this.#i.debug("init pop with config:",e),this.#t=e,this.elementTargeting=new je(this.#t.targetElementsCssSelector,this.#t.triggerOnTargetElementsClick,this.#t.zoneId),!J||this.elementTargeting.isPresent()||this.#t.linkedZoneId||(this.#R=!1),this.#i.debug("useCapture:",this.#R),this.overlays=new He(this.elementTargeting,t()(i=this.#U).call(i,this),t()(n=this.#He).call(n,this),this.#i,this.#t.zoneId,this.#R),this.#z(),this.localStorage=new ze(`suv5_${e.zoneId}_state`);const o=this.localStorage.getState();o&&o.adbExpiresAt>r()()&&this.#s.enableAdbMode();const c=r()();if(o&&o.renderAfterTimestamp>c){var l;const e=o.renderAfterTimestamp-c;this.#i.debug(`previous state present. bid after ${e/1e3} sec`),s()(t()(l=this.#je).call(l,this),e)}else this.#je()}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=`/${ee("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}if(t+=`?r=${this.#t.zoneId}`,this.#b&&(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="+R()+"&cbWidth="+P()+"&cbHeight="+N()+"&cbtitle="+encodeURIComponent(U())+"&cbpage="+encodeURIComponent(I())+"&cbref="+encodeURIComponent($())+"&cbdescription="+encodeURIComponent(F("description"))+"&cbkeywords="+encodeURIComponent(F("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ufp="+encodeURIComponent(this.#t.uniqueFingerprint)+"&ts="+r()()+"&srs="+this.#s.getSesionRandomString()+"&atv="+this.#k,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.#s.isSandboxed()&&(t+="&sbx=1"),this.#t.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#i.debug(`bid url: ${t}`),te(t)):(this.#i.debug(`bid url: ${t}`),t)}#F(e){try{let t=this.#N?this.#N(""):window.open("");return t.document.open(),t.document.writeln('
17 OCT 2024 - Welcome Back to TorrentFunk! Get your pirate hat back out. Streaming is dying and torrents are the new trend. Account Registration works again and so do Torrent Uploads. We invite you all to start uploading torrents again!
TORRENT DETAILS
Creating Python APIs Like A BOSS - The Django REST Framework
TORRENT SUMMARY
Status:
All the torrents in this section have been verified by our verification system
Have you ever wanted to create an API for Django but didn’t know where to start? Fed up with incomplete YouTube videos and poorly written tutorials? Do you have an existing Django project that you want to add an API to? Is the documentation for the Django REST Framework too complicated to understand?
THEN THIS IS THE COURSE FOR YOU!
In my course, I will walk you through the Django REST Framework from beginning to end! I’m a self-taught programmer so I know what it feels like to start from scratch. I care about your learning, but even more importantly… I care about you!
In this course we will:
Learn what REST APIs are and how to use them Create a Reddit clone with API calls to make and delete posts, vote on posts and more! Add API functionality to an existing Django project
Feel free to take a free preview of this course to see if it’s a good fit for you. I am so confident that you will love my course, that I even offer a 100% 30-day money-back guarantee. You have nothing to lose, so come join me and let’s get started! Who this course is for:
Django developers who want to build an API
Requirements
Beginner level experience with Django – If you’ve made a Django project before, you’ll do great
Last Updated 7/2020
VISITOR COMMENTS (0 )
FILE LIST
Filename
Size
.pad/0
96 B
.pad/1
295.9 KB
.pad/10
347.1 KB
.pad/11
148.4 KB
.pad/12
5.1 KB
.pad/13
108.4 KB
.pad/14
14.9 KB
.pad/15
454.2 KB
.pad/16
59.4 KB
.pad/17
241.2 KB
.pad/18
157.3 KB
.pad/19
58.3 KB
.pad/2
195.7 KB
.pad/20
323.1 KB
.pad/3
351.9 KB
.pad/4
480 KB
.pad/5
369.8 KB
.pad/6
103.5 KB
.pad/7
378.1 KB
.pad/8
51 KB
.pad/9
66.7 KB
TutsNode.com.txt
63 B
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/1. Introduction/1. What is an API and Why is it Important.mp4
67.1 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/1. Introduction/1. What is an API and Why is it Important.srt
12.6 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/1. Curl and REST Clients.mp4
21.9 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/1. Curl and REST Clients.srt
4.8 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/10. Deleting Posts.mp4
78.2 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/10. Deleting Posts.srt
14.7 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/11. Recap.mp4
29.8 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/11. Recap.srt
9 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/12. Source Code.html
220 B
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/2. Zappit Models.mp4
56.9 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/2. Zappit Models.srt
17.1 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/3. Django REST Framework.mp4
44.4 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/3. Django REST Framework.srt
10.9 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/4. Serializers.mp4
46.9 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/4. Serializers.srt
14.3 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/5. Adding Posts to the Database.mp4
33.6 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/5. Adding Posts to the Database.srt
9 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/6. Creating Posts via the API.mp4
64.9 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/6. Creating Posts via the API.srt
18.8 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/7. Upvoting Posts.mp4
82.8 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/7. Upvoting Posts.srt
20.2 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/8. API Auth.mp4
15.9 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/8. API Auth.srt
5 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/9. Deleting Votes.mp4
61.6 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/2. API Basics - Making a Reddit Clone/9. Deleting Votes.srt
13.4 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/1. ToDoWoo Code.html
232 B
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/10. Login Tokens.mp4
110.8 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/10. Login Tokens.srt
20 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/11. Source Code.html
222 B
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/2. ToDoWoo Walkthrough.mp4
24.8 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/2. ToDoWoo Walkthrough.srt
9.2 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/3. Adding the API.mp4
31.9 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/3. Adding the API.srt
5.9 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/4. Listing Completed Todos.mp4
70.5 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/4. Listing Completed Todos.srt
24.2 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/5. Create, Retrieve, Update, Destroy.mp4
54.2 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/5. Create, Retrieve, Update, Destroy.srt
14 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/6. Completing Todos.mp4
46 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/6. Completing Todos.srt
11.4 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/7. Basic Authentication.mp4
21.7 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/7. Basic Authentication.srt
6.8 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/8. User SignUp.mp4
99.7 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/8. User SignUp.srt
21.6 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/9. Creating Tokens.mp4
57.5 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/3. Adding an API to an Existing Project/9. Creating Tokens.srt
10.7 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/4. Finishing Thoughts/1. So Long My Friend....mp4
39 MB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/4. Finishing Thoughts/1. So Long My Friend....srt
2.8 KB
[TutsNode.com] - Creating Python APIs Like a BOSS - The Django REST Framework/4. Finishing Thoughts/2. Bonus Lecture.html