").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using" in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length){return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)})}var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f){return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d}},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position")){a=a.offsetParent}return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void (f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});function protectAgainstDoubleClick(a,b){$(a).one("click",function(){var c=new Date().getTime();$(this).click(function(){var d=new Date().getTime()-c;if(d<2000){return false}else{c=new Date().getTime();if(b){b()}return true}});if(b){b();return true}})}"use strict";$(document).ready(function(){UserAction_onLoad.onLoadNotificationsWidgetAction();UserAction_onLoad.onLoadLoginActions();UserAction_onLoad.onLoadForceUpdate()});var CommonUtils=(function(){addOrigin=function(c){var b=window.location.pathname+window.location.search;var a=$("#isP13n").val();if(a!==undefined&&a=="true"){var d=(window.location.search.indexOf("?")>=0)?"&":"?";b=window.location.pathname+window.location.search+d+"p13nId="+$("#p13n-id").val()+"&p13nType="+$("#p13n-type").val()}c.href=c.href+"&orig="+encodeURIComponent(b);return true},createEmailAddress=function(b,c,d){var a=b.name;if(c){a=a+"@"+c}else{if(a.indexOf("@")===-1){a=a+"@infoq.com"}}b.href="mailto:"+a;if(d){b.innerHTML=a}return true},encodeAuthorName=function(a){if(null!==a){a=a.replace(/-/g,"~");a=a.replace(/ /g,"-")}return a},getQueryParameterByName=function(b){var a=RegExp("[?&]"+b+"=([^&]*)").exec(window.location.search);return a&&decodeURIComponent(a[1].replace(/\+/g," "))},hmsToSeconds=function(d){var c=d.split(":"),b=0,a=1;while(c.length>0){b+=a*parseInt(c.pop(),10);a*=60}return b},validateGuidePhoneNumber=function(b,a){var d=$(b).closest("form");var c=d.find("input[name=phoneNumber]").val();c=c.replace(/\s+/g,"");if(/^\+?\d{10,}$/.test(c)){return true}d.find(".error").text(a);return false},clearGuidePhoneNumber=function(a){var b=$(a).closest("form");b.find(".error").html(" ")};return{addOrigin:addOrigin,createEmailAddress:createEmailAddress,encodeAuthorName:encodeAuthorName,getQueryParameterByName:getQueryParameterByName,hmsToSeconds:hmsToSeconds,validateGuidePhoneNumber:validateGuidePhoneNumber,clearGuidePhoneNumber:clearGuidePhoneNumber}})();var ContentSummary={switchEducationalContentTab:function(b){var a=$("#selectedTab");a.val(b);this.updateEducationalContent(0)},switchProfileTab:function(e,b,a){var c=$("#selectedTab");var d=c.attr("value");this.unselectTab(d);c.attr("value",e);$("#authorName").attr("value",b);this.updateContent(a)},setStartIndex:function(a){document.getElementById("startIndex").value=a;this.updateContent()},updateEducationalContent:function(b){var a=$("#selectedTab").val();$("#startIndex").val(b);try{$.ajax({type:"POST",url:"/rightbar.action",beforeSend:function(){$("#disabledZone").show()},complete:function(){$("#disabledZone").hide()},data:{language:InfoQConstants.language,startIndex:$("#startIndex").val(),selectedTab:a},dataType:"html",success:function(d){if(d){$("#"+a).html(d)}}})}catch(c){alert("caught exception: "+c.toString())}},updateContent:function(a){try{$.ajax({type:"POST",url:"/rightbar.action",beforeSend:function(){$("#disabledZone").show()},complete:function(){$("#disabledZone").hide()},data:{language:InfoQConstants.language,startIndex:$("#startIndex").val(),selectedTab:$("#selectedTab").val(),authorName:$("#authorName").val(),maxResults:a},dataType:"html",success:doOnResult})}catch(b){alert("caught exception: "+b.toString())}},setSelectedTab:function(){var a=$("#selectedTab").attr("value");if(a){$("li#"+a).addClass("current")}},unselectTab:function(a){var b=$("li#"+a);if(b){$("li#"+a+">a").removeClass("current");$("li#"+a).removeClass("current")}},determine300x250BannerPosition:function(){var a=2;ContentSummary.bannerPosition=a},update300x250Banner:function(){if(this.bannerPosition<=0){return}try{$.ajax({type:"POST",url:bannerURL,data:{language:InfoQConstants.language,type:"300x250",forceBannerDisplay:ContentSummary.forceBannerDisplay},success:this.render300x250Banner})}catch(a){alert("caught exception: "+a.toString())}},render300x250Banner:function(a){if(a.replace(/^\s+|\s+$/g,"")!=""&&document.getElementById("adIndex"+ContentSummary.bannerPosition)!=null&&document.getElementById("banner300x250")!=null){document.getElementById("adIndex"+ContentSummary.bannerPosition).innerHTML=a}else{if(document.getElementById("adIndex"+ContentSummary.bannerPosition)!=null){document.getElementById("adIndex"+ContentSummary.bannerPosition).style.height="0"}}}};function doOnResult(a){if(a!=""&&$("#rightbarcontentbox")){ContentSummary.setSelectedTab();$("#rightbarcontentbox").html(a);if($(".text_info_article").size()>0){$($(".banner_type3").get(1)).css("display","none")}}}function renderTextLinks(a){if(a!=""&&document.getElementById("hometextlinks")!=null){document.getElementById("hometextlinks").innerHTML=a}}function renderLeftbarTextLinks(a){if(a!=""&&document.getElementById("textlinks")!=null){document.getElementById("textlinks").innerHTML=a}}function showPresentations(){document.getElementById("rightbarcontentbox").innerHTML='
\r\n
'+JSi18n.contentSummary_showPresentations_1+"
"+JSi18n.contentSummary_showPresentations_2+"
"+JSi18n.contentSummary_showPresentations_3+"
"}function showInterviews(){document.getElementById("rightbarcontentbox").innerHTML='
\r\n
'+JSi18n.contentSummary_showInterviews_1+"
"+JSi18n.contentSummary_showInterviews_2+"
"+JSi18n.contentSummary_showInterviews_3+"
"}function showMinibooks(){document.getElementById("rightbarcontentbox").innerHTML='
\r\n
'+JSi18n.contentSummary_showMinibooks_1+"
"+JSi18n.contentSummary_showMinibooks_2+"
- Scrum Checklists
- Domain Driven Design Quickly
- Visual Studio .NET Tips and Tricks
"}
/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
;jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(ah,O,Y){function U(b){var a=O.console;ad[b]||(ad[b]=!0,ah.migrateWarnings.push(b),a&&a.warn&&!ah.migrateMute&&(a.warn("JQMIGRATE: "+b),ah.migrateTrace&&a.trace&&a.trace()))}function al(d,b,c,f){if(Object.defineProperty){try{return Object.defineProperty(d,b,{configurable:!0,enumerable:!0,get:function(){return U(f),c},set:function(a){U(f),c=a}}),Y}catch(e){}}ah._definePropertyBroken=!0,d[b]=c}var ad={};ah.migrateWarnings=[],!ah.migrateMute&&O.console&&O.console.log&&O.console.log("JQMIGRATE: Logging is active"),ah.migrateTrace===Y&&(ah.migrateTrace=!0),ah.migrateReset=function(){ad={},ah.migrateWarnings.length=0},"BackCompat"===document.compatMode&&U("jQuery is not compatible with Quirks Mode");var X=ah("
",{size:1}).attr("size")&&ah.attrFn,P=ah.attr,L=ah.attrHooks.value&&ah.attrHooks.value.get||function(){return null},aj=ah.attrHooks.value&&ah.attrHooks.value.set||function(){return Y},aa=/^(?:input|button)$/i,ai=/^[238]$/,W=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,ag=/^(?:checked|selected)$/i;al(ah,"attrFn",X||{},"jQuery.attrFn is deprecated"),ah.attr=function(f,b,e,d){var j=b.toLowerCase(),h=f&&f.nodeType;return d&&(4>P.length&&U("jQuery.fn.attr( props, pass ) is deprecated"),f&&!ai.test(h)&&(X?b in X:ah.isFunction(ah.fn[b])))?ah(f)[b](e):("type"===b&&e!==Y&&aa.test(f.nodeName)&&f.parentNode&&U("Can't change the 'type' of an input or button in IE 6/7/8"),!ah.attrHooks[j]&&W.test(j)&&(ah.attrHooks[j]={get:function(k,l){var c,g=ah.prop(k,l);return g===!0||"boolean"!=typeof g&&(c=k.getAttributeNode(l))&&c.nodeValue!==!1?l.toLowerCase():Y},set:function(g,k,i){var c;return k===!1?ah.removeAttr(g,i):(c=ah.propFix[i]||i,c in g&&(g[c]=!0),g.setAttribute(i,i.toLowerCase())),i}},ag.test(j)&&U("jQuery.fn.attr('"+j+"') may use property instead of attribute")),P.call(ah,f,b,e))},ah.attrHooks.value={get:function(b,a){var c=(b.nodeName||"").toLowerCase();return"button"===c?L.apply(this,arguments):("input"!==c&&"option"!==c&&U("jQuery.fn.attr('value') no longer gets properties"),a in b?b.value:null)},set:function(d,c){var b=(d.nodeName||"").toLowerCase();return"button"===b?aj.apply(this,arguments):("input"!==b&&"option"!==b&&U("jQuery.fn.attr('value', val) no longer sets properties"),d.value=c,Y)}};var af,ae,K=ah.fn.init,Z=ah.parseJSON,F=/^([^<]*)(<[\w\W]+>)([^>]*)$/;ah.fn.init=function(d,e,b){var c;return d&&"string"==typeof d&&!ah.isPlainObject(e)&&(c=F.exec(ah.trim(d)))&&c[0]&&("<"!==d.charAt(0)&&U("$(html) HTML strings must start with '<' character"),c[3]&&U("$(html) HTML text after last tag is ignored"),"#"===c[0].charAt(0)&&(U("HTML string cannot start with a '#' character"),ah.error("JQMIGRATE: Invalid selector string (XSS)")),e&&e.context&&(e=e.context),ah.parseHTML)?K.call(this,ah.parseHTML(c[2],e,!0),e,b):K.apply(this,arguments)},ah.fn.init.prototype=ah.fn,ah.parseJSON=function(a){return a||null===a?Z.apply(this,arguments):(U("jQuery.parseJSON requires a valid JSON string"),null)},ah.uaMatch=function(b){b=b.toLowerCase();var a=/(chrome)[ \/]([\w.]+)/.exec(b)||/(webkit)[ \/]([\w.]+)/.exec(b)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(b)||/(msie) ([\w.]+)/.exec(b)||0>b.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(b)||[];return{browser:a[1]||"",version:a[2]||"0"}},ah.browser||(af=ah.uaMatch(navigator.userAgent),ae={},af.browser&&(ae[af.browser]=!0,ae.version=af.version),ae.chrome?ae.webkit=!0:ae.webkit&&(ae.safari=!0),ah.browser=ae),al(ah,"browser",ah.browser,"jQuery.browser is deprecated"),ah.sub=function(){function a(c,d){return new a.fn.init(c,d)}ah.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,c){return c&&c instanceof ah&&!(c instanceof a)&&(c=a(c)),ah.fn.init.call(this,d,c,b)},a.fn.init.prototype=a.fn;var b=a(document);return U("jQuery.sub() is deprecated"),a},ah.ajaxSetup({converters:{"text json":ah.parseJSON}});var ak=ah.fn.data;ah.fn.data=function(d){var b,c,e=this[0];return !e||"events"!==d||1!==arguments.length||(b=ah.data(e,d),c=ah._data(e,d),b!==Y&&b!==c||c===Y)?ak.apply(this,arguments):(U("Use of jQuery.fn.data('events') is deprecated"),c)};var ac=/\/(java|ecma)script/i,J=ah.fn.andSelf||ah.fn.addBack;ah.fn.andSelf=function(){return U("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),J.apply(this,arguments)},ah.clean||(ah.clean=function(m,j,f,b){j=j||document,j=!j.nodeType&&j[0]||j,j=j.ownerDocument||j,U("jQuery.clean() is deprecated");var n,k,h,e,g=[];if(ah.merge(g,ah.buildFragment(m,j).childNodes),f){for(h=function(a){return !a.type||ac.test(a.type)?b?b.push(a.parentNode?a.parentNode.removeChild(a):a):f.appendChild(a):Y},n=0;null!=(k=g[n]);n++){ah.nodeName(k,"script")&&h(k)||(f.appendChild(k),k.getElementsByTagName!==Y&&(e=ah.grep(ah.merge([],k.getElementsByTagName("script")),h),g.splice.apply(g,[n+1,0].concat(e)),n+=e.length))}}return g});var B=ah.event.add,G=ah.event.remove,ab=ah.event.trigger,D=ah.fn.toggle,q=ah.fn.live,E=ah.fn.die,z="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",R=RegExp("\\b(?:"+z+")\\b"),I=/(?:^|\s)hover(\.\S+|)\b/,V=function(a){return"string"!=typeof a||ah.event.special.hover?a:(I.test(a)&&U("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),a&&a.replace(I,"mouseenter$1 mouseleave$1"))};ah.event.props&&"attrChange"!==ah.event.props[0]&&ah.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),ah.event.dispatch&&al(ah.event,"handle",ah.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),ah.event.add=function(f,d,g,b,c){f!==document&&R.test(d)&&U("AJAX events should be attached to document: "+d),B.call(this,f,V(d||""),g,b,c)},ah.event.remove=function(f,c,g,d,b){G.call(this,f,V(c)||"",g,d,b)},ah.fn.error=function(){var a=Array.prototype.slice.call(arguments,0);return U("jQuery.fn.error() is deprecated"),a.splice(0,0,"error"),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this)},ah.fn.toggle=function(d,g){if(!ah.isFunction(d)||!ah.isFunction(g)){return D.apply(this,arguments)}U("jQuery.fn.toggle(handler, handler...) is deprecated");var b=arguments,c=d.guid||ah.guid++,f=0,e=function(h){var a=(ah._data(this,"lastToggle"+d.guid)||0)%f;return ah._data(this,"lastToggle"+d.guid,a+1),h.preventDefault(),b[a].apply(this,arguments)||!1};for(e.guid=c;b.length>f;){b[f++].guid=c}return this.click(e)},ah.fn.live=function(c,d,b){return U("jQuery.fn.live() is deprecated"),q?q.apply(this,arguments):(ah(this.context).on(c,this.selector,d,b),this)},ah.fn.die=function(a,b){return U("jQuery.fn.die() is deprecated"),E?E.apply(this,arguments):(ah(this.context).off(a,this.selector||"**",b),this)},ah.event.trigger=function(d,c,f,b){return f||R.test(d)||U("Global events are undocumented and deprecated"),ab.call(this,d,c,f||document,b)},ah.each(z.split("|"),function(a,b){ah.event.special[b]={setup:function(){var c=this;return c!==document&&(ah.event.add(document,b+"."+ah.guid,function(){ah.event.trigger(b,null,c,!0)}),ah._data(this,b,ah.guid++)),!1},teardown:function(){return this!==document&&ah.event.remove(document,b+"."+ah._data(this,b)),!1}}})}(jQuery,window);
/*!
* @preserve
* jquery.scrolldepth.js | v0.9.1
* Copyright (c) 2016 Rob Flaherty (@robflaherty)
* Licensed under the MIT and GPL licenses.
*/
;!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(j){var f,q,d,b,h={minHeight:0,elements:[],percentage:!0,userTiming:!0,pixelDepth:!0,nonInteraction:!0,gaGlobal:!1,gtmOverride:!1},g=j(window),m=[],k=!1,p=0;j.scrollDepth=function(c){function u(x,w,v,s){b?(b({event:"ScrollDistance",eventCategory:"Scroll Depth",eventAction:x,eventLabel:w,eventValue:1,eventNonInteraction:c.nonInteraction}),c.pixelDepth&&arguments.length>2&&v>p&&(p=v,b({event:"ScrollDistance",eventCategory:"Scroll Depth",eventAction:"Pixel Depth",eventLabel:e(v),eventValue:1,eventNonInteraction:c.nonInteraction})),c.userTiming&&arguments.length>3&&b({event:"ScrollTiming",eventCategory:"Scroll Depth",eventAction:x,eventLabel:w,eventTiming:s})):(f&&(window[d]("send","event","Scroll Depth",x,w,1,{nonInteraction:c.nonInteraction}),c.pixelDepth&&arguments.length>2&&v>p&&(p=v,window[d]("send","event","Scroll Depth","Pixel Depth",e(v),1,{nonInteraction:c.nonInteraction})),c.userTiming&&arguments.length>3&&window[d]("send","timing","Scroll Depth",x,s,w)),q&&(_gaq.push(["_trackEvent","Scroll Depth",x,w,1,c.nonInteraction]),c.pixelDepth&&arguments.length>2&&v>p&&(p=v,_gaq.push(["_trackEvent","Scroll Depth","Pixel Depth",e(v),1,c.nonInteraction])),c.userTiming&&arguments.length>3&&_gaq.push(["_trackTiming","Scroll Depth",x,s,w,100])))}function i(s){return{"25%":parseInt(0.25*s,10),"50%":parseInt(0.5*s,10),"75%":parseInt(0.75*s,10),"100%":s-5}}function l(w,s,v){j.each(w,function(y,x){-1===j.inArray(y,m)&&s>=x&&(u("Percentage",y,s,v),m.push(y))})}function n(w,s,v){j.each(w,function(y,x){-1===j.inArray(x,m)&&j(x).length&&s>=j(x).offset().top&&(u("Elements",x,s,v),m.push(x))})}function e(s){return(250*Math.floor(s/250)).toString()}function o(){a()}function t(z,B){var x,A,y,w=null,v=0,s=function(){v=new Date,w=null,y=z.apply(x,A)};return function(){var D=new Date;v||(v=D);var C=B-(D-v);return x=this,A=arguments,0>=C?(clearTimeout(w),w=null,v=D,y=z.apply(x,A)):w||(w=setTimeout(s,C)),y}}function a(){k=!0,g.on("scroll.scrollDepth",t(function(){var y=j(document).height(),v=window.innerHeight?window.innerHeight:g.height(),x=g.scrollTop()+v,w=i(y),s=+new Date-r;return m.length>=c.elements.length+(c.percentage?4:0)?(g.off("scroll.scrollDepth"),void (k=!1)):(c.elements&&n(c.elements,x,s),void (c.percentage&&l(w,x,s)))},500))}var r=+new Date;c=j.extend({},h,c),j(document).height()
"+JSi18n.login_unverifiedAccount+"")},postLoginErrorAction:function(){},postResetPassSuccessAction:function(){},postResetPassErrorAction:function(){},postReactivationSuccessAction:function(){},postReactivationExistAction:function(){},postReactivationErrorAction:function(){}};UserActions_Profile={setFullCountryZoneList:function(a){this.czList=jQuery.parseJSON(a)},getCountryZoneList:function(a){return this.czList[a]},updateStatesList:function(e,b,c){$("#"+b).empty();var d;var a=this.getCountryZoneList($("#"+e).val());if(a){if($("#"+e).val()==47||$("#"+e).val()==30){if($("#"+e).val()==47){d=[672,692,702,678,686,700,687,688,701,681,679,680,683,682,675,674,676,689,690,691,677,695,694,696,693,697,698,685,684,699,673]}else{if($("#"+e).val()==30){d=[437,438,439,440,441,442,443,444,461,446,447,445,448,449,450,451,462,452,454,455,453,456,457,458,459,460,463]}}a=UserActions_Profile.sortZones(a,d)}a.sort(function(g,f){var i=g.n.toUpperCase();var h=f.n.toUpperCase();return(ih)?1:0});$.each(a,function(f,g){if(g.i==c){$("#"+b).append($('').val(g.i).html(g.n))}else{$("#"+b).append($("").val(g.i).html(g.n))}})}},sortZones:function(e,d){var c=[];for(var b=0;b=0){c=true}}else{if($("#"+a).val()){c=true}}}}if(c){this.setValidOnField(a);return true}else{this.setErrorOnField(a);return false}},validateKeepOrFieldNotEmpty:function(b,a){if(!$("#"+b).is(":checked")){return this.validateNotEmpty(a)}this.clearErrorOnField(a);return true},validateKeepOrFieldNotName:function(c,a,b){if(!$("#"+c).is(":checked")){return this.validateName(a,b)}this.clearErrorOnField(a);return true},emailHasErrors:false,checkEmail:function(a){$.ajax({url:"/checkMail.action",type:"post",data:{emailStr:a,cet:InfoQConstants.cet},async:false,success:function(b){UserActions_Profile.validateEmailCallback(b)}})},validateEmail:function(b,d,c){var a=$("#"+b).val().trim();this.emailHasErrors=false;this.invalidEmailMessage=d;this.emailExistMessage=c;this.emailFieldId=b;$("#error_"+b).hide();this.clearValidOnField(b);this.clearErrorOnField(b);if(!a.match(/^[a-zA-Z0-9_+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,10}$/gi)){$("#error_"+b).html(d);$("#error_"+b).show();this.setErrorOnField(b);this.emailHasErrors=true}if(a.match(/@mailmetrash.com|@majou.org|@mailinator.com|@guerrillamail|@sharklasers.com|@jetable.org|mailexpire.com|@TempEmail.net|@spamgourmet.com|@ah.mintemail.com|@spamfree24.org|@deadaddress.com|@yopmail.com|@tempinbox.com|@mailcatch.com|@rtrtr.com|@tempomail.fr|@spamspot.com/gi)){$("#error_"+b).html(d);$("#error_"+b).show();this.setErrorOnField(b);this.emailHasErrors=true}if(a.match("hotmail.com")){$("#error_"+b).html("* Hotmail users have been unable to complete registration due to hotmail email filtering");$("#error_"+b).show()}if(!this.emailHasErrors){this.checkEmail(a)}},businessEmailHasErrors:false,validateBusinessEmail:function(b,d,c){var a=$("#"+b).val().trim();this.businessEmailHasErrors=false;this.invalidEmailMessage=d;$("#error_"+b).hide();this.clearValidOnField(b);this.clearErrorOnField(b);if(c||a){if(!a.match(/^[a-zA-Z0-9_+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,10}$/gi)){$("#error_"+b).html(d);$("#error_"+b).show();this.setErrorOnField(b);this.businessEmailHasErrors=true}if(a.match(/@mailmetrash.com|@majou.org|@mailinator.com|@guerrillamail|@sharklasers.com|@jetable.org|mailexpire.com|@TempEmail.net|@spamgourmet.com|@ah.mintemail.com|@spamfree24.org|@deadaddress.com|@yopmail.com|@tempinbox.com|@mailcatch.com|@rtrtr.com|@tempomail.fr|@spamspot.com/gi)||a.match(/@gmail.com|@hotmail.*|@yahoo.*|@outlook.*|@live.*|@icloud.com|@aol.*|@mail.com|@zoho.com|@gmx.*|@yandex.*|@proton.me|protonmail.*/gi)){$("#error_"+b).html(d);$("#error_"+b).show();this.setErrorOnField(b);this.businessEmailHasErrors=true}}},newEmailValidationCalled:false,validateNewEmail:function(b,e,d,c){var a=$("#"+b).val().trim();this.emailHasErrors=false;this.newEmailValidationCalled=true;if($.trim(a)!==e){this.validateEmail(b,d,c)}else{$("#error_"+b).hide();this.clearValidOnField(b);this.clearErrorOnField(b)}},validateEmailCallback:function(a){switch(a.code){case"1":$("#error_"+UserActions_Profile.emailFieldId).html(UserActions_Profile.emailExistMessage);UserActions_Profile.emailHasErrors=true;break;case"2":$("#error_"+UserActions_Profile.emailFieldId).html(UserActions_Profile.invalidEmailMessage);UserActions_Profile.emailHasErrors=true;break;default:UserActions_Profile.emailHasErrors=false}if(UserActions_Profile.emailHasErrors==false){UserActions_Profile.setValidOnField(UserActions_Profile.emailFieldId)}else{UserActions_Profile.setErrorOnField(UserActions_Profile.emailFieldId);$("#error_"+UserActions_Profile.emailFieldId).show()}},identicalPasswords:function(c,a,b){if($("#"+c).val()==$("#"+a).val()){this.clearErrorOnField(c);this.clearErrorOnField(a);$("#error_userprofile_confirmedPassword").hide();return true}else{this.setErrorOnField(a);$("#error_userprofile_confirmedPassword").show();$("#error_userprofile_confirmedPassword").html(b);return false}},identicaNonEmptyPasswords:function(d,b,c){var a=this.validateNotEmpty(d);a=this.validateNotEmpty(b)&&a;if(a){this.identicalPasswords(d,b,c)}},toggleIndustryInterests:function(a){if($("#"+a).is(":checked")==true){$("#userprofile_industry_interests").attr("disabled",false)}else{$("#userprofile_industry_interests").prop("checked",false);$("#userprofile_industry_interests").attr("disabled",true)}},validateNotSingleChar:function(a){if(InfoQConstants.language==="ja"){return true}var b=false;if($("#"+a).is("input")){if($("#"+a).val().length>1){b=true}}return b},validateNoDigit:function(a){var b=true;if($("#"+a).is("input")){if(/\d/.test($("#"+a).val())){b=false}}return b},validateName:function(a,c){var b=this.validateNotEmpty(a)&&this.validateNotSingleChar(a);if(c){b=this.validateNoDigit(a)&&b}this.clearValidOnField(a);this.clearErrorOnField(a);if(b){this.setValidOnField(a);return true}else{this.setErrorOnField(a);return false}},validateRegisterForm:function(){var a=this.validateName("userprofile_firstName",true);a=this.validateName("userprofile_lastName",true)&&a;a=this.validateNotEmpty("userprofile_email")&&a;var b=this.identicalPasswords("userprofile_password","userprofile_confirmedPassword");a=b&&a;if(b){a=this.validateNotEmpty("userprofile_password")&&a;a=this.validateNotEmpty("userprofile_confirmedPassword")&&a}a=!this.emailHasErrors&&a;a=!this.businessEmailHasErrors&&a;a=this.validateName("userProfile_companyName",false)&&a;a=this.validateNotEmpty("userProfile_role")&&a;a=this.validateNotEmpty("userprofile_employeeNum")&&a;a=this.validateNotEmpty("userprofile_country")&&a;if(a){UserActions_Profile.trkNewsletterSubscriptions(false,false,false,false,"registration_page")}return a},validateSocialRegisterForm:function(b){var a=this.validateName("userprofile_firstName",true);a=this.validateName("userprofile_lastName",true)&&a;a=this.validateNotEmpty("userprofile_email")&&a;if(b){this.validateEmail("userprofile_email","Invalid email","Email already exists")}a=!this.emailHasErrors&&a;a=!this.businessEmailHasErrors&&a;a=this.validateName("userProfile_companyName",false)&&a;a=this.validateNotEmpty("userProfile_role")&&a;a=this.validateNotEmpty("userprofile_employeeNum")&&a;a=this.validateNotEmpty("userprofile_country")&&a;if(a){UserActions_Profile.trkNewsletterSubscriptions(false,false,false,false,"registration_page")}return a},validateLinkIdentityForm:function(){var a=this.validateNotEmpty("linkIdentityEmail");a=this.validateNotEmpty("linkIdentityPass")&&a;return a},validatePreferencesForm:function(){var a=this.validateName("userprofile_firstName",true);a=this.validateName("userprofile_lastName",true)&&a;if(this.newEmailValidationCalled){a=!this.emailHasErrors&&a}else{a=this.validateNotEmpty("userprofile_email")&&a}if($("#userprofile_password").length&&$("#userprofile_confirmedPassword").length){var b=this.identicalPasswords("userprofile_password","userprofile_confirmedPassword");a=b&&a;if(b&&($("#userprofile_password").val().length>0||$("#userprofile_confirmedPassword").val().length>0)){a=this.validateNotEmpty("userprofile_password")&&a;a=this.validateNotEmpty("userprofile_confirmedPassword")&&a}}a=!this.businessEmailHasErrors&&a;a=this.validateName("userProfile_companyName",false)&&a;a=this.validateNotEmpty("userProfile_role")&&a;a=this.validateNotEmpty("userprofile_employeeNum")&&a;a=this.validateNotEmpty("userprofile_country")&&a;a=this.validateMaxLengthField("userprofile_minibiography")&&a;if(a){UserActions_Profile.trkNewsletterSubscriptions(hasWeekly,hasArch,hasSpeciaRep,hasInd,"update_settings_page")}return a},validateMaxLengthField:function(b){if($("#"+b).length){if($("#"+b).attr("name")){var a=$("#"+b).attr("maxlength");if($("#"+b).val().length>a){this.setErrorOnField(b);return false}}}this.clearErrorOnField(b);return true},validateEmailForceUpdateProfile:function(a,c,b){if(InfoQConstants.isUserOutdated&&!InfoQConstants.isUserBlocked){if(InfoQConstants.loggedUserEmail==$("#"+a).val()){$("#error_"+a).hide();this.clearValidOnField(a);this.clearErrorOnField(a);return}}this.validateEmail(a,c,b)},validateAskLoginForm:function(){var a=this.validateNotEmpty("askLogin_email");a=this.validateNotEmpty("askLogin_password")&&a;return a},forceUpdate:true,forceUpdateProfile:function(b,a){forceUpdateCallback=b;if(a!=="undefined"){this.forceUpdate=a}if((typeof loggedIn!="undefined")&&loggedIn){if(InfoQConstants.isUserBlocked==true||InfoQConstants.isUserOutdated==true){$.ajax({type:"GET",url:InfoQConstants.countryCode+"/user/updateUserPopup.action",success:function(d){if(d!==undefined){$(document.body).append(d);var c="displayed_blocked_popup";if(InfoQConstants.isUserOutdated&&!InfoQConstants.isUserBlocked){$("#updateEmail").val(InfoQConstants.loggedUserEmail);c="displayed_outdated_popup"}if(typeof userCurrentCompany!=="undefined"){$("#currentCompanyIdSpan").html(userCurrentCompany);$("#currentRoleIdSpan").html(userCurrentRole);if(userCurrentEmployeeNum!="INVALID"){$("#currentEmployeeNumIdSpan").html(userCurrentEmployeeNum)}else{$("#currentEmployeeNumIdSpan").html(" - ");$("#keepEmployeeQuestionId").hide();$("#keepEmployeeNum").hide()}$("#currentCountryIdSpan").html(userCurrentCountryName);$("#countrySavedId").val(userCurrentCountryId);$("#currentStateIdSpan").html(userCurrentStateName);$("#stateSavedId").val(userCurrentStateId);if(userSubscribedNewsletter){$("#newsletterSection").hide()}if(userSubscribedArchitectNewsletterEN){$("#architectNewsletterSection").hide()}if(userSubscribedIndustry){$("#indemailSection").hide();$("#industryInterestsSection").hide()}}$("#updateUserForm").show();$("#validateMessage").hide();infoq.modal(document.querySelector("#forceUpdate_inline"));UserActions_Profile.doPostMetric(InfoQConstants.loggedUserEmail,InfoQConstants.language,c)}},error:function(){UserActions_Profile.forceUpdateExecuteCallback()}})}else{this.forceUpdateExecuteCallback()}}else{this.forceUpdateExecuteCallback()}},doPostMetric:function(b,d,c){var a=[{email:b,language:d,action:c,type:"user_stats"}];$.ajax({url:"/metrics/ajaxMetricsLogAction.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",type:"POST",data:{json:JSON.stringify(a)}})},validateForceUpdateProfileForm:function(){var a=this.validateKeepOrFieldNotName("keepCompany","company",false);a=this.validateKeepOrFieldNotEmpty("keepRole","roleId")&&a;a=this.validateKeepOrFieldNotEmpty("keepEmployeeNum","employeeNumId")&&a;a=this.validateKeepOrFieldNotEmpty("keepCountry","countryId")&&a;if(InfoQConstants.isUserBlocked==true){a=!this.emailHasErrors&&a;if(!this.emailHasErrors){a=this.validateNotEmpty("updateEmail")&&a}}a=!this.businessEmailHasErrors&&a;return a},updateMandatoryStatus:function(b,d,c,a){if($("#"+b).is(":checked")){if(a==true){$("#"+d).html("")}$("#"+c).attr("disabled","disabled");this.clearValidOnField(c);this.clearErrorOnField(c)}else{if(a==true){$("#"+d).html("*")}$("#"+c).removeAttr("disabled")}},updateKeepStateStatus:function(b,a){if($("#"+b).is(":checked")){$("#"+a).removeAttr("disabled")}else{$("#"+a).removeAttr("checked","checked");$("#"+a).attr("disabled","disabled")}},updateCountryAndStateLists:function(e,d,a,c,b){if($("#"+b).is(":checked")){$("#"+a).val($("#"+e).val());this.updateStatesList(a,c);$("#"+c).val($("#"+d).val())}else{$("#"+a).val(-1000);this.updateStatesList(a,c)}},saveProfileUpdate:function(){if(this.validateForceUpdateProfileForm()==true){UserActions_Profile.trkNewsletterSubscriptionsForceUpdate();$.ajax({url:InfoQConstants.countryCode+"/updateuser.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",type:"POST",data:$("#updateUserForm").serialize(),success:this.processResultForForceProfileUpdate})}},forcePopupClose:function(){if(UserActions_Profile.forceUpdate==false){UserActions_Profile.forceUpdateExecuteCallback()}else{if(typeof CommentsPoster!=="undefined"){CommentsPoster.enableForumPost("submit-reply","replyPopup");CommentsPoster.enableForumPost("submitComment","comment_here")}}},forceUpdateExecuteCallback:function(){if(typeof forceUpdateCallback!=="undefined"){if(typeof forceUpdateCallback==="function"){forceUpdateCallback()}else{while(forceUpdateCallback.slice(-1)=="#"){forceUpdateCallback=forceUpdateCallback.slice(0,-1)}window.location.href=forceUpdateCallback;infoq.event.trigger("modalClose")}}else{infoq.event.trigger("modalClose")}},processResultForForceProfileUpdate:function(b){InfoQConstants.isUserBlocked=false;InfoQConstants.isUserOutdated=false;var a=$("#updateEmail").val();if(a!=InfoQConstants.loggedUserEmail){$("#updateUserForm").hide(300);$("#validateMessage").show(200);setTimeout(UserActions_Profile.forceUpdateExecuteCallback,5000)}else{UserActions_Profile.forceUpdateExecuteCallback()}},initRegistrationGDPR:function(){$(document).ready(function(){if(($("#userprofile_country").val()=="-1000")||($("#userprofile_country").val()=="-1")){$(".registration-newsletterlist").hide()}if($("#userprofile_country").length>0){UserActions_Profile.optNewslettersBasedOnCountryGDPR($("#userprofile_country").val())}if($("#initialCountryValue").length>0){UserActions_Profile.optNewslettersBasedOnCountryGDPR($("#initialCountryValue").val())}$("#userprofile_country").change(function(){if(($(this).val()=="-1000")||($(this).val()=="-1")){$(".registration-newsletterlist").hide();return true}$(".registration-newsletterlist").show();UserActions_Profile.optNewslettersBasedOnCountryGDPR($(this).val())})})},optNewslettersBasedOnCountryGDPR:function(b){if((b=="14")||(b=="21")||(b=="23")||(b=="97")||(b=="54")||(b=="55")||(b=="58")||(b=="63")||(b=="70")||(b=="75")||(b=="56")||(b=="88")||(b=="99")||(b=="101")||(b=="108")||(b=="132")||(b=="130")||(b=="131")||(b=="148")||(b=="161")||(b=="174")||(b=="179")||(b=="184")||(b=="196")||(b=="194")||(b=="67")||(b=="191")||(b=="77")){$("#userprofile_newsletter_en").prop("checked",false);$("#userprofile_newsletter_pt").prop("checked",false);$("#userprofile_newsletter_ja").prop("checked",false);$("#userprofile_newsletter_fr").prop("checked",false);$("#userprofile_architect_newsletter").prop("checked",false);$("#userprofile_industry_email").prop("checked",false);$("#userprofile_industry_interests").prop("checked",false);$("#userprofile_industry_interests").attr("disabled",true);$("#userprofile_special_reports_newsletter").prop("checked",false);$("#showOther").prop("checked",false);try{showHideOtherValues($("#showOther"))}catch(a){}}else{$("#userprofile_newsletter_"+InfoQConstants.language).prop("checked",true);$("#userprofile_architect_newsletter").prop("checked",true);$("#userprofile_industry_email").prop("checked",true);$("#userprofile_industry_interests").prop("checked",true);$("#userprofile_industry_interests").attr("disabled",false);$("#userprofile_special_reports_newsletter").prop("checked",true);$("#showOther").prop("checked",true);try{showHideOtherValues($("#showOther"))}catch(a){}}},trkNewsletterSubscriptions:function(e,c,b,d,a){if(!e){if($("#userprofile_newsletter_en").is(":checked")||$("#userprofile_newsletter_fr").is(":checked")||$("#userprofile_newsletter_ja").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"InfoQ Weekly Newsletter",action:"subscribe",location:a})}}if(!c){if($("#userprofile_architect_newsletter").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"InfoQ Software Architects' Newsletter",action:"subscribe",location:a})}}if(!b){if($("#userprofile_special_reports_newsletter").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"Special Report",action:"subscribe",location:a})}}if(!d){if($("#userprofile_industry_email").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"Industry Email Notices",action:"subscribe",location:a})}}},trkNewsletterSubscriptionsForceUpdate:function(){if($("#subscribeNewsletter").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"InfoQ Weekly Newsletter",action:"subscribe",location:"force_update"})}if($("#subscribeArchitectNewsletter").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"InfoQ Software Architects' Newsletter",action:"subscribe",location:"force_update"})}if($("#subscribeSpecialReports").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"Special Report",action:"subscribe",location:"force_update"})}if($("#subscribeIndustry").is(":checked")){gtag("event","GA4_NEWSLETTER_EVENT",{type:"Industry Email Notices",action:"subscribe",location:"force_update"})}}};var forceUpdateCallback;UserActions_Minibooks={donwloadBook:function(){window.location.href=location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")+$("#dldLinkFinal").val()}};UserActions_SponsoredMinibooks={showDldForm:function(){infoq.event.trigger("modalClose");$("#sponsorParagraph").show()},submitDldForm:function(a){$("#bookFormat").val(a);$("#downloadForm").submit()},showGoToDldForm:function(){UserActions_SponsoredMinibooks.showDldForm();UserActions_SponsoredMinibooks.goToDldForm()},goToDldForm:function(){$("html, body").animate({scrollTop:$("#sponsorParagraph").offset().top},1000)},shouldDownloadSponsoredMinibook:function(a){if(a.userChoice.checked&&a.hasSponsorshipQuestions.value==="true"){return false}else{return true}}};UserActions_RestrictedPresentations={hasErrors:false,share:function(){UserActions_RestrictedPresentations.validateEmails(infoq.parseJson($("#shareEmail").val()));if(!this.hasErrors){$.ajax({url:InfoQConstants.countryCode+"/conference/shareVideo.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",type:"POST",data:{shareEmail:infoq.parseJson($("#shareEmail").val()),path:$("#path").val()},success:this.processResult});return true}else{UserActions_RestrictedPresentations.printShareErrorMessage(JSi18n.conference_session_share_error_removeInvalid);return false}},processResult:function(a){if(a.indexOf("shares:")!=-1){$("#sharesCount").text(a.substring(7,a.length));$("#errorMessageShare").parent(".field").removeClass("field--error");$("#errorMessageShare").html(""+JSi18n.conference_session_share_saveShare_message+"");$("#errorMessageShare").css("display","inline-block");$("#errorMessageShare").fadeOut(3000);$("#shareSubmit").attr("disabled","disabled")}if(a.indexOf("error:")!=-1){$("#errorMessageShare").parent(".field").addClass("field--error");$("#errorMessageShare").html(""+a.substring(6,a.length)+"");$("#errorMessageShare").css("display","inline-block")}},showNotification:function(c,b,a){if(c==true){if(CookieManager.readCookie(b)==null){$("#"+a).css("display","flex")}}else{$("#"+a).css("display","flex")}},closeNotification:function(c,b){var a=15552000000;if(b=="rpsn"){a=5184000000}if(c==true){CookieManager.createCookie(b,"closed",a)}},printShareErrorMessage:function(a){$("#shareActionMessage").parent(".field").addClass("field--error");$("#shareActionMessage").html(a);$("#shareActionMessage").css("display","inline-block")},resetShareErrorMessage:function(){$("#shareActionMessage").parent(".field").removeClass("field--error");$("#shareActionMessage").hide()},validateEmails:function(c){if($.trim(c).length!=0){var b=c.split(",");this.hasErrors=false;for(var a=0;a1048576){return false}else{return true}},setErrorOnField:function(a,b){UserActions_Profile.setErrorOnField(a);$("#error_userprofile_picture").html(b);$("#error_userprofile_picture").show();var c=$("#"+a);c.val("").replaceWith(c=c.clone(true))}};var UserActions_Notifications={populateAgoTimes:function(a){var b=this;$(a).each(function(){b.populateAgoTime(this)})},populateAgoTime:function(b){var a,c=this.getRelativeTime($("input[name=tmstmp]",b).attr("value"));$("span.date",b).text(c)},getRelativeTime:function(b){var a=new Date();a.setTime(b);moment.lang(InfoQConstants.language);var d=moment(a);var c=moment();if(c.diff(d,"days")>=100){return d.format(JSi18n.content_datetime_format.toUpperCase()+" hh:mm")}else{return d.fromNow()}},markAsRead:function(a){$.ajax({url:InfoQConstants.countryCode+"/notifications/markAsRead.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",type:"POST",data:{is:a}})},markAsDisplayed:function(){$.ajax({url:InfoQConstants.countryCode+"/notifications/markAsDisplay.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",type:"POST"})},setupEvents:function(){infoq.event.on("notificationRead",function(a){if(a.id!==undefined){UserActions_Notifications.markAsRead(a.id)}});infoq.event.on("notificationsReadAll",function(a){UserActions_Notifications.markAsRead();Tracker.doTrackP13nNotificationEvents("mark_all_read",device)});infoq.event.on("notificationsTriggered",function(a){UserActions_Notifications.markAsDisplayed();Tracker.doTrackP13nNotificationEvents("view",device);if(!loggedIn){if(CookieManager.readCookie("-P13NWN")===null){CookieManager.createCookie("-P13NWN","closed",15552000000)}}else{if(CookieManager.readCookie("P13NWN+")===null){CookieManager.createCookie("P13NWN+","closed",15552000000)}}})},processResultForMarkAsRead:function(b){if(b.code==0){var a=$(".notificationWidget__circle .circle-inner").html();if(b.message=="all"){$(".notificationWidget__item").removeClass("notificationWidget__notread");$(".notificationWidget__icon-container").hide();$(".notification_page__item").removeClass("notification_page__notread")}else{$("#notif_"+b.message).removeClass("notificationWidget__notread");$("#notif_"+b.message+" .notificationWidget__icon-container").hide();$("#notif_page_"+b.message).removeClass("notification_page__notread");$("#notif_page_"+b.message+" .notification_page__icon-right").hide()}}else{}Tracker.doTrackP13nNotificationEvents("mark_all_read","desktop")},processResultForMarkAsDisplay:function(a){if(!loggedIn){$(".notificationWidget__circle .circle-inner").text("");$(".notificationWidget__circle").hide()}else{if(a.code==0){$(".notificationWidget__circle .circle-inner").text("");$(".notificationWidget__circle").hide()}else{}}},validateNotificationsSettingsForm:function(){return this.validateNotificationsLanguages()},validateNotificationsLanguages:function(){$("#error_languages").hide();$("#error_languages").parent(".fieldset").removeClass("field--error");var a=false;$("#notificationsLanguages :checkbox").each(function(){if(this.checked){a=true}});if(!a){$("#error_languages").parent(".fieldset").addClass("field--error");$("#error_languages").show()}return a}};var ContentRating=(function(){var d="relevance_fieldset";var j="style_fieldset";var i={};var e={};function a(){if(k()){var q=$("#"+d+" :radio:checked").val();var p=$("#"+j+" :radio:checked").val();var o=i;o.style=p;o.relevance=q;if($("#editor_input").val()){o.editorInput=$("#editor_input").val()}if($("#chiefEditor_input").val()){o.chiefEditorInput=$("#chiefEditor_input").val()}var n=$("#auth-checkbox").is(":checked");o.authorContacted=n;jQuery.ajax({type:"POST",url:"/editor/contentRating.action",data:o,timeout:3000,success:function(s,t,r){if(s&&s.ok){f(true)}else{f(false)}$(".submit_rating").prop("disabled",false)},error:function(){f(false);$(".submit_rating").prop("disabled",false)}})}else{$(".submit_rating").prop("disabled",false)}}function f(o){var n=$(".serverCallFeedback");if(o){n.html(e.submitSuccess);n.addClass("success")}else{n.html("There was an error processing this request. Please contact support!");n.addClass("error")}}function b(){var n=$(".serverCallFeedback");n.html("");n.removeClass("success");n.removeClass("error")}function k(){var o=c(d);var n=c(j,o);return o&&n}function c(o,n){var p=$("#"+o+" > span :radio:checked").val();if(p){h(o,n);return true}else{m(o);return false}}function m(n){$("#"+n+" > div.crit__name").addClass("error");var o=$(".serverCallFeedback");o.html(e.ratingRequired);o.addClass("error")}function h(o,n){$("#"+o+" > div.crit__name").removeClass("error");if(n===false){}else{b()}}function g(){i.title=$("#cr_item_title").val();i.author=$("#cr_item_author").val();i.itemUrl=$("#cr_item_url").val();i.lang=$("#cr_item_lang").val();i.contentType=$("#cr_item_ctype").val();i.published=$("#cr_item_published_time").val();i.primaryTopic=$("#cr_item_primary_topic").val()}function l(){e.submitSuccess=$("#cr_messages_submitSuccess").val();e.ratingRequired=$("#cr_messages_ratingRequired").val()}$(function(){$("span.stars > input").change(function(){var n=$(this).closest("div.crit");var o;if(n){o=n.attr("id")}c(o)});$(".submit_rating").click(function(){$(".submit_rating").prop("disabled",true);a()});$("#editor_input").click(function(){b()});$("#chiefEditor_input").click(function(){b()})});return{readMessages:l,readContentItem:g}})();Bookmarks={apiUrl:"",contentTitle:"",isBookmarkedToggle:null,toggleBookmark:function(a,e){var c=$("#bookmarkBtn");var b=(Bookmarks.isBookmarkedToggle==null)?(Bookmarks.isContentBookmarked=="true"):Bookmarks.isBookmarkedToggle;var d=c.attr("disabled");if(!(typeof d!=="undefined"&&d!==false)&&!b){Bookmarks.bookmarkContent(a,e)}else{if(!(typeof d!=="undefined"&&d!==false)&&b){Bookmarks.unBookmarkContent(a,e)}}},updateButtonUIBookmarkAdded:function(){var a=$("#bookmarkBtn");infoq.event.trigger("contentBookmarked");a.removeAttr("disabled")},updateButtonUIBookmarkRemoved:function(){var a=$("#bookmarkBtn");infoq.event.trigger("contentUnbookmarked");a.removeAttr("disabled")},bookmarkContent:function(a,c){var b=$("#bookmarkBtn");b.attr("disabled","disabled");$.ajax({type:"POST",url:Bookmarks.apiUrl,contentType:"application/x-www-form-urlencoded; charset=utf-8",data:{countryCodePart:InfoQConstants.countryCode,uriMappingPart:a,pathPart:c,namePart:Bookmarks.contentTitle},success:function(){Bookmarks.updateButtonUIBookmarkAdded();Bookmarks.trackBookmark(a);Bookmarks.isBookmarkedToggle=true},error:function(){b.fadeTo(250,0.25,function(){b.html(JSi18n.bookmark_error);b.removeAttr("disabled")})}})},unBookmarkContent:function(a,c){var b=$("#bookmarkBtn");b.attr("disabled","disabled");$.ajax({type:"POST",url:"/widgets/deleteBookmark.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",data:{countryCodePart:InfoQConstants.countryCode,uriMappingPart:a,pathPart:c,namePart:Bookmarks.contentTitle},success:function(){Bookmarks.updateButtonUIBookmarkRemoved();Bookmarks.trackBookmark(a);Bookmarks.isBookmarkedToggle=false},error:function(){b.fadeTo(250,0.25,function(){b.html(JSi18n.bookmark_error);b.removeAttr("disabled")})}})},trackBookmark:function(a){Tracker.doTrackContentBookmark(a,InfoQConstants.language)},configureDeleteActions:function(a){$(".f_delete").click(function(){var c=$(this).parents(".data-li").filter(":first");var d=c.attr("data");var b=$.parseJSON(d);$.ajax({type:"POST",url:a,contentType:"application/x-www-form-urlencoded; charset=utf-8",data:{countryCodePart:b.code,uriMappingPart:b.uri,pathPart:b.path},success:function(){c.hide()},error:function(){}})})}};var Tracker={trackVcrImpressions:true,trackForgotPasswordSteps:true,trackContentBookmarking:true,trackAdActions:true,trackVcrRightbarImpressions:true,trackP13nNotificationEvents:true,trackPSBoxEvents:true,metricsArray:[],IMPRESSION_ITEM_RSB:"RSB_ITEM",IMPRESSION_ITEM_MICROSITE:"MICROSITE_ITEM",IMPRESSION_ITEM_RVC:"RVC_ITEM",IMPRESSION_BOX_RVC:"RVC_BOX",IMPRESSION_BOX_SPONSORED_1:"SPONSORED_CONTENT_BOX_TYPE_1",IMPRESSION_BOX_SPONSORED_2:"SPONSORED_CONTENT_BOX_TYPE_2",IMPRESSION_AD_DFP:"DFP_AD",doTrackViewableImpressions:function(a){var b=[];a.forEach(function(c){c.classList.forEach(function(e){if(e==="f_rvcbox"){Tracker.trackViewableImpression({},Tracker.IMPRESSION_BOX_RVC,c.dataset.place)}if(e==="f_vcrdefault"){b.push(c)}if(e==="f_sponsorship"){Tracker.trackViewableImpression(Tracker.getJsonForSponsorshipItem($(c)),Tracker.IMPRESSION_ITEM_RSB,c.dataset.place)}if(e==="f_topicSponsorship"){Tracker.trackViewableImpression(Tracker.getJsonForSponsorshipItem($(c)),Tracker.IMPRESSION_ITEM_MICROSITE,c.dataset.place)}if(e==="f_sponsorbox"){Tracker.trackViewableImpression({},Tracker.IMPRESSION_BOX_SPONSORED_1,Tracker.getSponsorboxImpressionLocation($(c)))}if(e==="f_vcroptional"){Tracker.trackViewableImpression({id:c.dataset.vcrid,title:c.dataset.vcrtitle},Tracker.IMPRESSION_ITEM_RVC,Tracker.getOptionalVcrImpressionLocation($(c)))}if(e==="f_dfp_ad"){Tracker.trackViewableImpression({},Tracker.IMPRESSION_AD_DFP,Tracker.getDFPAdLocation($(c)))}if(e==="f_sponsorbox_top_1"||e==="f_sponsorbox_top_2"||e==="f_sponsorbox_bottom_1"||e==="f_sponsorbox_bottom_2"){var d=Tracker.IMPRESSION_BOX_SPONSORED_1;if(e.charAt(e.length-1)==="2"){d=Tracker.IMPRESSION_BOX_SPONSORED_2}Tracker.trackViewableImpression({},d,Tracker.getVcrRightbarBoxesImpressionLocation(e))}if(e==="f_vcrrightbar_sponsorship_top_1"||e==="f_vcrrightbar_sponsorship_top_2"||e==="f_vcrrightbar_sponsorship_bottom_1"||e==="f_vcrrightbar_sponsorship_bottom_2"){Tracker.trackViewableImpression({id:$(c).attr("id"),title:$(c).attr("title")},Tracker.IMPRESSION_ITEM_RVC,Tracker.getVcrRightbarImpressionLocation(e))}})});if(b.length>0){Tracker.doTrackVcrDefaultItemsViewableImpression(b)}Tracker.checkIfMetricsCanBePosted()},doTrackVcrDefaultItemsViewableImpression:function(a){a.forEach(function(b){Tracker.trackViewableImpression(Tracker.getJsonForDefaultVcrItem($(b)),Tracker.IMPRESSION_ITEM_RVC,b.dataset.place)})},trackViewableImpression:function(d,f,b){try{var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var a=Tracker.getImpressionJsonForValues(d,f,"viewable",b,c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(a)){Tracker.metricsArray.push(a)}}catch(e){console.log(e.message)}},getSponsorboxImpressionLocation:function(c){var a=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var b=(a=="ARTICLE_PAGE"||a=="NEWS_PAGE")?"RIGHTBAR_BOX_TYPE1_":"";if(c.data("place")=="2"||c.prevAll(".f_sponsorbox").length>0||c.prevAll(".f_sponsorbox_top_1").length>0||c.prevAll(".f_sponsorbox_top_2").length>0||c.prevAll(".f_sponsorbox_bottom_1").length>0||c.prevAll(".f_sponsorbox_bottom_2").length>0){b+="BOTTOM"}else{b+="TOP"}return b},getOptionalVcrImpressionLocation:function(a){var b;if(a.data("place")){if(a.data("place")=="1"){b="RIGHTBAR_BOX_TYPE1_TOP"}else{if(a.data("place")=="2"){b="RIGHTBAR_BOX_TYPE1_BOTTOM"}else{b=a.data("place")}}}else{b="LOCATION_UNAVAILABLE"}return b},getVcrRightbarBoxesImpressionLocation:function(b){var c=b.split("_");var a="";if(c[3]&&c[2]){a="RIGHTBAR_BOX_TYPE"+c[3]+"_"+c[2].toUpperCase()}else{a="LOCATION_UNAVAILABLE"}return a},getVcrRightbarImpressionLocation:function(b){var c=b.split("_");var a="";if(c[4]&&c[3]){a="RIGHTBAR_BOX_TYPE"+c[4]+"_"+c[3].toUpperCase()}else{a="LOCATION_UNAVAILABLE"}return a},getDFPAdLocation:function(d){var a=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var b=(a==="ARTICLE_PAGE"||a==="NEWS_PAGE")?"RIGHTBAR_BOX_TYPE1_":"";b+=d.data("place").toUpperCase();if(b==="TOP"||b==="RIGHTBAR_BOX_TYPE1_TOP"){var c=d.prev(".f_dfp_ad");if(c&&c.is(":visible")){b.replace("TOP","BOTTOM")}}},doTrackVcrImpressions:function(){if(!Tracker.trackVcrImpressions){return}$(".f_sponsorship[data-trk-impr='true']").each(function a(d){var e=$(this);var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var b=Tracker.getImpressionJsonForValues(Tracker.getJsonForSponsorshipItem(e),Tracker.IMPRESSION_ITEM_RSB,"impression",e.data("place"),c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(b)){Tracker.metricsArray.push(b);$(this).attr("data-trk-impr","false")}});$(".f_topicSponsorship[data-trk-impr='true']").each(function a(d){var e=$(this);var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var b=Tracker.getImpressionJsonForValues(Tracker.getJsonForSponsorshipItem(e),Tracker.IMPRESSION_ITEM_MICROSITE,"impression",e.data("place"),c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(b)){Tracker.metricsArray.push(b);$(this).attr("data-trk-impr","false")}});$(".f_rvcbox[data-trk-impr='true']").each(function(){var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var b=Tracker.getImpressionJsonForValues({},Tracker.IMPRESSION_BOX_RVC,"impression",$(this).data("place"),c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(b)){Tracker.metricsArray.push(b);$(this).attr("data-trk-impr","false")}});$(".f_sponsorbox[data-trk-impr='true']").each(function(){var e=$(this);var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var d=Tracker.getSponsorboxImpressionLocation(e);var b=setInterval(function(){if(e.is(":visible")){var f=Tracker.getImpressionJsonForValues({},Tracker.IMPRESSION_BOX_SPONSORED_1,"impression",d,c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(f)){Tracker.metricsArray.push(f);e.attr("data-trk-impr","false")}clearInterval(b)}},500)});$(".f_vcrdefault[data-trk-impr='true']").each(function a(d){var f=$(this);var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";try{var b=Tracker.getImpressionJsonForValues(Tracker.getJsonForDefaultVcrItem(f),Tracker.IMPRESSION_ITEM_RVC,"impression",f.data("place"),c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(b)){Tracker.metricsArray.push(b);$(this).attr("data-trk-impr","false")}}catch(e){console.log(e.message)}});$(".f_vcroptional[data-trk-impr='true']").each(function a(d){var e=$(this);var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var f=Tracker.getOptionalVcrImpressionLocation(e);var b=setInterval(function(){if(e.closest(".widget.spns").is(":visible")){var g=Tracker.getImpressionJsonForValues({id:e.data("vcrid"),title:e.data("vcrtitle")},Tracker.IMPRESSION_ITEM_RVC,"impression",f,c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(g)){Tracker.metricsArray.push(g);e.attr("data-trk-impr","false")}clearInterval(b)}},500)});setTimeout(function(){$(".f_dfp_ad[data-trk-impr='true']:visible").each(function(){var e=$(this);var c=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var d=Tracker.getDFPAdLocation(e);var b=Tracker.getImpressionJsonForValues({},Tracker.IMPRESSION_AD_DFP,"impression",d,c,window.location.pathname,InfoQConstants.language,device);if(Tracker.isImpressionJsonValid(b)){Tracker.metricsArray.push(b);$(this).attr("data-trk-impr","false")}})},(window.noAdblocker===undefined)?0:5000);Tracker.checkIfMetricsCanBePosted()},doTrackVcrRightbarImpressions:function(a){if(!Tracker.trackVcrRightbarImpressions){return}$("."+a+"[data-trk-impr='true']").each(function b(f){var h=$(this).attr("id");var g=$(this).attr("title");var d=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var e=Tracker.getVcrRightbarImpressionLocation(a);var c=Tracker.getImpressionJsonForValues({id:h,title:g},Tracker.IMPRESSION_ITEM_RVC,"impression",e,d,window.location.pathname,InfoQConstants.language,device);if($(this).closest(".widget.spns").is(":visible")){if(Tracker.isImpressionJsonValid(c)){Tracker.metricsArray.push(c);$(this).attr("data-trk-impr","false")}}});Tracker.checkIfMetricsCanBePosted()},doTrackVcrRightbarBoxesImpressions:function(a){if(!Tracker.trackVcrRightbarImpressions){return}$("."+a+"[data-trk-impr='true']").each(function b(f){var d=InfoQConstants.pageType?InfoQConstants.pageType:"PAGE_TYPE_UNAVAILABLE";var h=a.split("_");var e=Tracker.getVcrRightbarBoxesImpressionLocation(a);var g="SPONSORED_CONTENT_BOX_TYPE_"+h[3];var c=Tracker.getImpressionJsonForValues({},g,"impression",e,d,window.location.pathname,InfoQConstants.language,device);if($(this).closest(".widget.spns").is(":visible")){if(Tracker.isImpressionJsonValid(c)){Tracker.metricsArray.push(c);$(this).attr("data-trk-impr","false")}}});Tracker.checkIfMetricsCanBePosted()},doTrackContentBookmark:function(b,a){if(!Tracker.trackContentBookmarking){return}gtag("event","GA4_EVENT",{category:"Bookmarks",action:b,label:a})},doTrackForgotPasswordSteps:function(a){if(!Tracker.trackForgotPasswordSteps){return}gtag("event","GA4_EVENT",{category:"Forgot password",action:a})},doTrackAdAction:function(b,a,c){if(!Tracker.trackAdActions){return}gtag("event","GA4_EVENT",{category:"ADACTION~"+b,action:c,label:a})},safeExec:function(b){try{b()}catch(a){if(window.console&&window.console.log){window.console.log(a)}}},doPostMetric:function(b,a){$.ajax({url:"/metrics/ajaxMetricsLogAction.action",contentType:"application/x-www-form-urlencoded; charset=utf-8",type:"POST",data:{json:b,ha:a}})},addHumanActionParameter:function(a){$("a").each(function(){var b=$(this).attr("href");if(b!=null&&(b.startsWith("/vendorcontent/show.action")||b.startsWith("/url/"))){if(b.indexOf("?")<0){b+="?"}else{b+="&"}b+="ha="+btoa(a);$(this).attr("href",b)}})},checkIfMetricsCanBePosted:function(){$.when(humanDetectionAsync()).then(function(a){if(Tracker.metricsArray.length>0){Tracker.doPostMetric(JSON.stringify(Tracker.metricsArray),a);Tracker.metricsArray=[];Tracker.addHumanActionParameter(a)}})},getImpressionJsonForValues:function(c,f,d,a,b,g,h,e){c.type="impression";c.pageUrl=g;c.language=h;c.device=e;c.impression_type=d;c.item=f;c.pageType=b;c.location=a;return c},getJsonForDefaultVcrItem:function(a){if(a.hasClass("no-jsh")){if(a.hasClass("no-data")){return{id:(a.find(".vcrid").text()?a.find(".vcrid").text():"ID_UNAVAILABLE"),title:(a.find(".vcrtitle").text()?a.find(".vcrtitle").text():"TITLE_UNAVAILABLE")}}else{return{id:(a.data("vcrid")?a.data("vcrid"):"ID_UNAVAILABLE"),title:(a.data("vcrtitle")?a.data("vcrtitle"):"TITLE_UNAVAILABLE")}}}else{return JSON.parse(a.attr("jsh"))}},getJsonForSponsorshipItem:function(a){if(a.attr("jsh")==undefined||a.attr("jsh")==""){return""}return JSON.parse(a.attr("jsh"))},isImpressionJsonValid:function(a){if(a.item==Tracker.IMPRESSION_ITEM_RVC&&(a.id=="ID_UNAVAILABLE"||a.title=="TITLE_UNAVAILABLE")){return false}if(!a.pageType||$.inArray(a.pageType,["HOMEPAGE","NEWS_PAGE","ARTICLE_PAGE","INTERVIEW_PAGE","PRESENTATION_PAGE","RESEARCH_PAGE","BOOK_PAGE","PAGE_TYPE_UNAVAILABLE","CATEGORY_PAGE","PODCAST_PAGE","CONTENT_TYPE_PAGE","CATEGORY_PAGE_BY_CONTENT_TYPE"])==-1){return false}if(!a.location||($.inArray(a.location,["TOP","BOTTOM","EMBEDDED","RIGHTBAR_BOX_TYPE1_TOP","RIGHTBAR_BOX_TYPE1_BOTTOM","RIGHTBAR_BOX_TYPE2_TOP","RIGHTBAR_BOX_TYPE2_BOTTOM","RIGHTBAR_BOX_TYPE1_TRANSCRIPTSRIGHT","LOCATION_UNAVAILABLE","MICROSITE"])==-1&&!a.location.startsWith("EMBEDDED"))){return false}if(!a.item||$.inArray(a.item,[Tracker.IMPRESSION_ITEM_RVC,Tracker.IMPRESSION_BOX_RVC,Tracker.IMPRESSION_BOX_SPONSORED_1,Tracker.IMPRESSION_BOX_SPONSORED_2,Tracker.IMPRESSION_AD_DFP,Tracker.IMPRESSION_ITEM_RSB,Tracker.IMPRESSION_ITEM_MICROSITE])==-1){return false}return true},encodeNotificationLinks:function(a){if($(a).length==0){return}$(a).find("a").each(function(){var c=$(this).attr("href");var b="";if($(this).hasClass("f_notif_type_fulcnt")){b="followed_likes_content"}if($(this).hasClass("f_notif_type_fulcmt")){b="followed_likes_comment"}if($(this).hasClass("f_notif_type_ulmcnt")){b="user_likes_content"}if($(this).hasClass("f_notif_type_upcmtonmcnt")){b="user_posted_comment"}if($(this).hasClass("f_notif_type_ulmcmt")){b="user_likes_comment"}if($(this).hasClass("f_notif_type_fupcnt")){b="followed_posts_content"}if($(this).hasClass("f_notif_type_fupcmt")){b="followed_posts_comment"}if($(this).hasClass("f_notif_type_fufu")){b="followed_followes_user"}if($(this).hasClass("f_notif_type_fuft")){b="followed_follows_topic"}if($(this).hasClass("f_notif_type_ufm")){b="user_followed_me"}if($(this).hasClass("f_notif_type_cntpft")){b="content_in_followed_topic"}if(b!=""){if(typeof c!="undefined"){$(this).attr("href",c)}}})},doTrackP13nNotificationEvents:function(b,a){if(!Tracker.trackP13nNotificationEvents){return}gtag("event","GA4_EVENT",{category:"notifications",action:b,label:a})},doTrackPSBoxEvents:function(b,a){if(!Tracker.trackPSBoxEvents){return}gtag("event","GA4_EVENT",{category:"P&Sbox",action:b,label:a})},doTrackP13nFollowLikeEvents:function(){infoq.event.on("follow",function(b){var a="follow";if(!b.flag){a="unfollow"}if(b.segment=="topic"){gtag("event","GA4_EVENT",{category:"Follow topic",action:a,label:b.trkRef})}if(b.segment=="user"){gtag("event","GA4_EVENT",{category:"user_page",action:a+"_button_click",label:a+"_button_click"})}});infoq.event.on("like",function(b){var a="like";if(!b.flag){a="unlike"}gtag("event","GA4_EVENT",{category:a,action:a+"_"+b.type,label:a+"_"+b.type})})}};$(document).ready(function(){Tracker.doTrackP13nFollowLikeEvents()});var humanDetectionAsync=function(){var a=$.Deferred();var b=$(window);b.mousemove(function(){a.resolve("mousemove")});b.scroll(function(){a.resolve("scroll")});b.click(function(){a.resolve("click")});b.keydown(function(){a.resolve("keydown")});b.on("touchstart",function(){a.resolve("touchstart")});return a.promise()};
/*! Copyright (c) 2008 Brandon Aaron (http://brandonaaron.net)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version: @VERSION
*
* Requires: jQuery 1.2+
*/
(function(d){var c=[],b;d.fn.extend({viewable:function(e){this.bind("viewable",e).each(function(){c.push(this)});if(d.isReady){a()}return this},stopViewable:function(){return this.each(function(){var e=this;d.each(c,function(g,f){if(e==f){delete c[g]}})})}});function a(){var f=d(window).height(),e=self.pageYOffset||d.boxModel&&document.documentElement.scrollTop||document.body.scrollTop,g=f+e;d.each(c,function(o,n){if(!n){return}var h=d(n).offset().top,k=parseInt(d(n).css("height")),m=h+k,j=0,l=0,p=0;if(hg){p=m-g}j=1-((l+p)/k);setTimeout(function(){var s=d(n).offset().top,r=parseInt(d(n).css("height")),t=s+r,q=0,u=0,i=0;if(sg){i=t-g}q=1-((u+i)/r);if(q>=j){d(n).trigger("viewable",[(j>1?1:j<0?0:parseFloat(j))])}},900)})}d(function(){d(window).bind("scroll.viewable",function(){if(b){clearTimeout(b)}b=setTimeout(a,100)});a()})})(jQuery);var processing=false;function backBtnCheck(a){var c="#reloadValue_"+a;var b=navigator.userAgent.toLowerCase();var e=new Date();e=e.getTime();if(b.indexOf("chrome")>-1){window.onbeforeunload=function(d){}}else{if(jQuery(c).val().length===0){jQuery(c).val(e);jQuery("body").show()}else{jQuery(c).val("");location.reload()}}}var PersonalizationSocialAd={checkDisplayDialog:function(){if(CookieManager.readCookie("PSAdialog")!=="closed"){$("#psa-note").css("display","flex");if(loggedIn&&loggedIn==true){$("#psa_note_lnk1").attr("href","https://www.infoq.com"+InfoQConstants.countryCode+"/notifications/settings/");$("#psa_note_lnk1").click(function(){Tracker.doTrackPSBoxEvents("editors picks","desktop")})}else{$("#psa_note_lnk1").click(function(){Tracker.doTrackPSBoxEvents("login","desktop");infoq.event.trigger("login",{ref:"P13NWelcome"})})}$("#psa-close").click(function(){CookieManager.createCookie("PSAdialog","closed",15552000000);Tracker.doTrackPSBoxEvents("close","desktop");$("#psa-note").hide()})}}};var TopBarPromoWidget={init:function(){var a="topbarSurvey";if(CookieManager.readCookie(a)==="hide"){$(".promo").hide()}else{$(document).ready(function(){$(".promo .close").click(function(){CookieManager.createDayCookie(a,"hide",3650)})})}}};!function(aR){function a6(a,b){return function(c){return aQ(a.call(this,c),b)}}function aX(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function aS(){}function a2(a){bb(this,a)}function aT(k){var g=k.years||k.year||k.y||0,d=k.months||k.month||k.M||0,l=k.weeks||k.week||k.w||0,f=k.days||k.day||k.d||0,b=k.hours||k.hour||k.h||0,h=k.minutes||k.minute||k.m||0,c=k.seconds||k.second||k.s||0,j=k.milliseconds||k.millisecond||k.ms||0;this._input=k,this._milliseconds=j+1000*c+60000*h+3600000*b,this._days=f+7*l,this._months=d+12*g,this._data={},this._bubble()}function bb(a,b){for(var c in b){b.hasOwnProperty(c)&&(a[c]=b[c])}return a}function aW(a){return 0>a?Math.ceil(a):Math.floor(a)}function aQ(a,b){for(var c=a+"";c.lengthg;g++){~~b[g]!==~~f[g]&&d++}return d+a}function a5(a){return a?aH[a]||a.toLowerCase().replace(/(.)s$/,"$1"):a}function aZ(a,b){return b.abbr=a,aM[a]||(aM[a]=new aS),aM[a].set(b),aM[a]}function bc(a){if(!a){return aw.fn._lang}if(!aM[a]&&aE){try{require("./lang/"+a)}catch(b){return aw.fn._lang}}return aM[a]}function aY(a){return a.match(/\[.*\]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function aK(a){var c,d,b=a.match(az);for(c=0,d=b.length;d>c;c++){b[c]=aO[b[c]]?aO[b[c]]:aY(b[c])}return function(e){var f="";for(c=0;d>c;c++){f+=b[c] instanceof Function?b[c].call(e,a):b[c]}return f}}function aq(a,c){function d(f){return a.lang().longDateFormat(f)||f}for(var b=5;b--&&ap.test(c);){c=c.replace(ap,d)}return aL[c]||(aL[c]=aK(c)),aL[c](a)}function a4(a,b){switch(a){case"DDDD":return ah;case"YYYY":return ad;case"YYYYY":return aG;case"S":case"SS":case"SSS":case"DDD":return av;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return al;case"a":case"A":return bc(b._l)._meridiemParse;case"X":return aD;case"Z":case"ZZ":return a1;case"T":return aU;case"MM":case"DD":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return au;default:return new RegExp(a.replace("\\",""))}}function aV(a){var c=(a1.exec(a)||[])[0],d=(c+"").match(ba)||["-",0,0],b=+(60*d[1])+~~d[2];return"+"===d[0]?-b:b}function aB(b,d,f){var c,a=f._a;switch(b){case"M":case"MM":a[1]=null==d?0:~~d-1;break;case"MMM":case"MMMM":c=bc(f._l).monthsParse(d),null!=c?a[1]=c:f._isValid=!1;break;case"D":case"DD":case"DDD":case"DDDD":null!=d&&(a[2]=~~d);break;case"YY":a[0]=~~d+(~~d>68?1900:2000);break;case"YYYY":case"YYYYY":a[0]=~~d;break;case"a":case"A":f._isPm=bc(f._l).isPM(d);break;case"H":case"HH":case"h":case"hh":a[3]=~~d;break;case"m":case"mm":a[4]=~~d;break;case"s":case"ss":a[5]=~~d;break;case"S":case"SS":case"SSS":a[6]=~~(1000*("0."+d));break;case"X":f._d=new Date(1000*parseFloat(d));break;case"Z":case"ZZ":f._useUTC=!0,f._tzm=aV(d)}null==d&&(f._isValid=!1)}function ac(a){var c,d,b=[];if(!a._d){for(c=0;7>c;c++){a._a[c]=b[c]=null==a._a[c]?2===c?1:0:a._a[c]}b[3]+=~~((a._tzm||0)/60),b[4]+=~~((a._tzm||0)%60),d=new Date(0),a._useUTC?(d.setUTCFullYear(b[0],b[1],b[2]),d.setUTCHours(b[3],b[4],b[5],b[6])):(d.setFullYear(b[0],b[1],b[2]),d.setHours(b[3],b[4],b[5],b[6])),a._d=d}}function aN(b){var d,f,c=b._f.match(az),a=b._i;for(b._a=[],d=0;dg&&(a=g,c=h)}bb(b,c)}function aP(a){var c,d=a._i,b=at.exec(d);if(b){for(a._f="YYYY-MM-DD"+(b[2]||" "),c=0;4>c;c++){if(af[c][1].exec(d)){a._f+=af[c][0];break}}a1.exec(d)&&(a._f+=" Z"),aN(a)}else{a._d=new Date(d)}}function aj(b){var c=b._i,a=ax.exec(c);c===aR?b._d=new Date:a?b._d=new Date(+a[1]):"string"==typeof c?aP(b):a7(c)?(b._a=c.slice(0),ac(b)):b._d=c instanceof Date?new Date(+c):new Date(c)}function a9(b,d,f,c,a){return a.relativeTime(d||1,!!f,b,c)}function ak(k,g,d){var l=ag(Math.abs(k)/1000),f=ag(l/60),b=ag(f/60),h=ag(b/24),c=ag(h/365),j=45>l&&["s",l]||1===f&&["m"]||45>f&&["mm",f]||1===b&&["h"]||22>b&&["hh",b]||1===h&&["d"]||25>=h&&["dd",h]||45>=h&&["M"]||345>h&&["MM",ag(h/30)]||1===c&&["y"]||["yy",c];return j[2]=g,j[3]=k>0,j[4]=d,a9.apply({},j)}function ay(b,f,g){var c,a=g-f,d=g-b.day();return d>a&&(d-=7),a-7>d&&(d+=7),c=aw(b).add("d",d),{week:Math.ceil(c.dayOfYear()/7),year:c.year()}}function ao(a){var b=a._i,c=a._f;return null===b||""===b?null:("string"==typeof b&&(a._i=b=bc().preparse(b)),aw.isMoment(b)?(a=bb({},b),a._d=new Date(+b._d)):c?a7(c)?a0(a):aN(a):aj(a),new a2(a))}function aJ(a,b){aw.fn[a]=aw.fn[a+"s"]=function(c){var d=this._isUTC?"UTC":"";return null!=c?(this._d["set"+d+b](c),aw.updateOffset(this),this):this._d["get"+d+b]()}}function aC(a){aw.duration.fn[a]=function(){return this._data[a]}}function ar(a,b){aw.duration.fn["as"+a]=function(){return +this/b}}for(var aw,an,ai="2.1.0",ag=Math.round,aM={},aE="undefined"!=typeof module&&module.exports,ax=/^\/?Date\((\-?\d+)/i,ab=/(\-)?(\d*)?\.?(\d+)\:(\d+)\:(\d+)\.?(\d{3})?/,az=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,ap=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,au=/\d\d?/,av=/\d{1,3}/,ah=/\d{3}/,ad=/\d{1,4}/,aG=/[+\-]?\d{1,6}/,al=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,a1=/Z|[\+\-]\d\d:?\d\d/i,aU=/T/i,aD=/[\+\-]?\d+(\.\d{1,3})?/,at=/^\s*\d{4}-\d\d-\d\d((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,am="YYYY-MM-DDTHH:mm:ssZ",af=[["HH:mm:ss.S",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ba=/([\+\-]|\d\d)/gi,aa="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),aF={Milliseconds:1,Seconds:1000,Minutes:60000,Hours:3600000,Days:86400000,Months:2592000000,Years:31536000000},aH={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",w:"week",M:"month",y:"year"},aL={},aA="DDD w W M D d".split(" "),aI="M D H h m s w W".split(" "),aO={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return aQ(this.year()%100,2)},YYYY:function(){return aQ(this.year(),4)},YYYYY:function(){return aQ(this.year(),5)},gg:function(){return aQ(this.weekYear()%100,2)},gggg:function(){return this.weekYear()},ggggg:function(){return aQ(this.weekYear(),5)},GG:function(){return aQ(this.isoWeekYear()%100,2)},GGGG:function(){return this.isoWeekYear()},GGGGG:function(){return aQ(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return ~~(this.milliseconds()/100)},SS:function(){return aQ(~~(this.milliseconds()/10),2)},SSS:function(){return aQ(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+aQ(~~(a/60),2)+":"+aQ(~~a%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+aQ(~~(10*a/6),4)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()}};aA.length;){an=aA.pop(),aO[an+"o"]=aX(aO[an],an)}for(;aI.length;){an=aI.pop(),aO[an+an]=a6(aO[an],2)}for(aO.DDDD=a6(aO.DDD,3),aS.prototype={set:function(a){var b,c;for(c in a){b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b}},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var c,d,b;for(this._monthsParse||(this._monthsParse=[]),c=0;12>c;c++){if(this._monthsParse[c]||(d=aw([2000,c]),b="^"+this.months(d,"")+"|^"+this.monthsShort(d,""),this._monthsParse[c]=new RegExp(b.replace(".",""),"i")),this._monthsParse[c].test(a)){return c}}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var c,d,b;for(this._weekdaysParse||(this._weekdaysParse=[]),c=0;7>c;c++){if(this._weekdaysParse[c]||(d=aw([2000,1]).day(c),b="^"+this.weekdays(d,"")+"|^"+this.weekdaysShort(d,"")+"|^"+this.weekdaysMin(d,""),this._weekdaysParse[c]=new RegExp(b.replace(".",""),"i")),this._weekdaysParse[c].test(a)){return c}}},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return !b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(c){return c.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase()[0]},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(b,d,f,c){var a=this._relativeTime[f];return"function"==typeof a?a(b,d,f,c):a.replace(/%d/i,b)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return ay(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6}},aw=function(a,b,c){return ao({_i:a,_f:b,_l:c,_isUTC:!1})},aw.utc=function(a,b,c){return ao({_useUTC:!0,_isUTC:!0,_l:c,_i:a,_f:b})},aw.unix=function(a){return aw(1000*a)},aw.duration=function(f,h){var k,g,d=aw.isDuration(f),b="number"==typeof f,j=d?f._input:b?{}:f,c=ab.exec(f);return b?h?j[h]=f:j.milliseconds=f:c&&(k="-"===c[1]?-1:1,j={y:0,d:~~c[2]*k,h:~~c[3]*k,m:~~c[4]*k,s:~~c[5]*k,ms:~~c[6]*k}),g=new aT(j),d&&f.hasOwnProperty("_lang")&&(g._lang=f._lang),g},aw.version=ai,aw.defaultFormat=am,aw.updateOffset=function(){},aw.lang=function(a,b){return a?(b?aZ(a,b):aM[a]||bc(a),aw.duration.fn._lang=aw.fn._lang=bc(a),void 0):aw.fn._lang._abbr},aw.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),bc(a)},aw.isMoment=function(a){return a instanceof a2},aw.isDuration=function(a){return a instanceof aT},aw.fn=a2.prototype={clone:function(){return aw(this)},valueOf:function(){return +this._d+60000*(this._offset||0)},unix:function(){return Math.floor(+this/1000)},toString:function(){return this.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){return aq(aw(this).utc(),"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return null==this._isValid&&(this._isValid=this._a?!a8(this._a,(this._isUTC?aw.utc(this._a):aw(this._a)).toArray()):!isNaN(this._d.getTime())),!!this._isValid},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=aq(this,a||aw.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?aw.duration(+b,a):aw.duration(a,b),a3(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?aw.duration(+b,a):aw.duration(a,b),a3(this,c,-1),this},diff:function(d,h,j){var f,c,g=this._isUTC?aw(d).zone(this._offset||0):aw(d).local(),b=60000*(this.zone()-g.zone());return h=a5(h),"year"===h||"month"===h?(f=43200000*(this.daysInMonth()+g.daysInMonth()),c=12*(this.year()-g.year())+(this.month()-g.month()),c+=(this-aw(this).startOf("month")-(g-aw(g).startOf("month")))/f,c-=60000*(this.zone()-aw(this).startOf("month").zone()-(g.zone()-aw(g).startOf("month").zone()))/f,"year"===h&&(c/=12)):(f=this-g,c="second"===h?f/1000:"minute"===h?f/60000:"hour"===h?f/3600000:"day"===h?(f-b)/86400000:"week"===h?(f-b)/604800000:f),j?c:aW(c)},from:function(a,b){return aw.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(aw(),a)},calendar:function(){var a=this.diff(aw().startOf("day"),"days",!0),b=-6>a?"sameElse":-1>a?"lastWeek":0>a?"lastDay":1>a?"sameDay":2>a?"nextDay":7>a?"nextWeek":"sameElse";return this.format(this.lang().calendar(b,this))},isLeapYear:function(){var a=this.year();return 0===a%4&&0!==a%100||0===a%400},isDST:function(){return this.zone()+aw(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+aw(a).startOf(b)},isSame:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)===+aw(a).startOf(b)},min:function(a){return a=aw.apply(null,arguments),this>a?this:a},max:function(a){return a=aw.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=aV(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&a3(this,aw.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},daysInMonth:function(){return aw.utc([this.year(),this.month()+1,0]).date()},dayOfYear:function(a){var b=ag((aw(this).startOf("day")-aw(this).startOf("year"))/86400000)+1;return null==a?b:this.add("d",a-b)},weekYear:function(a){var b=ay(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=ay(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=ay(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this._d.getDay()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},lang:function(a){return a===aR?this._lang:(this._lang=bc(a),this)}},an=0;anc?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65e5] LT",lastWeek:"[\u524d\u9031]dddd LT",sameElse:"L"},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}"function"==typeof define&&define.amd&&define(["moment"],a),"undefined"!=typeof window&&window.moment&&a(window.moment)}();!function(){function a(b){b.lang("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Dom_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1b".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xe1s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%d\xba",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],a),"undefined"!=typeof window&&window.moment&&a(window.moment)}();!function(){function a(b){b.lang("zh",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"Ah\u70b9mm",L:"YYYY\u5e74MMMD\u65e5",LL:"YYYY\u5e74MMMD\u65e5",LLL:"YYYY\u5e74MMMD\u65e5LT",LLLL:"YYYY\u5e74MMMD\u65e5ddddLT",l:"YYYY\u5e74MMMD\u65e5",ll:"YYYY\u5e74MMMD\u65e5",lll:"YYYY\u5e74MMMD\u65e5LT",llll:"YYYY\u5e74MMMD\u65e5ddddLT"},meridiem:function(c,d){return 9>c?"\u65e9\u4e0a":11>c&&30>d?"\u4e0a\u5348":13>c&&30>d?"\u4e2d\u5348":18>c?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},ordinal:function(c,d){switch(d){case"d":case"D":case"DDD":return c+"\u65e5";case"M":return c+"\u6708";case"w":case"W":return c+"\u5468";default:return c}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",m:"1\u5206\u949f",mm:"%d\u5206\u949f",h:"1\u5c0f\u65f6",hh:"%d\u5c0f\u65f6",d:"1\u5929",dd:"%d\u5929",M:"1\u4e2a\u6708",MM:"%d\u4e2a\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}"function"==typeof define&&define.amd&&define(["moment"],a),"undefined"!=typeof window&&window.moment&&a(window.moment)}();