-
Notifications
You must be signed in to change notification settings - Fork 2
/
discovery.837f43392dbaa98213303db90e2fb796.js
3 lines (3 loc) · 71.6 KB
/
discovery.837f43392dbaa98213303db90e2fb796.js
1
2
3
define("discovery/helpers",["underscore","jquery","common/defines","remote/config"],function(a,b,c,d){"use strict";var e=function(b,c,e,f){var g=d.discovery||{},h=f.enabled("discovery_next:override")&&c.get("discoveryOverride"),i=h||b.discoveryVariant,j=g.variantSpecific||{};if(i)i=a.extend(a.omit(g,"variantSpecific"),{name:i,thumbnailsEnabled:b.discoveryThumbnailsEnabled},j[i]);else{if(!b.sponsoredCommentsEnabled)return;i={organicEnabled:!1,promotedEnabled:!1}}return e.disable_promoted&&!b.discoveryLocked&&(i.promotedEnabled=!1,i.thumbnailsEnabled=!1),i.thumbnailsEnabled&&(i.maxPromotedThumbnailLinks=4,i.styleVariant="big-final"),i},f=!1,g=!1,h=function(a){f=!!a.lineTruncationEnabled,g=!!a.consoleLoggingEnabled},i=function(a){return b(a).closest("body").length&&!a.offsetTop},j=function(){return c.browser.mobile},k=function(){};window.console&&(k=function(){if(g){var b=a.toArray(arguments);b.unshift("[Discovery]"),window.console.log.apply?window.console.log.apply(window.console,b):window.console.log(b.join(" "))}});var l=function(b){return a.isUndefined(b)?g:void(g=!!b)},m=function(b){return a.isUndefined(b)?f:void(f=!!b)},n=function(c,d){function e(){return j.scrollHeight-j.offsetHeight>.2*l}function g(){i.lastChild&&!a.contains(["...","…"],i.lastChild.nodeValue)&&(m=i.appendChild(window.document.createTextNode(" "+o)),e()&&(i.removeChild(m),i.removeChild(i.lastChild),g()))}if(f){if(!c.closest("body").length)return void k("lineTruncate called on el not on DOM");if(c.text().length<1)return void k("lineTruncated called on empty el");var h=function(a){return 3!==a.nodeType};if(a.any(c.children(),h))return void k("lineTruncate called on non-flat el");var i=c[0],j=i;if("block"!==c.css("display"))for(;j.parentNode&&(j=j.parentNode,"block"!==b(j).css("display")););var l=parseFloat(c.css("font-size"),10);if(e()){d=d||{};var m,n=d.lines||1,o=d.ellipsis,p=c.text();if(p.length){var q=c.width()/l,r=parseInt(q*n,10),s=p.split(/\s/),t=0;c.empty();for(var u=0,v=s.length;v>u&&(t+=s[u].length+1,!(t>=r));u++)i.appendChild(document.createTextNode(" "+s[u]));if(e()){do m=i.removeChild(i.lastChild);while(e())}else{do m=i.appendChild(document.createTextNode(" "+s[u++]));while(!e()&&v>u);i.removeChild(m)}o&&(a.isString(o)||(o="…"),g())}}}},o=function(b){function c(a,b){return a+b}var d,e,f=a.keys(b),g=Math.floor(a.reduce(b,c,0)/2),h=f.length+1,i=g+1,j=new Array(h);for(d=0;h>d;d++)j[d]=new Array(i),j[d][0]={};for(e=1;i>e;e++)j[0][e]=!1;var k,l,m,n={};for(e=1;i>e;e++)for(d=1;h>d;d++)k=f[d-1],l=b[k],m=a.clone(j[d-1][e]),!m&&e>=l&&(m=a.clone(j[d-1][e-l]),m&&(m[k]=l,n=m)),j[d][e]=m;return[n,a.omit(b,a.keys(n))]},p=["product","zone","service","experiment","variant"],q=function(b){b=b||"";var c=a.object(p,b.split(":"));return{bin:b,experiment:c.experiment||"",variant:c.variant||""}};return{generateVariantConfig:e,config:h,looksAdblocked:i,isMobile:j,log:k,allowLog:l,allowLineTruncate:m,lineTruncate:n,balancedPartition:o,binToEventParams:q}}),define("discovery/models",["underscore","backbone","moment","core/analytics/identity","common/models","core/time","shared/common/corefuncs"],function(a,b,c,d,e,f,g){"use strict";var h=function(a){var b=a.prototype;return a.extend({defaults:{redirectUrl:null,signedUrl:null,userId:null,sourceThreadId:null,forumId:null,forum:null,majorVersion:null,requestBin:null},redirectPayload:function(){var a={url:this.get("signedUrl"),imp:d.impression.impId,prev_imp:d.impression.prevImp,forum_id:this.get("forumId"),forum:this.get("forum"),thread_id:this.get("sourceThreadId"),major_version:this.get("majorVersion")};return this.has("requestBin")&&(a.bin=this.get("requestBin")),this.has("userId")&&(a.user_id=this.get("userId")),a},redirectUrl:function(){var a=this.get("redirectUrl"),b=this.redirectPayload();return g.serialize(a,b)},toJSON:function(){var a=b.toJSON.call(this);return a.redirectUrl=this.redirectUrl(),a},toString:function(){return this.get("title")+" "+this.get("link")+" (id = "+this.id+")"}})}(b.Model),i=function(b){var d=b.prototype;return b.extend({defaults:a.defaults({createdAgo:!1},d.defaults),initialize:function(a,b){if(b&&b.humanFriendlyTimestamp){var d=f.assureTzOffset(this.get("createdAt"));d=c(d,f.ISO_8601),this.set("createdAgo",d.fromNow())}},redirectPayload:function(){var b=d.redirectPayload.call(this);return a.extend(b,{thread:this.id,zone:"internal_discovery"}),b},toJSON:function(){var a=d.toJSON.call(this);return a.thumbnailUrl=a.thumbnail,a.preview&&(a.preview=a.preview.toJSON()),a},toString:function(){return"organic link: "+d.toString.call(this)}})}(h),j=function(b){var c=b.prototype;return b.extend({idAttribute:"advertisement_id",defaults:a.defaults({brand:null,headline:null,text:null,url:null,signedUrl:null,advertisement_id:null},c.defaults),parse:function(a){return a.signedUrl=a.signed_url,a.thumbnailUrl=a.thumbnail_url,delete a.signed_url,a},get:function(a){return{title:this.attributes.headline,link:this.attributes.url}[a]||c.get.call(this,a)},redirectPayload:function(){var b=c.redirectPayload.call(this);return a.extend(b,{zone:"promoted_discovery",advertisement_id:this.get("advertisement_id"),brand:this.get("brand"),headline:this.get("headline")}),b},toJSON:function(){var a=c.toJSON.call(this);return a.title=a.headline,a.link=a.url,a},toString:function(){return"promoted link: "+c.toString.call(this)}})}(h),k=function(a){return a.extend({idAttribute:"advertisement_id",defaults:{ad_provider:null,advertisement_id:null,layout:"media_expansion",thumbnail_url:null,url:null,media_url:null},set:function(b,c,d){return b.post&&(b.post.isSponsored=!0,this.post=new e.Post(b.post),delete b.post),b.thread&&(this.thread=new e.Thread(b.thread),this.thread.forum=new e.Forum({settings:{allowMedia:!0}}),delete b.thread),a.prototype.set.call(this,b,c,d)}})}(b.Model),l=function(b){return b.extend({idAttribute:"advertisement_id",apiMapping:{headline:"name",signedUrl:"url",brand:"branding"},parse:function(b){a.each(this.apiMapping,function(a,c){b[a]&&(b[c]=b[a],delete b[a])});var c=b.thumbnail;return b.thumbnailUrl=c&&c.length&&c[0]&&c[0].url,b}})}(j),m={RelatedThread:i,Advertisement:j,SponsoredComment:k,TaboolaAdvertisement:l};return DISQUS.testing&&(m.BaseContentModel=h),m}),define("discovery/collections",["backbone","underscore","core/api","common/defines","common/utils","discovery/helpers","discovery/models"],function(a,b,c,d,e,f,g){"use strict";var h=e.strip,i=a.Collection.extend({url:function(a){return c.getURL(a)},fetch:function(b){return b=b||{},b.reset=!0,a.Collection.prototype.fetch.call(this,b)},parse:function(a){return a.response}}),j=function(a){var b=a.prototype;return a.extend({url:function(){return b.url.call(this,"discovery/listTopPost.json")},parse:function(a){for(var c=b.parse.call(this,a),d=0,e=c.length;e>d;d++)c[d].plaintext=h(c[d].message);return c}})}(i),k=function(a){return a.extend({initialize:function(a,c){this.model=g[this.modelName],c&&b.has(c,"fetchLimit")&&(this.fetchLimit=c.fetchLimit)},fetch:function(b){return this.fetchLimit&&b.data&&(b.data[this.fetchLimitKey||"limit"]=this.fetchLimit),a.prototype.fetch.call(this,b)}})}(i),l=function(a){var b=a.prototype;return a.extend({modelName:"RelatedThread",url:function(){return b.url.call(this,"discovery/listRelated.json")}})}(k),m=function(a){return a=a||{},a.dataType="jsonp",a.omitDisqusApiKey=!0,a},n=function(a){var c=a.prototype;return a.extend({modelName:"Advertisement",url:"//tempest.services.disqus.com/listPromoted",initialize:function(a){return this.sponsoredComments=new o,c.initialize.call(this,a)},fetch:b.compose(function(a){return b.has(a.data,"limit")&&(a.data[this.fetchLimitKey]=a.data.limit,delete a.data.limit),c.fetch.call(this,a)},m),parse:function(a){return this.sponsoredComments.reset(this.sponsoredComments.parse(a)),a.response||a.promoted_discovery},fetchLimitKey:"count",fetchThumbnailsKey:"thumbnails_only"})}(k),o=function(a){return a.extend({modelName:"SponsoredComment",url:n.prototype.url,parse:function(a){return a.sponsored_comment}})}(k),p=function(a){var c=a.prototype;return a.extend({initialize:function(a,b){c.initialize.apply(this,arguments),this.sessionStorage=b&&b.sessionStorage||window.sessionStorage},modelName:"TaboolaAdvertisement",url:function(a){return a=!d.debug&&a,"http://api.taboola.com/1.1/json/disqus"+(a?"-"+a:"")+"/recommendations.get"},getTaboolaSession:function(){var a;try{a=this.sessionStorage.getItem("taboolaSession")}catch(b){}return a||"init"},setTaboolaSession:function(a){try{this.sessionStorage.setItem("taboolaSession",a)}catch(b){f.log("Unable to store Taboola session in sessionStorage")}},fetch:b.compose(function(a){a.url=this.url(a.forum),b.extend(a.data,{"app.type":"desktop","app.apikey":"037849ccb5a799c70e319e9592c66e8b387105ff","source.type":"text","source.id":a.sourceThread.id,"source.url":a.sourceThreadUrl,"source.placement":a.placement,"user.session":this.getTaboolaSession()});var d=window.$&&window.$.fn&&window.$.fn.jquery&&window.$.fn.jquery.indexOf("1.9.2")>-1;return d?a.jsonp="rec.callback":a.jsonpCallback="rec.callback",b.has(a.data,"limit")&&(a.data[this.fetchLimitKey]=a.data.limit,delete a.data.limit),b.has(a.data,"thread")&&delete a.data.thread,c.fetch.call(this,a)},m),fetchLimitKey:"rec.count",parse:function(a){this.setTaboolaSession(a.session);var c=79264;return b.map(a.list,function(a){return a.advertisement_id=c++,a})}})}(k),q={PostCollection:j,RelatedThreadCollection:l,AdvertisementCollection:n,SponsoredCommentCollection:o,TaboolaAdvertisementCollection:p};return DISQUS.testing&&(q.BaseCollection=i,q.BaseContentCollection=k),q}),define("discovery/custom-comments",["jquery","underscore","core/models/Media","shared/common/urls","common/utils","common/urls","discovery/collections","exports"],function(a,b,c,d,e,f,g,h){"use strict";h.getProtocol=function(a){var b=(a||"").match(/^\s*(\w+:)?\/\//);return b?(b[1]||"").toLowerCase():null},h.getPageProtocol=function(){return window.location.protocol},h.forceWebProtocol=function(a,b){var c=h.getProtocol(a);if(null===c)return"";var e=h.getPageProtocol();return c||(c=e),"http:"===e&&(b=!0),"http:"===c&&b||(c="https:"),d.ensureHttpBasedProtocol(a,c)};var i=/<(\S+)[^<]+$/;h.extractTrackingTags=function(a){for(var b=e.bleachFindUrls(a),c=[],d=0;d<b.length;++d){var f=b[d],g=f.index,j=0;d>0&&(j=b[d-1].endIndex);var k=a.substr(j,g-j),l=i.exec(k);if(l){var m=l[1].toLowerCase();if("img"===m||"iframe"===m){var n=h.forceWebProtocol(f.url);n&&c.push({tag:m,url:n})}}}return c},h.selectUrl=function(a,b){return a=h.forceWebProtocol(a),b=h.forceWebProtocol(b),a?a:"http:"===h.getPageProtocol()?b:null},h.handlers={},h.handlers.adsnative=function(d){var e=this;return a.ajax({dataType:"jsonp",url:"https://api.adsnative.com/v1/ad.json",data:{url:this.get("sourceThreadUrl")}}).then(function(a){if("OK"===a.status&&a.ad){var i=a.ad,j=d.post.toJSON();if(j.author&&j.author.isRegistered){j.raw_message=j.message=b.escape(i.summary),j.author.name=i.promotedBy,j.author.avatar=j.author.avatar||{},j.author.avatar.cache=j.author.avatar.permalink=h.forceWebProtocol(i.brandImageUrl)||f.avatar.generic;var k;if("story"===i.type)k="image_target",j.media=[];else{if("video"!==i.type)return;k="media_expansion",j.media=[{url:h.forceWebProtocol(i.embedUrl),mediaType:c.MEDIA_TYPES_UNKNOWN,htmlWidth:1280,htmlHeight:720}]}var l=h.extractTrackingTags(i.trackingTags);e.ads.sponsoredComments=new g.SponsoredCommentCollection({sponsored_comment:[{advertisement_id:d.id,thumbnail_url:h.forceWebProtocol(i.imageSrc),url:h.forceWebProtocol(i.url,!0),layout:k,post:j,thread:d.thread.toJSON(),tracking_pixels_onload:l}]},{parse:!0})}}})},h.handlers.appnexus=function(c){var d=this,e="adCallback"+ +new Date;return window.APN=window.APN||{},window.APN.adLoaded=function(){window[e]&&(window[e].apply(window,arguments),delete window.APN.adLoaded)},a.ajax({dataType:"jsonp",jsonp:!1,jsonpCallback:e,url:"https://mobile.adnxs.com/ssmob",data:{id:3595479,size:"1x1",format:"js",tmpl_id:20}}).done(function(a){if("ok"===a.status&&a.ads&&a.ads.length){var e=a.ads[0];if(e&&e.text){var i=c.post.toJSON();if(i.author&&i.author.isRegistered){var j=h.selectUrl(e.mainimg_sec,e.mainimg);if(j){i.raw_message=i.message=b.escape(e.text),e.title&&(i.author.name=e.title),i.author.avatar=i.author.avatar||{},i.author.avatar.cache=i.author.avatar.permalink=h.selectUrl(e.iconimg_sec,e.iconimg)||f.avatar.generic;var k=h.extractTrackingTags(e.imptracker);d.ads.sponsoredComments=new g.SponsoredCommentCollection({sponsored_comment:[{advertisement_id:c.id,thumbnail_url:j,url:h.forceWebProtocol(decodeURIComponent(e.clickurl),!0),layout:"image_target",post:i,thread:c.thread.toJSON(),tracking_pixels_onload:k}]},{parse:!0})}}}}})}}),define("discovery/variants",[],function(){"use strict";return{"default":{maxPerColumn:2,inlineMeta:!1,contentPreviews:!0,promotedEnabled:!1,topPlacementEnabled:!1},promoted:{maxPerColumn:4,inlineMeta:!0,contentPreviews:!1,promotedEnabled:!0,topPlacementEnabled:!1,promotedSide:"right"},max:{maxPerColumn:4,inlineMeta:!0,contentPreviews:!1,promotedEnabled:!0,topPlacementEnabled:!0,promotedSide:"left"},thumbnails:{maxOrganicThumbnailLinks:0,maxPromotedThumbnailLinks:3,promotedSide:"left",numLinesHeadline:4}}}),define("discovery/views",["backbone","underscore","jquery","common/templates","common/views/mixins","discovery/helpers"],function(a,b,c,d,e,f){"use strict";var g=a.View.extend({initialize:function(a){a&&a.appContext&&(this.appContext=a.appContext)},getTemplateContext:function(){return this.appContext?{variant:this.appContext}:{}},template:function(a,b){return b=b||this.templateName,d.render(b,a)}}),h=function(a){var d=a.prototype;return a.extend({events:{"click [data-redirect]":"handleClick"},templateName:"discoveryCollection",handleClick:function(a){this.swapHref(a.currentTarget)},swapHref:function(a){a.setAttribute("data-href",a.getAttribute("href")),a.setAttribute("href",a.getAttribute("data-redirect")),b.delay(function(){a.setAttribute("href",a.getAttribute("data-href"))},100)},initialize:function(a){d.initialize.call(this,a),this.elementsSelector="li.discovery-post",this.$elements=this.$el.find(this.elementsSelector),this.initContext=a.context;var b=this.collection;this.listenTo(b,{remove:this.remove,reset:this.render})},truncate:function(){var a=this.$el.find(".line-truncate");b.each(a,function(a){var b=c(a);f.lineTruncate(b,{lines:parseInt(b.attr("data-line-truncate"),10),ellipsis:!0})})},getTemplateContext:function(){var a=d.getTemplateContext.call(this);b.extend(a,this.initContext),a.collection=this.collection.toJSON();var c=this.collection.at(0);if(c){var e=c.has("id")?"organic-":"promoted-",f=c.idAttribute;b.each(a.collection,function(a){a.advertisement_id=a[f],a.domIdSuffix=a[f],a.domIdSuffix=e+a.domIdSuffix})}return a},render:function(){var a=this.getTemplateContext();return this.$el.html(this.template(a)),this.$elements=this.$el.find(this.elementsSelector),this.truncate(),this},remove:function(a,d,e){if(0===arguments.length)return g.prototype.remove.call(this);var f=b.toArray(this.$elements),h=f.splice(e.index,1)[0];return c(h).remove(),this.$elements=c(f),this}})}(g),i=function(a,b){this.modelIds=a||[],this.$elements=c(b||[])};b.extend(i.prototype,{height:function(){var a=this;a.heights=[];var d=c(a.$elements),e=d.first().offset().top,f=function(){var a=d.last();return a.offset().top+a.height()}(),g=f-e,h=0;return b.each(d,function(b){var d=c(b).height();a.heights.push(d),h+=d}),this.interstice=(g-h)/(d.length-1),g}});var j=function(){this.divideIntoColumns=function(){var a=this,b=a.subviews[0];a.left=new i,a.right=new i;var c=0;b.collection.each(function(d,e){var f=c++%2===0?"left":"right";a[f].modelIds.push(d.id),Array.prototype.push.call(a[f].$elements,b.$elements[e])})},this.removeOneFromColumn=function(a,c){var d,e=b.chain(a.modelIds).map(function(b,c){return[b,a.heights[c]]}).sortBy(function(a){return-1*a[1]}).find(function(a){return a[1]<=c}).value()[0],f=this.subviews[0].collection,g=f.models,h=f.get(e),i=g.indexOf(h),j=[],k=[],l=[k,j],m=g.length;for(d=0;m>d;d++)l[d%2].push(g[d]);var n=l[i%2];n.splice(b.indexOf(n,h),1),g=[];var o=(i+1)%2;for(d=0;m-1>d;d++)g.push(l[(d+o)%2].shift());f.reset(g)},this.balanceColumns=function(){var a=this.subviews[0],c=a.collection,d={};c.each(function(b,c){d[c]=a.$elements[c]});var e=f.balancedPartition(d);e=b.sortBy(e,"length");var g=e[1],h=e[0],i=c.models,j=new Array(i.length);b.each(g,function(a,b){j[2*b]=i[b]}),b.each(h,function(a,b){j[2*b+1]=i[b]}),c.reset(i)},this.shortenColumn=function(a,b){var c=this.subviews[0].collection;c.length%2!==0&&a===this.left?this.removeOneFromColumn(a,this.fudge*b):this.balanceColumns()}},k=function(){this.divideIntoColumns=function(){var a=this,b=a.subviews,c=b[0],d=b[1],e=c.collection.model.prototype.idAttribute;a.left=new i(c.collection.pluck(e),c.$elements);var f=d.collection.model.prototype.idAttribute;a.right=new i(d.collection.pluck(f),d.$elements)},this.shortenColumn=function(a,c){for(var d=a===this.left?this.subviews[0]:this.subviews[1],e=a===this.left?this.right:this.left,f=e,g=c/f.$elements.length,h=d.collection,i=b.chain(a.modelIds).map(function(b,c){return[b,a.heights[c]]}).sortBy(function(a){return a[1]}).value(),j=[],k=0,l=c,m=g;i.length;){var n=i.pop(),o=n[0],p=n[1],q=p+a.interstice;if(k+q>c&&(f=a),l=Math.abs(c-(k+q)),m=l/f.$elements.length,!(m>=g)){g=m;var r=a.modelIds.indexOf(o);a.modelIds.splice(r,1),Array.prototype.splice.call(a.$elements,r,1),k+=q,j.push(o)}}h.remove(j)}},l=function(a){this.fudge=a.fudge,this.subviews=a.views.slice(0,2),1===this.subviews.length?j.call(this):k.call(this)};b.extend(l.prototype,{ascendingByHeight:function(){var a=this.left,c=this.right,d=[[a,a.height()],[c,c.height()]];return b.sortBy(d,function(a){return a[1]})},evenColumns:function(a){var c=this.ascendingByHeight(),d=c[0][0],e=c[0][1],f=c[1][0],g=c[1][1];if(e!==g){var h=g-e,i=this.fudge*h,j=b.find(f.heights,function(a){return a+f.interstice<i});return!a&&j?(this.shortenColumn(f,h),this.divideIntoColumns(),this.evenColumns("do not recurse again")):void this.increaseMargins(d,h)}},increaseMargins:function(a,d){var e=a.$elements.length;if(!(2>e)){var f=d/e;b.each(a.$elements,function(a){var b=c(a),d=parseInt(b.css("margin-bottom"),10),e=d+f;b.css("margin-bottom",e+"px")});var g=a===this.left?this.right:this.left,h=a===this.right?"left":"right";g.$elements.css("clear",h)}},render:function(){return this.divideIntoColumns(),this.evenColumns(),this}});var m=function(a){var c=a.prototype;return b.extend(c,e.IsVisibleViewMixin),a.extend({templateName:"discoveryMain",events:{"click [data-action=discovery-help]":function(a){a.preventDefault(),this.model.set("help",!0)},"click [data-action=discovery-help-close]":function(a){a.preventDefault(),this.model.set("help",!1)}},toggleHelp:function(a){var b=this;b.$el.find("#discovery-note").toggle(),a.trigger("resize")},rerenderHelp:function(){var a=this.$el.find("#discovery-note");a.length&&a.html(this.template(this.getTemplateContext(),"discoveryNote"))},initialize:function(a){c.initialize.call(this,a),this.listenTo(this.model,{"change:display":this.show,"change:help":this.toggleHelp}),this.listenTo(this.model.get("session"),"change",this.rerenderHelp),this.$el.css({position:"absolute",visibility:"hidden",display:"block",width:this.$el.width()-20+"px"}),this.topEdgeOffset=this.model.get("topEdgeOffset"),this.bottomEdgeOffset=this.model.get("bottomEdgeOffset")},createSections:function(){var a=this.model,c=a.get("sectionNames"),d=a.get("sectionIds");return b.map(a.collections,function(b,e){var f;return b===a.threads?f="organic":b===a.ads&&(f="promoted"),{id:d[e],className:c[e],type:f,showThumbnailsInRows:"promoted"===f&&a.getThumbnailLinksMobile("Promoted"),sponsoredStoriesExperimentActive:a.get("sponsoredStoriesExperimentActive")}})},getTemplateContext:function(){var a=this.model,b=this.createSections(),c=a.get("maxOrganicThumbnailLinks")||a.get("maxPromotedThumbnailLinks");return{id:a.get("innerContainerId"),sections:b,styleVariant:a.get("styleVariant"),forum:a.get("sourceForum"),discoverySettingsUrl:a.get("promotedEnabled")&&a.get("discoverySettingsUrl"),session:a.get("session").toJSON(),thumbnailsEnabled:c}},render:function(){this.$el.html(this.template(this.getTemplateContext()))},show:function(a){a.get("display")&&(this.$el.css({position:"static",visibility:"visible",width:"100%"}),a.trigger("resize"))},remove:function(a){var b;return a&&a.cloneContainer&&(b=this.el.cloneNode(!1),this.$el.attr("id",""),this.$el.after(b)),c.remove.call(this)},calculateOffsetTop:function(){var a=this.$el.offset();return a.top}})}(g);return{BaseCollectionView:h,TwoColumn:l,MainView:m}}),define("discovery/views/countdown-timer",["backbone","underscore","common/templates"],function(a,b,c){"use strict";return a.View.extend({template:"countdownTimer",className:"countdown-timer",initialize:function(c){this.duration=c.duration||5e3,this.model=new a.Model({active:!1,text:0,remaining:0}),this.listenTo(this.model,"change",this.updateUI),b.bindAll(this,"tickAnimation")},updateUI:function(){this.$el[this.model.get("active")?"addClass":"removeClass"]("active"),this.$text&&this.$text.text(this.model.get("text")),this.$path&&this.pathLength&&this.$path.css("stroke-dashoffset",this.model.get("remaining")*this.pathLength)},render:function(){return this.$el.html(c.render(this.template)),this.$path=this.$el.find("[data-role=countdown-path]"),this.$text=this.$el.find("[data-role=countdown-text]"),this.updateUI(),this.pathLength=this.$path.length&&this.$path[0].getTotalLength&&this.$path[0].getTotalLength(),this.$path.css("stroke-dasharray",this.pathLength),this},startAnimation:function(){this.model.get("active")||(this.model.set("active",!0),this.updateUI(),this.startTime=null,this.timer=window.requestAnimationFrame(this.tickAnimation))},tickAnimation:function(a){null===this.startTime&&(this.startTime=a);var b=(a-this.startTime)/this.duration;if(b>=1)this.model.set("active",!1),this.trigger("animation-complete");else{var c=1-Math.max(0,Math.min(b,1));this.model.set({text:Math.ceil(c*this.duration/1e3),remaining:c}),this.timer=window.requestAnimationFrame(this.tickAnimation)}},cancelAnimation:function(){this.model.set("active",!1),window.cancelAnimationFrame(this.timer)}})}),define("discovery/views/sponsored-comment",["backbone","jquery","underscore","common/bus","remote/config","core/analytics/jester","common/models","common/templates","common/utils","common/views/mixins","discovery/helpers","discovery/views/countdown-timer","lounge/views/post","lounge/views/posts","lounge/views/media"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"use strict";var p=m.extend({inViewport:!1,LAYOUT_TO_TEMPLATE:{media_expansion:"expandableMedia",image_target:"clickableImage"},events:c.extend({},m.prototype.events,{"click [data-action=click_media_expand]":"expandMedia","mouseenter.reportHover":"scheduleHoverReport","mouseleave.reportHover":"cancelHoverReport","click [data-action=feedback]":"showSurvey","mouseenter [data-role=iframe-player]":"schedulePredictedClickReport","mouseleave [data-role=iframe-player]":"cancelPredictedClickReport","click [data-role=thread-link]":"reportOpenedSponsoredThread","click > [data-role=post-content] [data-action]":"reportDataAction","click [data-role=sponsored-text] a":"reportLinkClick","click [data-role=sponsored-text]":"navigateToTargetLink"}),expandMedia:i.preventDefaultHandler(function(){var a=this.$("[data-role=media-trigger]");this.teardownCountdown();var b=c.first(this.richMediaViews);b&&(a.hide(),b.activate(),this.isAutoExpandExperimentEnabled()&&b.send("play"))}),reportDataAction:function(a){var c,d=m.prototype.events["click > [data-role=post-content] [data-action]"].apply(this,arguments),f=b(a.currentTarget).attr("data-action");switch(f){case"click_image":c={verb:"click",adjective:"image"};break;case"click_media_expand":c={verb:"click",adjective:"media"};break;case"downvote":c={verb:"dislike"};break;case"upvote":c={verb:"like"};break;case"feedback":c={verb:"click",object_type:"link",object_id:e.lounge.sponsored_comment_survey_url,adjective:"feedback"};break;case"reply":c={verb:"post",object_type:"post",object_id:this.model.id};break;case"profile":c={verb:"click",object_type:"zone",object_id:"profile",adjective:"profile"}}return c&&this.report(c),d},scheduleHoverReport:function(){this.isMouseInsideComment=!0,this.debouncedReportHoverOnce(),this.shouldTrackAdditionalEvents()&&(this._hoverStartTime=+new Date)},reportHover:function(){this.isMouseInsideComment&&(this.report({verb:"hover",adverb:"3000ms"}),this.shouldTrackAdditionalEvents()||this.$el.off(".reportHover"))},cancelHoverReport:function(){this.isMouseInsideComment=!1,this.shouldTrackAdditionalEvents()&&this.reportHoverDuration()},reportHoverDuration:function(){if(this._hoverStartTime){var a=new Date-this._hoverStartTime;this._hoverStartTime=null,0>=a||this.report({verb:"hover",adjective:"duration",adverb:a+"ms"})}},schedulePredictedClickReport:function(){this.isMouseInsidePlayer=!0,this.debouncedReportPredictedClick()},reportPredictedClick:function(){this.isMouseInsidePlayer&&(this.report({verb:"hover",adverb:"3000ms",adjective:"iframe"}),this.$el.off("mouseenter mouseleave","[data-role=iframe-player]"))},cancelPredictedClickReport:function(){this.isMouseInsidePlayer=!1},reportLinkClick:function(a){a.stopPropagation(),this.report({verb:"click",object_type:"link",object_id:b(a.currentTarget).attr("href"),adjective:"content"})},navigateToTargetLink:function(a){this.getProductAdMetadata()&&(a.stopPropagation(),window.open(this.sponsoredComment.get("url"),"_blank"),this.report({verb:"click",adjective:"content"}))},initialize:function(a){this.debouncedReportPredictedClick=c.debounce(c.bind(this.reportPredictedClick,this),3e3),this.debouncedReportHoverOnce=c.debounce(c.bind(c.once(this.reportHover),this),3e3),this.sponsoredComment=a.sponsoredComment,this.session=a.session,this.userSuggestions=a.userSuggestions,this.styleVariant=a.styleVariant,this.sponsoredCommentExperiment=a.sponsoredCommentExperiment,this.sourceForum=a.sourceForum,this.sourceThread=a.sourceThread,this.requestBin=a.requestBin,this.injectScriptUrl=a.injectScriptUrl,this.topEdgeOffset=this.getHalfHeight,this.bottomEdgeOffset=this.getHalfHeight,this.viewEventState={hasReportedFastView:!1,hasReportedIABView:!1,timers:[],iabNoScrollingTimer:null},this.viewEventConfig={viewDurations:[],viewDurationReportFns:[]},this.shouldTrackAdditionalEvents()&&(this.viewEventConfig.viewDurations=[0,200,400,800],this.viewEventConfig.viewDurationReportFns=c.map(this.viewEventConfig.viewDurations,function(a){return c.once(c.bind(this.report,this,{verb:"view",adverb:a+"ms"}))},this)),this.listenTo(d,"window.scroll",this.queueViewEvents),this.isAutoExpandExperimentEnabled()&&this.listenTo(d,"window.scroll",this.autoExpandExperimentScrollListener),m.prototype.initialize.apply(this,arguments)},shouldTrackAdditionalEvents:function(){var a=e.lounge.sc_analytics_sample_rate;return a?Math.random()<=1/a:!1},getHalfHeight:function(){return this.$el.height()/2},queueViewEvents:function(a){var b=this.viewEventState;if(!b.hasReportedFastView){if(!this.isPartiallyVisible(a))return;this.report({verb:"view",adverb:"0ms-no50perc"}),b.hasReportedFastView=!0}this.invalidateOffset();var e=this.isVisible(a);if(e!==this.inViewport)if(e){b.hasReportedIABView||b.timers.push(c.delay(c.bind(this.reportIABView,this),1e3));var f=this.viewEventConfig;c.each(f.viewDurations,function(a,d){var e=f.viewDurationReportFns[d];b.timers.push(c.delay(e,a))})}else clearTimeout(b.iabNoScrollingTimer),c.map(b.timers,clearTimeout),b.timers=[];this.inViewport=e,e&&(clearTimeout(b.iabNoScrollingTimer),b.iabNoScrollingTimer=c.delay(c.bind(function(){this.report({verb:"view",adverb:"iab-no-scrolling"}),this.stopListening(d,"window.scroll",this.queueViewEvents)},this),1e3))},isPartiallyVisible:function(a){var b=c.defaults({$el:this.$el},j.IsVisibleViewMixin);return b.isVisible(a)},reportIABView:function(){this.viewEventState.hasReportedIABView=!0,this.report({verb:"view",adverb:"iab-scroll"}),this.loadTrackingPixel()},loadTrackingPixel:function(){var a=this.sponsoredComment.get("tracking_pixel_url");if(a){var b=new Image;b.onerror=c.bind(this.report,this,{verb:"load",adverb:"failed",adjective:"tracking-pixel",object_type:"service",object_id:a}),b.src=a}},loadPixels:function(){var a=this.sponsoredComment.get("tracking_pixels_onload")||[];c.each(a,function(a){("img"===a.tag||"iframe"===a.tag)&&b("<"+a.tag+">").hide().attr("src",a.url).appendTo(this.$el)},this)},report:function(a){var b=[this.sponsoredComment.id],d=k.binToEventParams(this.requestBin);f.client.emit(c.defaults(a,{object_type:"advertisement",object_id:JSON.stringify(b),zone:"thread",area:"sponsored_comment",post_id:this.model.id,advertisement_id:this.sponsoredComment.id,thread_id:this.sourceThread.id,forum_id:this.sourceForum.pk,user_id:this.session.user&&this.session.user.id},d))},getPostAttributes:function(){var a=m.prototype.getPostAttributes.apply(this,arguments),b=this.LAYOUT_TO_TEMPLATE[this.sponsoredComment.get("layout")]||this.LAYOUT_TO_TEMPLATE.media_expansion,c=this.getProductAdMetadata();return c&&(b="image_target"===this.sponsoredComment.get("layout")?"productAd":"expandableProductAd"),a.message=h.render("sponsoredComment",{message:a.message,layout:b,thumbnailUrl:this.sponsoredComment.get("thumbnail_url"),targetUrl:this.sponsoredComment.get("url"),productAdMetadata:c}),a},getProductAdMetadata:function(){var a=e.discovery&&e.discovery.product_ads&&e.discovery.product_ads[this.model.id];return a?(a=c.clone(a),a.stars=c.map([1,2,3,4,5],function(b){return{isSelected:a.stars>=b}}),a):null},renderMedia:function(){var a=this.model.media,b=this.sponsoredComment.get("media_url");a&&a.length||!b||a.reset([{url:b,mediaType:g.Media.MEDIA_TYPES.UNKNOWN}]),m.prototype.renderMedia.apply(this,arguments)},renderRichMedia:function(a,c){var d=this.model.cid,e=a.first(),f=o.getRichMediaViewConfig(e,d);f.mediaViewModel.set({showButtons:!1,deferred:this.isAutoExpandExperimentEnabled(),playerjs:this.isAutoExpandExperimentEnabled(),respectSettings:!1});var g=new f.Cls({model:f.mediaViewModel,media:e,template:"sponsoredCommentMedia"});g.relatedPost=d,g.render(),b("<li>").append(g.$el).appendTo(c),this.richMediaViews=[g]},render:function(){m.prototype.render.apply(this,arguments),this.$el.addClass("sponsored"),this.$el.addClass("style-variant-"+this.styleVariant),this.report({verb:"load"}),this.loadPixels(),this.setupCountdown();var a=this.session.get("thread");return this.injectScriptUrl&&!this.session.isLoggedIn()&&b("<script>").attr("src",c.template(this.injectScriptUrl)({adId:this.sponsoredComment.id,threadId:a.id,forumId:a.get("forum")})).appendTo(this.$el),this},isAutoExpandExperimentEnabled:function(){return"auto_expand"===this.sponsoredCommentExperiment},startCountdown:function(a){a&&a.stopPropagation(),this.$el.addClass("countdown-active"),this.countdown.startAnimation()},stopCountdown:function(a){a&&a.stopPropagation(),this.$el.removeClass("countdown-active"),this.countdown.cancelAnimation()},setupCountdown:function(){if(this.teardownCountdown(),"media_expansion"===this.sponsoredComment.get("layout")){if(this.countdown=new l({duration:this.isAutoExpandExperimentEnabled()?5e3:3e3}).render(),this.isAutoExpandExperimentEnabled()){var a=c.first(this.richMediaViews);a&&a.$el.append(this.countdown.$el).css("position","relative"),this.countdown.$el.attr("data-action","click_media_expand"),this.$("[data-role=media-trigger]").hide()}else this.$el.find("[data-role=media-expand]").prepend(this.countdown.$el);if(this.listenTo(this.countdown,"animation-complete",this.onCountdownComplete),this.$el.off(".hoverToExpand"),!this.isAutoExpandExperimentEnabled()){var b=c.bind(this.startCountdown,this),d=c.bind(this.stopCountdown,this);this.$el.on("mouseenter.hoverToExpand",b),this.$el.on("mouseenter.hoverToExpand","[data-role=message]",b),this.$el.on("mouseleave.hoverToExpand",d),this.$el.on("mouseenter.hoverToExpand","footer menu, [data-role=user-avatar]",d)}}},teardownCountdown:function(){this.countdown&&(this.stopListening(this.countdown),this.countdown.remove())
},onCountdownComplete:function(){if(this.isAutoExpandExperimentEnabled()){this.report({verb:"view",adverb:"5000ms"});var a=c.first(this.richMediaViews);a&&a.send("mute"),this.expandMedia()}else this.report({verb:"hover",adverb:"3000ms"}),this.expandMedia(),this.$el.off(".hoverToExpand")},autoExpandExperimentScrollListener:function(a){this.invalidateOffset();var b=this.isVisible(a);b?this.startCountdown():this.stopCountdown()},showSurvey:function(){var a=i.isMobile(window)?{}:{width:500,height:550,scrollbars:"yes",resizable:"yes",status:"yes"};i.windowOpen(e.lounge.sponsored_comment_survey_url,"surveywindow",a)},getReplyView:function(){return this.reply?this.reply:(this.reply=new n.PostReplyView({parentView:this,parent:this.model,thread:this.thread,session:this.options.session,userSuggestions:this.userSuggestions}),this.reply.render(),this.showReply(),this.thread.once("create",c.bind(this.renderReply,this)),this.reply)},renderReply:function(a){var b=new m({parent:this,model:a,thread:this.thread,session:this.session,created:a.created});b.render();var c=this;c.$("[data-role=children]").append(b.$el)},reportOpenedSponsoredThread:function(a){var c=b(a.currentTarget).find("a");c&&c.length&&this.report({verb:"click",object_type:"link",object_id:c.attr("href"),adjective:"all-comments"})},initProfileCard:function(){}});c.extend(p.prototype,j.IsVisibleViewMixin);var q=a.View.extend({template:"sponsoredCommentWrapper",itemViewContainer:".post-list",initialize:function(a){this.session=a.session,this.styleVariant=a.styleVariant,this.userSuggestions=a.userSuggestions,this.visible=a.visible,this.sourceForum=a.sourceForum,this.sourceThread=a.sourceThread,this.requestBin=a.requestBin,this.sponsoredCommentExperiment=a.sponsoredCommentExperiment,this.injectScriptUrl=a.injectScriptUrl,this.initSubViews(),this.listenTo(this.collection,"change",function(){this.initSubViews(),this.render()})},initSubViews:function(){this.removeSubViews(),this.subViews=this.collection.chain().map(function(a){if(a){var b=a.post,c=a.thread;if(b&&c){var d=new p({model:b,thread:c,sourceForum:this.sourceForum,sourceThread:this.sourceThread,styleVariant:this.styleVariant,sponsoredCommentExperiment:this.sponsoredCommentExperiment,sponsoredComment:a,session:this.session,userSuggestions:this.userSuggestions,requestBin:this.requestBin,injectScriptUrl:this.injectScriptUrl,excludeAnchor:!0}).stopListening(b.usersTyping);return d}}},this).filter(function(a){return!!a}).value()},removeSubViews:function(){c.invoke(this.subViews,"remove")},setVisible:function(a){a!==this.visible&&(this.visible=a,this.render())},remove:function(){return this.removeSubViews(),a.View.prototype.remove.apply(this,arguments)},render:function(){if(this.visible&&this.subViews.length){var a=this.$el.html(h.render(this.template)).find(this.itemViewContainer);c.each(this.subViews,function(b){a.append(b.render().$el),b.delegateEvents()}),this.$el.show()}else this.$el.hide();return this}});return{SponsoredPostView:p,SponsoredPostsWrapperView:q}}),define("templates/discovery",["handlebars"],function(a){return a.template(function(a,b,c,d,e){function f(a,b){var d,e="";return e+='\n\n<div class="follow-btn-wrap">\n',d=c["if"].call(a,(d=a&&a.user,null==d||d===!1?d:d.isSession),{hash:{},inverse:eb.program(5,i,b),fn:eb.program(2,g,b),data:b}),(d||0===d)&&(e+=d),e+="\n</div>\n"}function g(a,b){var d,e="";return e+="\n",d=c["if"].call(a,(d=a&&a.user,null==d||d===!1?d:d.isEditable),{hash:{},inverse:eb.noop,fn:eb.program(3,h,b),data:b}),(d||0===d)&&(e+=d),e+="\n\n\n"}function h(a,b){var d="";return d+='\n<a href="#" data-action="edit-profile" target="_blank" class="btn follow-btn edit-profile">'+db(c.gettext.call(a,"Edit profile",{hash:{},data:b}))+"</a>\n"}function i(a,b){var d,e="";return e+="\n",d=c["if"].call(a,(d=a&&a.user,null==d||d===!1?d:d.isPrivate),{hash:{},inverse:eb.program(8,k,b),fn:eb.program(6,j,b),data:b}),(d||0===d)&&(e+=d),e+="\n"}function j(a,b){var d="";return d+='\n<span class="btn follow-btn private">\n<i aria-hidden="true" class="icon-lock"></i>\n<span class="btn-text">'+db(c.gettext.call(a,"Private",{hash:{},data:b}))+"</span>\n</span>\n"}function k(a,b){var d,e="";return e+='\n<a href="'+db((d=a&&a.user,d=null==d||d===!1?d:d.profileUrl,typeof d===fb?d.apply(a):d))+'" class="btn follow-btn ',d=c["if"].call(a,(d=a&&a.user,null==d||d===!1?d:d.isFollowing),{hash:{},inverse:eb.noop,fn:eb.program(9,l,b),data:b}),(d||0===d)&&(e+=d),e+='" data-action="follow-user" data-user="'+db((d=a&&a.user,d=null==d||d===!1?d:d.id,typeof d===fb?d.apply(a):d))+'">\n<span class="btn-text following-text">'+db(c.gettext.call(a,"Following",{hash:{},data:b}))+'</span>\n<span class="btn-text follow-text">'+db(c.gettext.call(a,"Follow",{hash:{},data:b}))+'</span>\n<i aria-hidden="true" class="icon-plus"></i> \n<i aria-hidden="true" class="icon-checkmark"></i>\n</a>\n'}function l(){return"following"}function m(a,b){var d,e="";return e+="\n",d=c.each.call(a,a&&a.collection,{hash:{},inverse:eb.noop,fn:eb.programWithDepth(12,n,b,a),data:b}),(d||0===d)&&(e+=d),e+="\n"}function n(a,b,e){var f,g="";return g+='\n<li class="discovery-post',f=c["if"].call(a,e&&e.thumbnailsEnabled,{hash:{},inverse:eb.noop,fn:eb.program(13,o,b),data:b}),(f||0===f)&&(g+=f),g+=" post-"+db((f=null==b||b===!1?b:b.index,typeof f===fb?f.apply(a):f))+'" id="discovery-link-'+db((f=a&&a.domIdSuffix,typeof f===fb?f.apply(a):f))+'">\n<a ',f=eb.invokePartial(d.linkAttributes,"linkAttributes",a,c,d,b),(f||0===f)&&(g+=f),g+=' class="publisher-anchor-color">\n',f=c["if"].call(a,e&&e.thumbnailsEnabled,{hash:{},inverse:eb.noop,fn:eb.program(15,p,b),data:b}),(f||0===f)&&(g+=f),g+='\n\n<header class="discovery-post-header">\n<h3 title="'+db((f=a&&a.title,typeof f===fb?f.apply(a):f))+'">\n<span data-role="discovery-thread-title" class="title line-truncate" data-line-truncate="'+db((f=e&&e.variant,f=null==f||f===!1?f:f.numLinesHeadline,typeof f===fb?f.apply(a):f))+'">\n'+db(c.html.call(a,a&&a.title,{hash:{},data:b}))+"\n</span>\n\n",f=c["if"].call(a,(f=e&&e.variant,null==f||f===!1?f:f.inlineMeta),{hash:{},inverse:eb.noop,fn:eb.program(17,q,b),data:b}),(f||0===f)&&(g+=f),g+="\n\n</h3>\n\n",f=c.unless.call(a,(f=e&&e.variant,null==f||f===!1?f:f.inlineMeta),{hash:{},inverse:eb.noop,fn:eb.program(25,v,b),data:b}),(f||0===f)&&(g+=f),g+="\n</header>\n\n",f=c.if_all.call(a,(f=e&&e.variant,null==f||f===!1?f:f.contentPreviews),a&&a.preview,{hash:{},inverse:eb.noop,fn:eb.program(30,y,b),data:b}),(f||0===f)&&(g+=f),g+="\n</a>\n</li>\n"}function o(){return" hasthumbnail"}function p(a){var b,c="";return c+='\n<div class="thumbnail"\nstyle="background-image: url('+db((b=a&&a.thumbnailUrl,typeof b===fb?b.apply(a):b))+');">\n</div>\n'}function q(a,b){var d,e="";return e+="\n",d=c["if"].call(a,c.gt.call(a,a&&a.posts,0,{hash:{},data:b}),{hash:{},inverse:eb.program(20,s,b),fn:eb.program(18,r,b),data:b}),(d||0===d)&&(e+=d),e+="\n",d=c["if"].call(a,a&&a.brand,{hash:{},inverse:eb.noop,fn:eb.program(23,u,b),data:b}),(d||0===d)&&(e+=d),e+="\n"}function r(a,b){var e,f="";return f+='\n<span class="inline-meta">\n',e=eb.invokePartial(d.discoveryPostCount,"discoveryPostCount",a,c,d,b),(e||0===e)&&(f+=e),f+="\n</span>\n"}function s(a,b){var d,e="";return e+="\n",d=c["if"].call(a,a&&a.createdAgo,{hash:{},inverse:eb.noop,fn:eb.program(21,t,b),data:b}),(d||0===d)&&(e+=d),e+="\n"}function t(a){var b,c="";return c+='\n<span class="inline-meta">'+db((b=a&&a.createdAgo,typeof b===fb?b.apply(a):b))+"</span>\n"}function u(a){var b,c="";return c+='\n<span class="inline-meta">\n'+db((b=a&&a.brand,typeof b===fb?b.apply(a):b))+"\n</span>\n"}function v(a,b){var d,e="";return e+='\n<ul class="meta">\n',d=c["if"].call(a,c.gt.call(a,a&&a.posts,0,{hash:{},data:b}),{hash:{},inverse:eb.noop,fn:eb.program(26,w,b),data:b}),(d||0===d)&&(e+=d),e+="\n",d=c["if"].call(a,a&&a.createdAgo,{hash:{},inverse:eb.noop,fn:eb.program(28,x,b),data:b}),(d||0===d)&&(e+=d),e+="\n</ul>\n"}function w(a,b){var e,f="";return f+='\n<li class="comments">\n',e=eb.invokePartial(d.discoveryPostCount,"discoveryPostCount",a,c,d,b),(e||0===e)&&(f+=e),f+="\n</li>\n"}function x(a){var b,c="";return c+='\n<li class="time">'+db((b=a&&a.createdAgo,typeof b===fb?b.apply(a):b))+"</li>\n"}function y(a,b){var e,f="";return f+="\n",e=eb.invokePartial(d.discoveryContentPreview,"discoveryContentPreview",a,c,d,b),(e||0===e)&&(f+=e),f+="\n"}function z(a,b){var d,e="";return e+='\nhref="'+db((d=a&&a.redirectUrl,typeof d===fb?d.apply(a):d))+'" ',d=c["if"].call(a,a&&a.brand,{hash:{},inverse:eb.noop,fn:eb.program(33,A,b),data:b}),(d||0===d)&&(e+=d),e+="\n"}function A(){return'target="_blank" rel="nofollow norewrite"'}function B(a,b){var e,f="";return f+="\n<a ",e=eb.invokePartial(d.linkAttributes,"linkAttributes",a,c,d,b),(e||0===e)&&(f+=e),f+=' class="top-comment" data-role="discovery-top-comment">\n<img data-src="'+db((e=a&&a.preview,e=null==e||e===!1?e:e.author,e=null==e||e===!1?e:e.avatar,e=null==e||e===!1?e:e.cache,typeof e===fb?e.apply(a):e))+'" alt="'+db(c.gettext.call(a,"Avatar",{hash:{},data:b}))+'" data-role="discovery-avatar">\n<p><span class="user" data-role="discovery-top-comment-author">'+db((e=a&&a.preview,e=null==e||e===!1?e:e.author,e=null==e||e===!1?e:e.name,typeof e===fb?e.apply(a):e))+'</span> — <span data-role="discovery-top-comment-snippet" class="line-truncate" data-line-truncate="3">'+db((e=a&&a.preview,e=null==e||e===!1?e:e.plaintext,typeof e===fb?e.apply(a):e))+"</span></p>\n</a>\n"}function C(a,b){var d,e="";return e+="\n",d=c["if"].call(a,c.eq.call(a,a&&a.posts,1,{hash:{},data:b}),{hash:{},inverse:eb.program(40,E,b),fn:eb.program(38,D,b),data:b}),(d||0===d)&&(e+=d),e+="\n"}function D(a,b){var d="";return d+="\n"+db(c.gettext.call(a,"1 comment",{hash:{},data:b}))+"\n"}function E(a,b){var d="";return d+="\n"+db(c.gettext.call(a,"%(numPosts)s comments",{hash:{numPosts:a&&a.posts},data:b}))+"\n"}function F(a,b){var e,f="";return f+='\n<div id="'+db((e=a&&a.id,typeof e===fb?e.apply(a):e))+'" class="discovery-main',e=c["if"].call(a,a&&a.thumbnailsEnabled,{hash:{},inverse:eb.noop,fn:eb.program(43,G,b),data:b}),(e||0===e)&&(f+=e),f+=" ",e=c["if"].call(a,a&&a.styleVariant,{hash:{},inverse:eb.noop,fn:eb.program(45,H,b),data:b}),(e||0===e)&&(f+=e),f+='">\n<div id="discovery-note" class="discovery-note">\n',e=eb.invokePartial(d.discoveryNote,"discoveryNote",a,c,d,b),(e||0===e)&&(f+=e),f+='\n</div>\n\n<div class="discovery-options">\n<button class="discovery-help" data-action="discovery-help">\n'+db(c.gettext.call(a,"What's this?",{hash:{},data:b}))+"\n</button>\n</div>\n\n",e=c.each.call(a,a&&a.sections,{hash:{},inverse:eb.noop,fn:eb.programWithDepth(47,I,b,a),data:b}),(e||0===e)&&(f+=e),f+="\n\n</div>\n"}function G(){return" discovery-thumbnails"}function H(a){var b,c="";return c+="style-variant-"+db((b=a&&a.styleVariant,typeof b===fb?b.apply(a):b))}function I(a,b,d){var e,f="";return f+='\n\n<section id="'+db((e=a&&a.id,typeof e===fb?e.apply(a):e))+'" class="'+db((e=a&&a.className,typeof e===fb?e.apply(a):e))+" discovery-col-"+db((e=null==b||b===!1?b:b.index,typeof e===fb?e.apply(a):e))+" ",e=c["if"].call(a,a&&a.showThumbnailsInRows,{hash:{},inverse:eb.noop,fn:eb.program(48,J,b),data:b}),(e||0===e)&&(f+=e),f+='" >\n<header class="discovery-col-header">\n\n',e=c["if"].call(a,c.eq.call(a,a&&a.type,"organic",{hash:{},data:b}),{hash:{},inverse:eb.noop,fn:eb.programWithDepth(50,K,b,d),data:b}),(e||0===e)&&(f+=e),f+="\n\n",e=c["if"].call(a,c.eq.call(a,a&&a.type,"promoted",{hash:{},data:b}),{hash:{},inverse:eb.noop,fn:eb.program(52,L,b),data:b}),(e||0===e)&&(f+=e),f+='\n\n</header>\n<ul class="discovery-posts">\n</ul>\n</section>\n'}function J(){return" thumbnails-rows"}function K(a,b,d){var e="";return e+="\n<h2>"+db(c.gettext.call(a,"Also on %(forumName)s",{hash:{forumName:c.getPartial.call(a,"forumName",d&&d.forum,{hash:{},data:b})},data:b}))+"</h2>\n"}function L(a,b){var d,e="";return e+="\n<h2>",d=c["if"].call(a,a&&a.sponsoredStoriesExperimentActive,{hash:{},inverse:eb.program(55,N,b),fn:eb.program(53,M,b),data:b}),(d||0===d)&&(e+=d),e+="</h2>\n"}function M(a,b){var d="";return d+="\n"+db(c.gettext.call(a,"Sponsored Stories",{hash:{},data:b}))+"\n"}function N(a,b){var d="";return d+="\n"+db(c.gettext.call(a,"Around The Web",{hash:{},data:b}))+"\n"}function O(a,b){var d="";return d+='\n<a href="http://help.disqus.com/customer/portal/articles/666278-introducing-promoted-discovery-and-f-a-q-"\ntarget="_blank">'+db(c.gettext.call(a,"Learn more",{hash:{},data:b}))+"</a>\n"}function P(a,b){var d="";return d+='\n<a href="https://www.surveymonkey.com/s/GHK872T" target="_blank">\n'+db(c.gettext.call(a,"give us feedback",{hash:{},data:b}))+"</a>"}function Q(a){var b,c="";return c+="\n<strong>"+db((b=a&&a.name,typeof b===fb?b.apply(a):b))+"</strong>\n"}function R(a,b){var d,e="";return e+='\n<div class="alert">\n<button class="close" data-action="discovery-help-close" title="'+db(c.gettext.call(a,"Close this box",{hash:{},data:b}))+'">×</button>\n'+db(c.gettext.call(a,"Disqus helps you find new and interesting content, discussions and products. Some sponsors and ecommerce sites may pay us for these recommendations and links. %(learnMore)s or %(feedback)s.",{hash:{learnMore:c.getPartial.call(a,"learnMore",{hash:{},data:b}),feedback:c.getPartial.call(a,"feedback",{hash:{},data:b})},data:b}))+"\n",d=c.if_all.call(a,(d=a&&a.session,d=null==d||d===!1?d:d.thread,null==d||d===!1?d:d.canModerate),a&&a.discoverySettingsUrl,{hash:{},inverse:eb.noop,fn:eb.program(64,S,b),data:b}),(d||0===d)&&(e+=d),e+="\n</div>\n"}function S(a,b){var d,e="";return e+='\n<br/>\n<a href="'+db((d=a&&a.discoverySettingsUrl,typeof d===fb?d.apply(a):d))+'" target="_blank" class="btn">'+db(c.gettext.call(a,"Change %(Discovery)s settings for %(forumName)s",{hash:{Discovery:"Discovery",forumName:(d=a&&a.forum,null==d||d===!1?d:d.name)},data:b}))+"</a>\n"}function T(a,b){var d="";return d+='\n\n<h2 class="highlighted-comment-header">'+db(c.gettext.call(a,"Sponsored Comment",{hash:{},data:b}))+'</h2>\n<ul class="post-list"></ul>\n'}function U(a,b){var d="";return d+='\n<div data-role="media-trigger" class="disqus-video-trigger">\n'+db(c.getPartial.call(a,a&&a.layout,{hash:{},data:b}))+'\n</div>\n<div class="comment-text" data-role="sponsored-text">\n'+db(c.html.call(a,a&&a.message,{hash:{},data:b}))+"\n</div>\n"}function V(a,b){var d,e="";return e+='\n<a data-role="media-expand" data-action="click_media_expand">\n<img src="'+db((d=a&&a.thumbnailUrl,typeof d===fb?d.apply(a):d))+'" alt="'+db(c.gettext.call(a,"Thumbnail",{hash:{},data:b}))+'">\n\n<div class="play-btn"></div>\n</a>\n'}function W(a,b){var d,e="";return e+='\n<a href="'+db((d=a&&a.targetUrl,typeof d===fb?d.apply(a):d))+'" target="_blank" data-action="click_image">\n<img src="'+db((d=a&&a.thumbnailUrl,typeof d===fb?d.apply(a):d))+'" alt="'+db(c.gettext.call(a,"Thumbnail",{hash:{},data:b}))+'">\n</a>\n'}function X(a,b){var d,e="";return e+='\n<div class="reviews">\n<a href="'+db((d=a&&a.targetUrl,typeof d===fb?d.apply(a):d))+'#customerReviews" target="_blank">\n<ul class="rating">\n',d=c.each.call(a,(d=a&&a.productAdMetadata,null==d||d===!1?d:d.stars),{hash:{},inverse:eb.noop,fn:eb.program(75,Y,b),data:b}),(d||0===d)&&(e+=d),e+="\n</ul>\n("+db((d=a&&a.productAdMetadata,d=null==d||d===!1?d:d.customerReviews,typeof d===fb?d.apply(a):d))+")\n</a>\n</div>\n"}function Y(a,b){var d,e="";return e+='\n<li class="',d=c["if"].call(a,a&&a.isSelected,{hash:{},inverse:eb.noop,fn:eb.program(76,Z,b),data:b}),(d||0===d)&&(e+=d),e+='"></li>\n'}function Z(){return"yellow-star"}function $(a,b){var e,f="";return f+='\n<a href="'+db((e=a&&a.targetUrl,typeof e===fb?e.apply(a):e))+'" target="_blank" data-action="click_image">\n<img src="'+db((e=a&&a.thumbnailUrl,typeof e===fb?e.apply(a):e))+'" alt="'+db(c.gettext.call(a,"Thumbnail",{hash:{},data:b}))+'">\n<span class="product-title">'+db((e=a&&a.productAdMetadata,e=null==e||e===!1?e:e.title,typeof e===fb?e.apply(a):e))+"</span>\n</a>\n",e=eb.invokePartial(d.productReviews,"productReviews",a,c,d,b),(e||0===e)&&(f+=e),f+="\n"}function _(a,b){var e,f="";return f+='\n<a data-role="media-expand" data-action="click_media_expand" class="product-video-trigger">\n<img src="'+db((e=a&&a.thumbnailUrl,typeof e===fb?e.apply(a):e))+'" alt="'+db(c.gettext.call(a,"Thumbnail",{hash:{},data:b}))+'">\n\n<div class="play-btn"></div>\n</a>\n<a href="'+db((e=a&&a.targetUrl,typeof e===fb?e.apply(a):e))+'" target="_blank" data-action="click_image">\n<span class="product-title">'+db((e=a&&a.productAdMetadata,e=null==e||e===!1?e:e.title,typeof e===fb?e.apply(a):e))+"</span>\n</a>\n",e=eb.invokePartial(d.productReviews,"productReviews",a,c,d,b),(e||0===e)&&(f+=e),f+="\n"}function ab(){return'\n<svg class="countdown-circle-back">\n<path transform="rotate(90 35,35)" d="m10,35c0,-13.812155 11.187845,-25 25,-25c13.812153,0 25,11.187845 25,25c0,13.812153 -11.187847,25 -25,25c-13.812155,0 -25,-11.187847 -25,-25z"/>\n</svg>\n<svg class="countdown-circle">\n<path data-role="countdown-path" transform="rotate(90 35,35)" d="m10,35c0,-13.812155 11.187845,-25 25,-25c13.812153,0 25,11.187845 25,25c0,13.812153 -11.187847,25 -25,25c-13.812155,0 -25,-11.187847 -25,-25z"/>\n</svg>\n<div class="countdown-text" data-role="countdown-text"></div>\n'}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,a.helpers),d=this.merge(d,a.partials),e=e||{};var bb,cb="",db=this.escapeExpression,eb=this,fb="function";return bb=c.partial.call(b,"followButton",{hash:{},inverse:eb.noop,fn:eb.program(1,f,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"discoveryCollection",{hash:{},inverse:eb.noop,fn:eb.program(11,m,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"linkAttributes",{hash:{},inverse:eb.noop,fn:eb.program(32,z,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"discoveryContentPreview",{hash:{},inverse:eb.noop,fn:eb.program(35,B,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"discoveryPostCount",{hash:{},inverse:eb.noop,fn:eb.program(37,C,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"discoveryMain",{hash:{},inverse:eb.noop,fn:eb.program(42,F,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"learnMore",{hash:{},inverse:eb.noop,fn:eb.program(57,O,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"feedback",{hash:{},inverse:eb.noop,fn:eb.program(59,P,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n\n",bb=c.partial.call(b,"forumName",{hash:{},inverse:eb.noop,fn:eb.program(61,Q,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n\n",bb=c.partial.call(b,"discoveryNote",{hash:{},inverse:eb.noop,fn:eb.program(63,R,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"sponsoredCommentWrapper",{hash:{},inverse:eb.noop,fn:eb.program(66,T,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"sponsoredComment",{hash:{},inverse:eb.noop,fn:eb.program(68,U,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"expandableMedia",{hash:{},inverse:eb.noop,fn:eb.program(70,V,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"clickableImage",{hash:{},inverse:eb.noop,fn:eb.program(72,W,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"productReviews",{hash:{},inverse:eb.noop,fn:eb.program(74,X,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"productAd",{hash:{},inverse:eb.noop,fn:eb.program(78,$,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"expandableProductAd",{hash:{},inverse:eb.noop,fn:eb.program(80,_,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n\n",bb=c.partial.call(b,"countdownTimer",{hash:{},inverse:eb.noop,fn:eb.program(82,ab,e),data:e}),(bb||0===bb)&&(cb+=bb),cb+="\n"})}),define("discovery/main",["backbone","underscore","jquery","when","core/analytics/jester","common/bus","common/defines","common/juggler","common/templates","remote/config","discovery/collections","discovery/custom-comments","discovery/helpers","discovery/variants","discovery/views","discovery/views/sponsored-comment","templates/discovery"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){"use strict";q();var r={};return r.DiscoveryApp=a.Model.extend({defaults:{name:"promoted",inlineMeta:!0,contentPreviews:!1,organicEnabled:!0,promotedEnabled:!0,topPlacementEnabled:!1,redirectUrl:"http://redirect.disqus.com/url",listRelatedLimit:null,listPromotedLimit:null,httpTimeout:1e4,sourceThread:null,sourceForum:null,sourceThreadUrl:null,useTaboolaAdserver:!1,organicExperimentsEnabled:!1,discoverySettingsUrl:null,help:!1,display:!1,columnEveningEnabled:!0,numColumns:2,minPerColumn:1,maxPerColumn:null,toleranceCoefficient:1.2,maxOrganicTextLinks:null,maxPromotedTextLinks:null,maxOrganicThumbnailLinks:null,maxPromotedThumbnailLinks:null,maxPromotedThumbnailLinksMobile:null,minWidthForColumnLayout:440,containerId:"discovery",topPlacementContainerId:"discovery-top",innerContainerName:"discovery-main",sectionNames:null,collectionTagName:"ul",collectionClassName:"discovery-posts",promotedSide:"right",organicThumbnailClass:"discovery-thumbnails",promotedThumbnailClass:"doublethumbnails",styleVariant:"default",sponsoredCommentStyleVariant:"default",sponsoredStoriesExperimentActive:!1,injectScriptUrl:void 0,hasSpaceForSponsoredComment:!1,sponsoredCommentsEnabled:!1,sponsoredCommentId:null,consoleLoggingEnabled:g.debug,lineTruncationEnabled:!0,session:null,numLinesHeadline:2,requestBinOverride:null,thumbnailMinHeight:200,thumbnailMinWidth:200,thumbnailAspectRatioMin:.5,thumbnailAspectRatioMax:1.8,shouldEvenThumbnails:!1,thumbnailTimeout:2e3,minThumbnailsNeeded:null,js:null,css:null,seenByUserThresholdTime:2e3,inViewport:!1,trackAdVisibility:null,position:null,topEdgeOffset:0,bottomEdgeOffset:1/0},get:function(b){if(b in this.constructor.loggedinOverrides){var c=this.get("session");if(c&&c.isLoggedIn())return this.constructor.loggedinOverrides[b]}return a.Model.prototype.get.apply(this,arguments)},initialize:function(a){var c=this;c.collections=[],c.userSuggestions=a.userSuggestions,c.configure(a),c.once("change:display",function(){c.onComplete()}),b.bindAll(c,"getContentPreviews","validateData","prepareData","showData","updatePosition","reportIfVisible"),c.run(),c.get("trackAdVisibility")&&c.trackVisibility()},trackVisibility:function(){this.debouncedReportIfVisible=b.debounce(this.reportIfVisible,this.get("seenByUserThresholdTime")),this.debouncedUpdatePosition=b.debounce(this.updatePosition,200),this.listenTo(f,{"window.scroll window.resize":this.debouncedUpdatePosition}),this.listenTo(this,"change:inViewport",this.scheduleVisibilityReport),this.listenTo(this,"change:position",this.updateVisibility)},configure:function(a){a=a||{};var c=this,d=n[c.get("name")]||{};if(c.get("thumbnailsEnabled")&&b.extend(d,n.thumbnails),c.set(b.defaults(a,d)),c.has("maxPerColumn")){var e=c.get("promotedEnabled")?1:2;c.set("maxOrganicTextLinks",e*c.get("maxPerColumn")),c.set("maxPromotedTextLinks",c.get("maxPerColumn"))}else c.has("maxOrganicTextLinks")&&c.set("maxPerColumn",c.get("maxOrganicTextLinks"));c.set("innerContainerId",c.get("innerContainerName")+"-"+c.cid),c.get("sectionNames")||c.set("sectionNames",["col-organic","col-promoted"]),c.set("sectionIds",b.map(c.get("sectionNames"),function(a){return a+"-"+c.cid}))},numSections:function(){return this.collections.length||(this.get("promotedEnabled")?2:1)},commonClickMetadata:function(){var a=this.get("sourceThread"),b=this.get("sourceForum"),c={redirectUrl:this.get("redirectUrl"),sourceThreadId:a.id,forumId:b.pk,forum:b.id,majorVersion:this.majorVersion(),requestBin:this.get("requestBin")},d=this.get("session");return d&&d.isLoggedIn()&&(c.userId=d.user.id),c},augmentModels:function(a){a.invoke("set",this.commonClickMetadata())},getViewportWidth:function(){return c(document).width()},getThumbnailLinksMobile:function(a){return this.getViewportWidth()<=480&&this.get("max"+a+"ThumbnailLinksMobile")},augmentCollection:function(a,b){var c=this;a.meta={max:function(){return c.getThumbnailLinksMobile(b)||c.get("max"+b+"ThumbnailLinks")||c.get("max"+b+"TextLinks")},min:function(){return c.get("minThumbnailsNeeded")||c.get("numColumns")/c.numSections()*c.get("minPerColumn")},name:b}},run:function(){var a=b.bind(this.configureContainerId,this),c=b.bind(this.onComplete,this);this.getData().then(a).then(this.validateData).then(this.prepareData).then(this.showData).otherwise(c)},getIntendedPlacement:function(){var a="";return this.threads&&(a+=this.threads.meta.max()+" unpaid ",a+=this.get("maxOrganicThumbnailLinks")?"thumbnail":"text",a+=" links "),this.ads&&this.get("promotedEnabled")&&(a+=a&&"and ",a+=this.ads.meta.max()+" paid ",a+=this.get("maxPromotedThumbnailLinks")?"thumbnail":"text",a+=" links "),a+=this.get("topPlacementEnabled")?"above":"below",a+=" embed"},generateFetchOptions:function(a,b){var c={timeout:this.get("httpTimeout"),data:{thread:this.get("sourceThread").id,limit:2*a.meta.max()},sourceThread:this.get("sourceThread")};return b&&(c.data.limit=4,c.sourceThreadUrl=this.get("sourceThreadUrl"),c.forum=this.get("sourceForum").id,c.placement=this.getIntendedPlacement()),c},getDataOrganic:function(){var a=this;a.threads=new k.RelatedThreadCollection(null,{fetchLimit:this.get("listRelatedLimit")}),a.augmentCollection(a.threads,"Organic");var b=this.generateFetchOptions(a.threads);b.humanFriendlyTimestamp=!0;var c=d(a.threads.fetch(b));if(a.get("contentPreviews")&&(c=c.then(function(){return a.getContentPreviews().otherwise(function(a){m.log("There was a problem getting snippets: ",a)})})),a.get("organicExperimentsEnabled")){var e=a.getOrganicExperiment().then(function(b){b&&a.organicExperimentHandlers[b]&&a.organicExperimentHandlers[b].call(a)});return d.join(c,e)}return c},activateThumbnails:function(){var a=this;m.log("Organic thumbnails must meet the following requirements:"),m.log("Minimum width",a.get("thumbnailMinWidth"),"px"),m.log("Minimum height",a.get("thumbnailMinHeight"),"px"),m.log("Minimum aspect ratio",a.get("thumbnailAspectRatioMin"),"px"),m.log("Maximum aspect ratio",a.get("thumbnailAspectRatioMax"),"px"),a.set({columnEveningEnabled:!1,contentPreviews:!1})},deactivateThumbnails:function(){this.set({columnEveningEnabled:!0,contentPreviews:!0})},organicExperimentHandlers:{"embed:organic_discovery:tempest:thumbnails:active":function(){this.activateThumbnails(),this.set("minThumbnailsNeeded",2),this.set("maxOrganicTextLinks",4),this.set("maxOrganicThumbnailLinks",4),this.set("shouldEvenThumbnails",!0)}},getOrganicExperiment:function(){var a=this,b=d.defer();return a.get("promotedEnabled")?b.resolve(null):(c.ajax({url:k.AdvertisementCollection.prototype.url,data:{count:0},dataType:"jsonp",success:function(c){var d;c&&c.bin&&(d=c.bin,a.set("requestBin",d)),b.resolve(d)},error:function(){b.resolve(null)}}),b.promise)},fetchAds:function(a){return d(this.ads.fetch(a))},getDataPromoted:function(){var a=this,c=a.get("useTaboolaAdserver")?k.TaboolaAdvertisementCollection:k.AdvertisementCollection;a.ads=new c(null,{fetchLimit:a.get("listPromotedLimit")}),a.augmentCollection(a.ads,"Promoted");var d=a.generateFetchOptions(a.ads,a.get("useTaboolaAdserver"));a.ads.fetchThumbnailsKey&&a.get("maxPromotedThumbnailLinks")>0&&(d.data[a.ads.fetchThumbnailsKey]=1),null!==a.get("sponsoredCommentId")&&(d.data.HTTP_X_DEBUG=1,d.data.HTTP_X_DEBUG_AD_ID=a.get("sponsoredCommentId")),null!==a.get("requestBinOverride")&&(d.data.HTTP_X_DEBUG=1,d.data.HTTP_X_DEBUG_BIN=a.get("requestBinOverride"));var e=a.fetchAds(d);return e.then(function(b){var c=b.bin;return c?a.has("requestBin")?e:(a.set("requestBin",c),a.handleExperiment(c)):e}).then(b.bind(a.augmentSponsoredCommentCollection,a)).always(function(){a.hasSponsoredComments()&&a.get("sponsoredCommentsEnabled")&&a.set("topPlacementEnabled",!1)})},augmentSponsoredCommentCollection:function(){var a=this.ads.sponsoredComments&&this.ads.sponsoredComments.length&&this.ads.sponsoredComments.at(0);if(a&&a.post&&a.thread){var c=a.get("ad_provider");if(c&&(this.ads.sponsoredComments.reset(),b.has(l.handlers,c)))return l.handlers[c].call(this,a)}},hasSponsoredComments:function(){return this.ads&&this.ads.sponsoredComments&&this.ads.sponsoredComments.length},configureContainerId:function(){this.get("topPlacementEnabled")&&this.set("containerId",this.get("topPlacementContainerId"))},getData:function(){var a=d();if(this.get("organicEnabled")){var c=this.getDataOrganic();a=a.always(function(){return c})}if(this.get("promotedEnabled")||this.get("sponsoredCommentsEnabled")){var e=this.getDataPromoted();a=a.always(function(){return e})}return a.always(b.bind(this.sequenceDataCollections,this))},sequenceDataCollections:function(){this.collections=[this.threads],this.get("promotedEnabled")&&this.collections.push(this.ads),this.collections=b.compact(this.collections),"left"===this.get("promotedSide")&&(this.get("sectionNames").reverse(),this.get("sectionIds").reverse(),this.collections.reverse())},handleExperiment:function(a){return this.experimentHandlers[a]?this.experimentHandlers[a].call(this):void 0},experimentHandlers:{"embed:sponsored_comment:tempest:display:moat_direct_script":function(){this.set({injectScriptUrl:"//js.moatads.com/disqus424396128776/moatad.js#moatClientLevel1=Disqus&moatClientLevel2=<%=adId%>&moatClientLevel3=<%=adId%>&moatClientLevel4=<%=adId%>&moatClientSlicer1=<%=threadId%>&moatClientSlicer2=-"})},"embed:sponsored_comment:tempest:display:moat_script":function(){this.set({injectScriptUrl:"//z.moatads.com/247realmediaappnexus789806200409/moatad.js#moatClientLevel1=Disqus&moatClientLevel2=<%=adId%>&moatClientLevel3=<%=adId%>&moatClientLevel4=<%=adId%>&moatClientSlicer1=<%=threadId%>&moatClientSlicer2=-"})},"embed:sponsored_comment:tempest:display:integral_script":function(){this.set({injectScriptUrl:"//pixel.adsafeprotected.com/jload?anId=7253&advId=<%=adId%>&campId=<%=adId%>&pubId=Disqus&chanId=<%=forumId%>&placementId=<%=threadId%>"})},"embed:promoted_discovery:tempest:attribution:sponsored_stories":function(){this.set("sponsoredStoriesExperimentActive",!0)},"embed:sponsored_comment:tempest:display:auto_expand":function(){this.set({sponsoredCommentExperiment:"auto_expand"})},"embed:sponsored_comment:tempest:display:bubble_25perc":function(){this.trigger("init:bubble",{targetPerc:.25,reportOptions:m.binToEventParams(this.get("requestBin"))})},"embed:sponsored_comment:tempest:display:bubble_50perc":function(){this.trigger("init:bubble",{targetPerc:.5,reportOptions:m.binToEventParams(this.get("requestBin"))})},"embed:sponsored_comment:tempest:display:bubble_75perc":function(){this.trigger("init:bubble",{targetPerc:.75,reportOptions:m.binToEventParams(this.get("requestBin"))})},"embed:promoted_discovery:thumbnail:display:small_images_old":function(){this.get("thumbnailsEnabled")&&this.set({styleVariant:"old",maxPromotedThumbnailLinks:4,inlineMeta:!0,numColumns:1})},"embed:promoted_discovery:thumbnail:display:large_images":function(){this.set({styleVariant:"big",maxPromotedThumbnailLinks:6,inlineMeta:!0,numColumns:1})},"embed:promoted_discovery:tempest:taboola:active":function(){return this.set("experimentVariant","taboola"),this.set("useTaboolaAdserver",!0),this.getDataPromoted()},"embed:promoted_discovery:tempest:taboola:thumbnails":function(a){return this.activateThumbnails(),this.set(b.extend({maxOrganicThumbnailLinks:3,maxPromotedThumbnailLinks:3,useTaboolaAdserver:!0,promotedSide:"left",numLinesHeadline:3},a)),this.getDataPromoted()},"embed:promoted_discovery:tempest:taboola:hybridthumbnails":function(){var a="embed:promoted_discovery:tempest:taboola:thumbnails";return this.experimentHandlers[a].call(this,{maxOrganicThumbnailLinks:0})},"embed:promoted_discovery:tempest:taboola:ourpdthumbnails":function(){this.activateThumbnails(),this.set({maxOrganicThumbnailLinks:0,maxPromotedThumbnailLinks:3,useTaboolaAdserver:!1,promotedSide:"left",numLinesHeadline:3})},"embed:promoted_discovery:tempest:thumbnails:control":function(){this.set({maxPromotedThumbnailLinks:!1,promotedSide:"max"===this.get("name")?"left":"right",numLinesHeadline:2})
},"embed:promoted_discovery:tempest:thumbnails:quarantine":function(){return this.experimentHandlers["embed:promoted_discovery:tempest:thumbnails:control"].call(this)}},getContentPreviews:function(){var a=this.threads.map(function(a){return parseInt(a.get("id"),10)});if(a.length<this.threads.meta.min())return d.resolve();a.sort(function(a,b){return a-b}),this.previews=new k.PostCollection;var c=d(this.previews.fetch({data:{thread:a},timeout:this.get("httpTimeout")}));return c.then(b.bind(this.attachPreviews,this))},attachPreviews:function(){var a=this;a.previews.each(function(b){var c=b.get("thread"),d=a.threads.get(c);d&&d.set("preview",b)})},validateCollectionMin:function(){for(var a,b,c=this.collections,d=this.get("sectionNames").slice(0),e=this.get("sectionIds").slice(0),f=c.length;f>0;)a=c[--f],b=a.meta.min(),a.length<b&&(c.splice(f,1),d.splice(f,1),e.splice(f,1),f=c.length);this.set("sectionNames",d),this.set("sectionIds",e)},prepareData:function(){this.trimCollections(),this.enableAdBasedExperiments()},trimCollections:function(){for(var a,b,c=this.collections,d=c.length,e=0;d>e;e++)a=c[e],b=a.meta.max(),a.length>b&&a.reset(a.slice(0,b));this.get("shouldEvenThumbnails")&&this.threads.length%2!==0&&(m.log("Number of related threads ("+this.threads.length+") is odd.","Removing one to make even."),this.threads.pop())},enableAdBasedExperiments:function(){if(this.ads&&this.ads.length){var a=j.discovery&&j.discovery.stories_ad_ids;a=(a+"").split(",");var c={};b.each(a,function(a){c[a]=!0});var d=function(a){return b.has(c,a.id)};b.any(this.ads.models,d)&&this.handleExperiment("embed:promoted_discovery:tempest:attribution:sponsored_stories")}},isThumbnailOk:function(a){var b=this,c=a.width,d=a.height,e=c/d;return c>=b.get("thumbnailMinWidth")&&d>=b.get("thumbnailMinHeight")&&e>=b.get("thumbnailAspectRatioMin")&&e<=b.get("thumbnailAspectRatioMax")},areThumbnailsGood:function(a,e){var f=this;return a.map(function(a){var g,h=new Image,i=d.defer();return c(h).on("load",function(){f.isThumbnailOk(this)?(e.push(a),i.resolve(a.id)):(m.log("Image is not good. Width",this.width,"Height",this.height,"Aspect Ratio",this.width/this.height,"Src",this.src),i.reject("Image is not good")),clearTimeout(g)}).on("error",function(){m.log("Image could not be loaded. Src",this.src),i.reject("Error loading image"),clearTimeout(g)}),h.src=a.get("thumbnail"),g=b.delay(function(){m.log("Image is taking too long to load. Src",h.src),i.reject("Image taking too long")},f.get("thumbnailTimeout")),i.promise})},validateThumbnails:function(a){function c(){return m.log("Verified minimum number of thumbnails needed: "+g),d.some(j,h).then(function(c){var d=a.pluck("id"),e=b.difference(d,c);m.log("Maximum number ("+h+") of thumbnails verified.","Removing excess models.",e),a.reset(i)},function(){m.log("Cannot reach thumbnail max. Carrying on with the amount obtained: "+i.length),a.reset(i)})}function e(){m.log("Cannot get enough good thumbnails. Falling back to normal design."),f.set("maxOrganicThumbnailLinks",0),1===f.collections.length&&f.deactivateThumbnails()}if(a.length){var f=this,g=a.meta.min(),h=a.meta.max(),i=[],j=f.areThumbnailsGood(a,i);return j.length<g?d.resolve(e()):d.some(j,g).then(c,e)}},validateData:function(){return m.isMobile()&&this.ads&&this.ads.length>0&&this.ads.remove(this.ads.where({mobile:!1})),this.validateCollectionMin(),b.each(this.collections,this.augmentModels,this),this.threads&&this.get("maxOrganicThumbnailLinks")?this.validateThumbnails(this.threads):void 0},renderViews:function(){if(this.renderSponsoredComments(),!this.collections.length)throw new Error("Not enough data");this.renderMainViews(),this.updateVisibility()},renderMainViews:function(){function a(a){b.extend(this,a),this.appContext=d.toJSON()}var d=this,e=document.getElementById(d.get("containerId"));if(!e)throw new Error("No container on the DOM");var f=d.mainView=new o.MainView(new a({el:e,model:d}));f.render();var g=d.get("sectionIds"),h=d.get("collectionTagName"),i=d.get("collectionClassName");d.views=b.map(d.collections,function(b,e){var f=!!d.get("max"+b.meta.name+"ThumbnailLinks"),j=new o.BaseCollectionView(new a({collection:b,el:c("#"+g[e]+" "+h+"."+i),context:{thumbnailsEnabled:f}}));return b.meta.view=j,j}),d.get("maxPromotedThumbnailLinks")?f.$el.find("#"+d.get("innerContainerId")).addClass("doublethumbnails"):2===d.views.length&&f.$el.find("#"+d.get("innerContainerId")).addClass("doublesection"),b.invoke(d.views,"render")},canShowSponsoredComment:function(){return this.get("hasSpaceForSponsoredComment")&&this.get("sponsoredCommentsEnabled")},renderSponsoredComments:function(){if(this.hasSponsoredComments()&&this.get("sponsoredCommentsEnabled")&&!this.get("topPlacementEnabled")){var a=document.getElementById(this.get("topPlacementContainerId"));if(a){var b=new p.SponsoredPostsWrapperView({el:a,collection:this.ads.sponsoredComments,styleVariant:this.get("sponsoredCommentStyleVariant"),session:this.get("session"),userSuggestions:this.userSuggestions,visible:this.canShowSponsoredComment(),sponsoredCommentExperiment:this.get("sponsoredCommentExperiment"),sourceForum:this.get("sourceForum"),sourceThread:this.get("sourceThread"),requestBin:this.get("requestBin"),injectScriptUrl:this.get("injectScriptUrl")});b.render(),this.listenTo(this,"change:hasSpaceForSponsoredComment",function(){b.setVisible(this.canShowSponsoredComment())})}}},areThumbnailsViable:function(){return b.any(this.collections,function(a){return this.get("max"+a.meta.name+"ThumbnailLinks")},this)},evenColumns:function(){var a=this;if(!a.areThumbnailsViable())if(a.get("columnEveningEnabled")&&a.mainView.$el.width()>a.get("minWidthForColumnLayout")){var c=new o.TwoColumn({views:a.views,fudge:this.get("toleranceCoefficient")});c.render()}else{var d=b.min(b.pluck(a.collections,"length"));b.each(a.views,function(a){for(;a.collection.length>d;)a.collection.pop()})}},showData:function(){this.renderViews(),this.manageAdblock(),this.evenColumns(),this.set("display",!0)},manageAdblock:function(){var a=this.ads&&this.ads.meta.view;if(a&&m.looksAdblocked(a.el)){if(!(this.views.length>1))throw new Error("No organic results and promoted results appear to be blocked");this.mainView.remove({cloneContainer:!0}),this.ads.reset(null,{silent:!0}),this.validateCollections(),this.renderViews()}},onComplete:function(a){var b=m.log;return this.onCompleteCalled?b("Error: Final reporting function called more than once"):(this.onCompleteCalled=!0,a&&b("It looks like there was a problem:",a),void this.report("init_discovery",this.snapshot()))},report:function(a,b){var c=m.log,d=h.client("juggler");return d?(c("Sending analytics data about this Discovery impression:"),c(a+":",b),this.get("darkJester")&&h.client("jester",!0).emit(a,b),void d.emit(a,b)):void c("Cannot report app state, no client found")},updatePosition:function(a){this.set("position",a)},updateVisibility:function(){var a=this.mainView&&this.get("position");a&&this.set("inViewport",this.isInViewport())},isInViewport:function(){return this.mainView.invalidateOffset(),this.mainView.isVisible(this.get("position"))},reportIfVisible:function(){if(this.get("inViewport")){this.stopListening(f,"window.scroll window.resize");var a=this.getAdsInfo();a.promoted&&e.client.emit({verb:"view",object_type:"advertisement",object_id:a.promoted_ids,zone:"thread",area:"discovery"})}},scheduleVisibilityReport:function(){this.get("inViewport")&&this.debouncedReportIfVisible()},majorVersion:function(){return this.get("promotedEnabled")?"midway":"metadata"},snapshot:function(){var a=this.threads,c={major_version:this.majorVersion(),internal_organic:a.length,external_organic:0,promoted:0,display:this.get("display"),placement:this.get("containerId")===this.get("topPlacementContainerId")?"top":"bottom"};return this.has("requestBin")&&(c.bin=this.get("requestBin")),b.extend(c,this.getAdsInfo()),c},getAdsInfo:function(){var a={};return this.get("promotedEnabled")&&b.extend(a,{promoted:this.ads.length,promoted_ids:JSON.stringify(this.ads.pluck("advertisement_id"))}),a}},{loggedinOverrides:{topPlacementEnabled:!1,promotedSide:"right"}}),r.init=function(a,c,d,e,f){var g=a.forum.get("settings"),h=m.generateVariantConfig(g,c,d,e);if(h){var i=b.extend(h,f,{sourceThread:a.toJSON(),sourceForum:a.forum.toJSON(),sourceThreadUrl:a.currentUrl||document.referrer,discoverySettingsUrl:g.discoverySettingsUrl,sponsoredCommentsEnabled:g.sponsoredCommentsEnabled,topPlacementEnabled:h.topPlacementEnabled&&f.hasSpaceForSponsoredComment}),k=b.extend({discovery_log_to_browser:"consoleLoggingEnabled",organic_discovery_experiments:"organicExperimentsEnabled",dark_jester:"darkJester"},(j.discovery||{}).switches);if(b.each(k,function(a,b){i[a]=e.enabled(b)}),e.enabled("sc_preview")){var l=c.get("sponsoredCommentAdId")||d.sponsored_comment_id;l&&(i.sponsoredCommentsEnabled=!0,i.sponsoredCommentId=l);var n=c.get("discoveryRequestBin");n&&(i.requestBinOverride=n)}var o=["lineTruncationEnabled","consoleLoggingEnabled"];return m.config(b.defaults(b.pick(i,o),b.pick(r.DiscoveryApp.prototype.defaults,o))),new r.DiscoveryApp(i)}},r}),define("discovery",function(){});