2022-03-10 11:04:14 +03:00

679 lines
504 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* >>> file start: js/jquery/jquery.lj.inlineCalendar.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(t){function e(t,e){e=e||!1;var a=t.getDate().toString();1===a.length&&(a="0"+a),e&&(a="");var n=t.getMonth().toString();return 1===n.length&&(n="0"+n),parseInt(t.getFullYear().toString()+n+a,10)}function a(t,a){return e(a,!0)>=e(t[0],!0)&&e(a,!0)<=e(t[1],!0)}function n(a,n,i){this.initialize=function(t){this.tbody=this.catchTableStructure(t)},this.modelChanged=function(e,n,s){var o=i.longMonth?i.ml.monthNamesLong:i.ml.monthNamesShort;this.tbody.detach(),this.fillDates(e,n);for(var r in s)s.hasOwnProperty(r)&&a[r][s[r]?"removeClass":"addClass"](this.disabledStyle(r));var l=i.monthRef?t("<a>",{href:LJ.Util.Date.format(e,i.monthRef),text:o[e.getMonth()]+(i.monthWithYear?" "+e.getFullYear():"")}):o[e.getMonth()],h=i.yearRef?t("<a>",{href:LJ.Util.Date.format(e,i.yearRef),text:e.getFullYear()}):e.getFullYear();a.monthLabel.empty().append(l),a.yearLabel.empty().append(h),this.tbody.appendTo(a.table)},this.catchTableStructure=function(e){var n=a.tbody[0];a.daysCells=[],a.daysSpans=[];for(var i,s,o,r=n.rows.length,l=6-r,h="<tr>",d=0;7>d;++d)h+="<td><span></span></td>";for(h+="</tr>";l-- >0;)t(h).hide().appendTo(a.tbody);for(r=6,a.lastRow=jQuery(n.rows[n.rows.length-1]),e=new Date(e),i=0;r>i;++i)for(s=0,o=n.rows[i].cells.length;o>s;++s){var c=jQuery(n.rows[i].cells[s]),p=c.children(),u=p.text().trim();u&&(e.setDate(u),c.data("isActive",!0),c.data("day",e)),a.daysCells.push(c),a.daysSpans.push(p)}return jQuery(n)},this.fillDates=function(t,e){function n(t){var a=t.getFullYear(),n=t.getMonth(),i=t.getDate();return e&&e[a]&&e[a][n]&&e[a][n][i]}var s=new Date(t);s.setDate(1);var o;o=i.startAtSunday?s.getDay():0===s.getDay()?6:s.getDay()-1,s.setDate(1-o);for(var r=0,l=a.daysCells.length;l>r;++r){var h=a.daysCells[r],d=a.daysSpans[r];this.formDayString(s,h,d,n(s),this.isActiveDate(s,t)),s.setDate(s.getDate()+1)}s.setDate(s.getDate()-1),s.getDate()<7?a.lastRow.css("display",""):a.lastRow.css("display","none")},this.isActiveDate=function(t,a){var n=!0;return n=a.getFullYear()===t.getFullYear()&&a.getMonth()===t.getMonth(),n&&(i.activeFrom||i.activeUntil)&&(n=i.activeFrom&&e(i.activeFrom)<=e(t)||i.activeUntil&&e(i.activeUntil)>=e(t)),n},this.formDayString=function(a,s,o,r,l){a=new Date(a);var h=e(a)===e(i.currentDate);if(s.data("day",a),s.data("isActive",l),s.data("hasEvents",r),s[h?"addClass":"removeClass"](n.current),s.removeClass(n.cellHover),l)if(r||i.allRefs){var d=!0;i.allRefs&&"object"===_typeof(i.allRefs)&&(i.allRefs.from&&a<i.allRefs.from&&(d=!1),i.allRefs.to&&a>i.allRefs.to&&(d=!1)),d?(s.removeClass(n.inactive),o.html(t("<a />",{html:a.getDate(),href:LJ.Util.Date.format(a,i.dayRef),target:"_self"}))):(s.removeClass(n.inactive),o.html(a.getDate()))}else s.removeClass(n.inactive),o.html(a.getDate());else s.addClass(n.inactive),o.html(a.getDate())},this.disabledStyle=function(t){return"prevMonth"===t||"prevYear"===t?n.prevDisabled:n.nextDisabled}}var i={dayRef:"/%Y/%M/%D",monthRef:"",yearRef:"",allRefs:!1,currentDate:new Date,activeUntil:null,activeFrom:null,startMonth:new Date(1900,0,1),endMonth:new Date(2050,0,1),startAtSunday:"0"===LJ.ml("date.format.offset")||!1,dateFormat:"%Y-%M-%D",defaultTitle:"Calendar",longMonth:!1,events:null,displayedMonth:null,dateChange:null,selectors:{table:"table",title:"h5",tbody:"tbody",month:".cal-nav-month",year:".cal-nav-year",monthSelect:".cal-nav-month-select",yearSelect:".cal-nav-year-select",prevMonth:".cal-nav-month .cal-nav-prev",nextMonth:".cal-nav-month .cal-nav-next",prevYear:".cal-nav-year .cal-nav-prev",nextYear:".cal-nav-year .cal-nav-next",monthLabel:".cal-nav-month .cal-month",yearLabel:".cal-nav-year .cal-year"},classNames:{container:"",inactive:"other",future:"other",current:"current",weekend:"weekend",nextDisabled:"cal-nav-next-dis",prevDisabled:"cal-nav-prev-dis",cellHover:"hover",longMonth:"sidebar-cal-longmonth"},mlPrefix:{monthNamesShort:["monthNames","date.month.{name}.short"],monthNamesLong:["monthNames","date.month.{name}.long"],dayNamesShort:["dayNames","date.day.{name}.short"]},ml:{monthNames:["january","february","march","april","may","june","july","august","september","october","november","december"],dayNames:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],caption:"Calendar"}},s={options:{},_create:function(){this._preInit(),this._initialize(),this._postInit()},_preInit:function(){var e=t[this.namespace][this.widgetName].getDefaults();this.options=jQuery.extend(!0,{},e,this.options),this._prepareMLVars()},_prepareMLVars:function(){var t,e=function(t,e){return LJ.ml(t.supplant({name:e}))};for(var a in this.options.mlPrefix)this.options.mlPrefix.hasOwnProperty(a)&&(t=this.options.mlPrefix[a],this.options.ml[a]=this.options.ml[t[0]].map(e.bind(null,t[1])))},_initialize:function(){this.options.displayedMonth||(this.options.displayedMonth=new Date(this.options.currentDate)),this._events=this.options.events,this._hideTimer=null,this._nodes=this._nodes||{container:this.element,root:this.element},this._invalidateTimer=null,this.element.hasClass(this.options.classNames.longMonth)&&(this.options.longMonth=!0),this._bindNodes(),this.options.startMonth.setDate(1),this._view=new(this._getView())(this._nodes,this.options.classNames,this.options),this._view.initialize(this.options.currentDate),this._nodes.table.hasClass("monday")&&this._setOption("startAtSunday",!1),this._nodes.monthSelect.val(this.options.displayedMonth.getMonth()),this._nodes.yearSelect.val(this.options.displayedMonth.getFullYear()),this._bindEvents()},_postInit:function(){},_getView:function(){return n},_bindNodes:function(){for(var t in this.options.selectors)!this.options.selectors.hasOwnProperty(t)||t in this._nodes||(this._nodes[t]=this._nodes.container.find(this.options.selectors[t]));var e=LJ.Util.Date.parse(this._nodes.table.attr("data-date"),this.options.dateFormat);e&&(this.options.displayedMonth=e)},destroy:function(){t.Widget.prototype.destroy.apply(this,arguments)},_bindEvents:function(){var e=this,a=this._getSwitcherStates(this.options.currentDate),n=function(t){return function(a){a.preventDefault(),a.stopPropagation();var n=e._getSwitcherStates(e.options.currentDate);n[t]&&e["_"+t]()}};for(var i in a)a.hasOwnProperty(i)&&this._nodes[i].click(n(i));this._nodes.monthSelect.change(function(){var t=new Date(e.options.currentDate);t.setMonth(this.value),e._setOption("currentDate",t)}),this._nodes.yearSelect.change(function(){var t=new Date(e.options.currentDate);t.setFullYear(this.value),e._setOption("currentDate",t)}),this._nodes.tbody.delegate("td","click",function(a){e._cellSelectedEvent(t(this),a)})},_switchMonth:function(t){var e=jQuery.Event("dateChange");e.moveForward=t>0,e.switchType=12===Math.abs(t)?"year":1===Math.abs(t)?"month":null,e.date=new Date(this.options.displayedMonth.getFullYear(),this.options.displayedMonth.getMonth()+t,1),this._nodes.root.trigger(e),this._setOption("displayedMonth",e.date)},_prevMonth:function(){this._switchMonth(-1)},_nextMonth:function(){this._switchMonth(1)},_prevYear:function(){this._switchMonth(-12)},_nextYear:function(){this._switchMonth(12)},_cellSelectedEvent:function(t,e){t.data("isActive")&&!this._cellSelected(t.data("day"))||(e.stopPropagation(),e.preventDefault())},_cellSelected:function(t){var e=jQuery.Event("daySelected");return this._nodes.root.trigger(e,[t,LJ.Util.Date.format(t,this.options.dateFormat)]),e.isDefaultPrevented()||this._setOption("currentDate",t),!e.isDefaultPrevented()},_fitDate:function(t){t=new Date(t);var n=[this.options.startMonth,this.options.endMonth];return a(n,t)||(t=e(t,!0)<e(n[0],!0)?new Date(n[0]):new Date(n[1])),t},_getSwitcherStates:function(){var t=this.options.displayedMonth,e=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),11,1);return{prevMonth:this._isActivePrev(t)!==!1,prevYear:this._isActivePrev(e)!==!1,nextMonth:this._isActiveNext(t)!==!1,nextYear:this._isActiveNext(a)!==!1}},_isActiveNext:function(t){return this._isActiveDate(t,1)},_isActivePrev:function(t){return this._isActiveDate(t,-1)},_isActiveDate:function(t,e){var n=new Date(t);return n.setMonth(n.getMonth()+e),n.setDate(1),a([this.options.startMonth,this.options.endMonth],n)},_invalidateDisplay:function(){var t=this;clearTimeout(this._invalidateTimer),setTimeout(function(){t._view.modelChanged(t.options.displayedMonth,t._events,t._getSwitcherStates())},50)},_setOption:function(t,a){switch(t){case"currentDate":this.options.currentDate=this._fitDate(a);var n=jQuery.Event("currentDateChange"),i=new Date(this.options.currentDate);this._nodes.root.trigger(n,[i,LJ.Util.Date.format(i,this.options.dateFormat)]),this._setOption("displayedMonth",a),this._invalidateDisplay();break;case"activeFrom":this.options.activeFrom=new Date(a),this._invalidateDisplay();break;case"activeUntil":this.options.activeUntil=new Date(a),this._invalidateDisplay();break;case"title":this._title=a,this._nodes.title.html(a);break;case"events":this._events=a,this._invalidateDisplay();break;case"displayedMonth":var s=this._fitDate(new Date(a)),o=e(s,!0)===e(this.options.displayedMonth,!0);o||(this.options.displayedMonth=this._fitDate(new Date(a)),this._nodes.monthSelect.val(this.options.displayedMonth.getMonth()),this._nodes.yearSelect.val(this.options.displayedMonth.getFullYear()),this._invalidateDisplay());break;case"startMonth":this.options.startMonth=new Date(a),this._invalidateDisplay();break;case"endMonth":this.options.endMonth=new Date(a),this._invalidateDisplay();break;case"startAtSunday":this.options.startAtSunday=!!a;break;case"monthWithYear":this.options.monthWithYear=Boolean(a);break;case"dayRef":this.options.dayRef=a,this._invalidateDisplay()}},getElement:function(t){return t in this._nodes?this._nodes[t]:null}};t.widget("lj.inlineCalendar",s),jQuery.extend(t.lj.inlineCalendar,{getDefaults:function(){return i},setDefaults:function(t){t&&jQuery.extend(!0,i,t)}})}(jQuery);
/* <<< file end: js/jquery/jquery.lj.inlineCalendar.js */
//# map link was there [jquery.lj.inlineCalendar.js.map]
/* >>> file start: js/jquery/jquery.lj.calendar.js */
//= require js/jquery/jquery.lj.inlineCalendar.js
!function(e,t){var n,s={showOn:"click",closeControl:!0,showCellHovers:!1,hoverDelay:400,align:"center",events:null,displayedMonth:null,bubbleClass:!1,selectors:{tmpl:".appwidget-calendar .calendar"},classNames:{showCellHovers:"all-days",popup:"b-bubble-calendar"},templates:{calendar:'<div class="popup-inner calendar" style="display: none;"> <p class="cal-nav"> <span class="cal-nav-month"> <i class="cal-nav-prev"></i> <span class="cal-month"></span> <i class="cal-nav-next cal-nav-next-dis"></i> </span> <span class="cal-nav-year"> <i class="cal-nav-prev cal-nav-prev"></i> <span class="cal-year"></span> <i class="cal-nav-next cal-nav-next-dis"></i> </span> </p> <table class="calendar-table" cellspacing="0" cellpadding="0"> <thead> <tr> {{each days}} <th class="calendar-cell calendar-cell--header {{if $index % 7 === weekend1 || $index % 7 === weekend2}} weekend{{/if}}">${day}</th> {{/each}} </tr> </thead> <tbody> {{each cells}} {{if $index % 7 === 0}}<tr>{{/if}} <td class="calendar-cell {{if $index % 7 === weekend1 || $index % 7 === weekend2}}weekend{{/if}}"><span></span></td> {{if $index % 7 === 6}}</tr>{{/if}} {{/each}} </tbody> </table></div>'}},a={options:{},_initialize:function(){n||(n=this._buildDOM()),this._nodes={container:n.clone(),root:this.element},e.lj.inlineCalendar.prototype._initialize.apply(this),this._invalidateDisplay()},_bindNodes:function(){e.lj.inlineCalendar.prototype._bindNodes.apply(this);var t=this;this._nodes.container.bubble({classNames:{containerAddClass:this.options.bubbleClass?this.options.classNames.popup:""},target:this._nodes.root,align:this.options.align,closeControl:this.options.closeControl,showOn:this.options.showOn,closeOnContentClick:!1}).bind("bubbleshow",function(e){t._nodes.container.bubble("setPreventHide",!0),setTimeout(function(){t._nodes.container.bubble("setPreventHide",!1)},300),t._trigger("show")}).bind("bubblehide",function(e){t._trigger("hide")}).addClass(this.options.classNames.container),this.options.input?this._nodes.input=this.options.input:this._nodes.root.is("[type=text]")?this._nodes.input=this._nodes.root:this._nodes.input=e(),this._nodes.input.mask&&this._nodes.input.mask("?dddd-dd-dd",{placeholder:" "}),this._nodes.input.input(this._parseInputValue.bind(this));var n=LJ.Util.Date.parse(this._nodes.input.val(),this.options.dateFormat);n&&(this.options.currentDate=n),this.options.showCellHovers&&this._nodes.table.addClass(this.options.classNames.showCellHovers)},destroy:function(){this._nodes.container.bubble("destroy"),e.lj.inlineCalendar.prototype.destroy.apply(this)},_buildDOM:function(){var e=this.options.ml.dayNamesShort.map(function(e){return{day:e}}),t=0,n=6,s=function(e,t){for(var n=[];e--;)n.push(t);return n};this.options.startAtSunday||(e[7]=e[0],e.shift(),t=5);for(var a=[],i=[],l=this.options.endMonth.getFullYear(),o=this.options.startMonth.getFullYear();l>=o;)a.push({year:l--});i=this.options.ml.monthNamesLong.map(function(e){return{month:e}});var d={caption:this.options.ml.caption,days:e,months:i,years:a,cells:s(42,{}),weekend1:t,weekend2:n};return-1!==this.options.templates.calendar.indexOf(" ")?jQuery.tmpl(this.options.templates.calendar,d):LJ.UI.template(this.options.templates.calendar,d)},_parseInputValue:function(){var e=LJ.Util.Date.parse(this._nodes.input.val(),this.options.dateFormat);e&&this._cellSelected(e)},_cellSelectedEvent:function(n,s){var a=this;e.lj.inlineCalendar.prototype._cellSelectedEvent.call(this,n,s),a.options.showCellHovers&&n.data("isActive")&&a._nodes.container.bubble("hide"),"a"==s.target.tagName.toLowerCase()&&(t.location.href=s.target.href)},_invalidateDisplay:function(){this._view.modelChanged(this.options.displayedMonth,this._events,this._getSwitcherStates())},_setOption:function(t,n){switch(e.lj.inlineCalendar.prototype._setOption.call(this,t,n),t){case"currentDate":this._nodes.input.val(LJ.Util.Date.format(this.options.currentDate,this.options.dateFormat))}}};e.widget("lj.calendar",e.lj.inlineCalendar,a),jQuery.extend(e.lj.calendar,{getDefaults:function(){return jQuery.extend(!0,{},e.lj.inlineCalendar.getDefaults(),s)},setDefaults:function(e){e&&jQuery.extend(s,e)}})}(jQuery,window);
/* <<< file end: js/jquery/jquery.lj.calendar.js */
//# map link was there [jquery.lj.calendar.js.map]
/* >>> file start: js/jquery/jquery.mask.js */
!function(t){var e=(t.browser.msie?"paste":"input")+".mask",n=void 0!=window.orientation;t.mask={definitions:{d:"[0-9]",w:"[A-Za-z]","*":"[A-Za-z0-9а-яА-Я]"}},t.fn.extend({unmask:function(){return this.trigger("unmask")},mask:function(a,r){if(!a&&this.length>0){var i=t(this[0]),o=i.data("tests");return t.map(i.data("buffer"),function(t,e){return o[e]?t:null}).join("")}r=t.extend({placeholder:"_",completed:null},r);var u=t.mask.definitions,o=[],l=a.length,f=null,s=a.length;return t.each(a.split(""),function(t,e){"?"==e?(s--,l=t):u[e]?(o.push(new RegExp(u[e])),null==f&&(f=o.length-1)):o.push(null)}),this.each(function(){function i(t){for(;++t<=s&&!o[t];);return t}function c(t){for(;!o[t]&&--t>=0;);for(var e=t;s>e;e++)if(o[e]){g[e]=r.placeholder;var n=i(e);if(!(s>n&&o[e].test(g[n])))break;g[e]=g[n]}k(),b.caret(Math.max(f,t))}function d(t){for(var e=t,n=r.placeholder;s>e;e++)if(o[e]){var a=i(e),u=g[e];if(g[e]=n,!(s>a&&o[a].test(u)))break;n=u}}function h(e){var a=t(this).caret(),r=e.keyCode;return y=16>r||r>16&&32>r||r>32&&41>r,a.start-a.end==0||y&&8!=r&&46!=r||m(a.start,a.end),8==r||46==r||n&&127==r?(c(a.start+(46==r?0:-1)),!1):27==r?(b.val(w),b.caret(0,p()),!1):void 0}function v(e){if(y)return y=!1,8==e.keyCode?!1:null;e=e||window.event;var n=e.charCode||e.keyCode||e.which,a=t(this).caret();if(e.ctrlKey||e.altKey||e.metaKey)return!0;if(n>=32&&125>=n||n>186){var u=i(a.start-1);if(s>u){var l=String.fromCharCode(n);if(o[u].test(l)){d(u),g[u]=l,k();var a=i(u);t(this).caret(a),r.completed&&a==s&&r.completed.call(b)}}}return!1}function m(t,e){for(var n=t;e>n&&s>n;n++)o[n]&&(g[n]=r.placeholder)}function k(){return b.val(g.join("")).val()}function p(t){for(var e=b.val(),n=-1,a=0,i=0;s>a;a++)if(o[a]){for(g[a]=r.placeholder;i++<e.length;){var u=e.charAt(i-1);if(o[a].test(u)){g[a]=u,n=a;break}}if(i>e.length)break}else g[a]==e.charAt(i)&&a!=l&&(i++,n=a);return!t&&l>n+1?(b.val(""),m(0,s)):(t||n+1>=l)&&(k(),t||b.val(b.val().substring(0,n+1))),l?a:f}var b=t(this),g=t.map(a.split(""),function(t,e){return"?"!=t?u[t]?r.placeholder:t:void 0}),y=!1,w=b.val();b.data("buffer",g).data("tests",o),b.attr("readonly")||b.one("unmask",function(){b.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",function(){w=b.val();var t=p();k(),setTimeout(function(){t==a.length?b.caret(0,t):b.caret(t)},0)}).bind("blur.mask",function(){p(),b.val()!=w&&b.change()}).bind("keydown.mask",h).bind("keypress.mask",v).bind(e,function(){setTimeout(function(){b.caret(p(!0))},0)}),p()})}})}(jQuery);
/* <<< file end: js/jquery/jquery.mask.js */
//# map link was there [jquery.mask.js.map]
/* >>> file start: js/jquery/jquery.calendarEvents.js */
!function(e){var t={};e.fn.calendarEvents=function(n){function a(e,t){return"cache_"+e+t}function s(e,t){var n=this;this.calendar=e,this.events=null,this.options=t,this._ajaxActive=!1,this._currentDate;var s,i=function(t,i){"string"!=typeof e.data("noFetch")&&(clearTimeout(s),n._currentDate=a(t.getFullYear(),t.getMonth()+1),s=setTimeout(function(){n.fetchEvents(t.getFullYear(),t.getMonth()+1,i)},200))};this.calendar.bind("dateChange",function(e){var t=n.calendar[n.options.calendarType]("option","displayedMonth"),a=1===Math.abs(12*(e.date.getFullYear()-t.getFullYear())+(e.date.getMonth()-t.getMonth()));i(e.date,a)}),this.options.fetchOnFirstDisplay&&this.calendar.one("calendarshow",function(e){i(new Date,!0)})}var i={calendarType:"calendar",classNames:{idle:"idle"},fetchOnFirstDisplay:!1};return s.prototype={getEvents:function(e,t,n){var a={};return a[+e]={},a[+e][+t-1]=n,a},fetchEvents:function(n,s,i){i=arguments.length>=3?!!i:!0;var o=this,r=(this.calendar[this.options.calendarType]("option","displayedMonth"),this.calendar[this.options.calendarType]("getElement",i?"month":"year")),c=this.options.classNames.idle,l=!0,h=function(){o._ajaxActive||l||r.removeClass(c)};this.calendar[this.options.calendarType]("getElement","year").removeClass(c),this.calendar[this.options.calendarType]("getElement","month").removeClass(c),r.addClass(c),this._ajaxActive=!0,setTimeout(function(){l=!1,h()},500);var d=a(n,s);processResults=function(e){d===o._currentDate&&(o.events=t[d],o.calendar[o.options.calendarType]("option","events",o.getEvents(o.events.year,o.events.month,o.events.days)),o._ajaxActive=!1,h())},d in t?processResults(t[d]):e.getJSON(LiveJournal.getAjaxUrl("calendar"),{year:n,month:s},function(e){t[d]=e,processResults(e)})}},this.each(function(){new s(e(this),e.extend({},i,n))})}}(jQuery);
/* <<< file end: js/jquery/jquery.calendarEvents.js */
//# map link was there [jquery.calendarEvents.js.map]
/* >>> file start: js/core/angular/ref.js */
!function(e){return e}(),function(){"use strict";angular.module("LJ.Ref",[]).factory("Ref",function(){function e(e,n){return f[e]?void console.error("Ref element with id `%s` has been registered before.",e):void(f[e]=n)}function n(e){f[e]&&delete f[e]}function o(e){var n=f[e];return n||console.error("Ref `%s` not found.",e),n}function r(e,n){"undefined"==typeof n&&(n={});var r=o(e),f=angular.element("html, body");if(!r)return void console.error("Could not scroll to the ref `%s` that has not been already defined.",e);var l=r.offset().top;n.onlyUp&&angular.element(window).scrollTop()<=l||n.onlyOutOfScreen&&!t(r)||(n.toParent&&(f=r.parent(),l=0),f.animate({scrollTop:l}))}function t(e){var n=angular.element(window),o=n.scrollTop(),r=o+n.height(),t=e.offset().top;return t>r-100||o>t}var f={};return{add:e,remove:n,get:o,scrollTo:r}}).directive("ljRef",["Ref",function(e){return{restrict:"A",scope:!0,link:function(n,o,r){var t=r.ljRef;e.add(t,o),n.$on("$destroy",function(){e.remove(t)})}}}])}();
/* <<< file end: js/core/angular/ref.js */
//# map link was there [ref.js.map]
/* >>> file start: js/core/angular/bubble.js */
//= require js/core/angular/ref.js
Site.page.template['Widgets/ljBubble.tmpl'] = '<div\n class=\"\n b-popup\n bubble-node\n b-popup-withclosecontrol\n b-bubble-{{bubble.name}}\n \"\n ng-show=\"show\"\n lj-switch-off=\"show\"\n lj-switch-off-action=\"bubble.close()\"\n lj-switch-off-ignore-sticky=true\n ng-style=\"{ left: position.x, top: position.y, visibility: visibility }\"\n ng-class=\"{\n \'b-popup-noclosecontrol\': !bubble.options.closeControl\n }\"\n lj-switch-off-skip>\n <div class=\"b-popup-outer\">\n <div class=\"b-popup-inner\">\n <i\n class=\"i-popup-arr\"\n ng-class=\"arrowClass()\"\n ng-show=\"getShouldShowArrow()\"\n >\n <i class=\"i-popup-arr-brdr-outer\">\n <i class=\"i-popup-arr-brdr-inner\">\n <i class=\"i-popup-arr-bg\"></i>\n </i>\n </i>\n </i>\n <div ng-include src=\"template\"></div>\n <i\n class=\"i-popup-close\"\n ng-click=\"bubble.close()\"\n ng-show=\"getShowCloseBtn()\"\n ></i>\n </div>\n </div>\n</div>\n';
Site.page.template['angular/confirm.bubble.ng.tmpl'] = '<div class=\"b-popup-content b-popup-options-centered\">\n <div class=\"b-popup-content-header\">\n <span>{{ bubble.options.header }}</span>\n </div>\n <div class=\"b-popup-content-confirm\" ng-bind-html=\"bubble.options.text\"></div>\n <div class=\"b-popup-submit-options\">\n <button class=\"b-popup-btn b-flatbutton b-flatbutton-simple\" ng-click=\"bubble.options.confirm()\">{{ bubble.options.yes }}</button>\n <button class=\"b-popup-cancel b-flatbutton b-flatbutton-simple b-flatbutton-neutral\" ng-click=\"bubble.close()\">{{ bubble.options.no }}</button>\n </div>\n</div>\n';
//= require_ml confirm.bubble.yes
//= require_ml confirm.bubble.no
!function(){"use strict";function e(e,o,t,n,r){return{scope:!0,link:function(i,l,a){function u(){var e=i.arrow.vertical,o=i.arrow.horizontal,t=W.aside,r=H.innerWidth<=650;i.visibility="hidden",W.keepInitialWidth&&!W.widthSaved&&(W.widthSaved=!0,L.width(L.width())),b(),p()&&!r&&(i.arrow.vertical="b"===e?f("alwaysTop")?"b":"t":f("alwaysBottom")?"t":"b",b(),h()&&!f("alwaysTop")&&(i.arrow.vertical="t",b())),w()&&!r&&(i.arrow.horizontal="l"===o?f("alwaysRight")||v()?"l":"r":f("alwaysLeft")||g()?"r":"l"),!r&&w()&&i.arrow.horizontal===o&&c()&&(W.aside=!0),r||i.arrow.horizontal===o&&i.arrow.vertical===e&&W.aside===t?i.visibility="visible":n(s)}function s(){return b(),w()&&c()?(W.aside=!0,i.$apply(),void s()):w()&&!f("aside")&&i.arrow.horizontal?(i.arrow.horizontal="",void s()):void(i.visibility="visible")}function c(){return!f("aside")&&f("tryAsideIfNoHorizSpace")}function f(e){return i.bubble.options[e]||W[e]}function b(){var o=e.node||l,t=o.offset().left+Math.floor(o.outerWidth()/2),n=i.bubble.options.forceX||0,r=i.bubble.options.forceY||0;if(f("aside"))i.position.x="r"===i.arrow.horizontal?o.offset().left-L.outerWidth()-x.outerWidth()+n:o.offset().left+o.outerWidth()+x.outerWidth()+n,i.position.y=o.offset().top-x.position().top+(o.outerHeight()-x.outerHeight())/2+r;else{if("center"===i.arrow.horizontal){var a=void 0;a=x.is(":visible")?x.position().left:L.outerWidth()/2,i.position.x=t-a+n}else i.position.x=i.arrow.horizontal?t-x.position().left-Math.floor(x.outerWidth()/2)-2+n:t-L.outerWidth()/2-Math.floor(x.outerWidth()/4)-2+n;i.position.y="t"===i.arrow.vertical?o.offset().top+o.outerHeight()+x.outerHeight()+r:o.offset().top-x.outerHeight()-L.outerHeight()+r}}function d(){i.position.x=-9999}function p(){return h()?!0:i.position.y+L.outerHeight()>H.scrollTop()+H.outerHeight()}function h(){return i.position.y<H.scrollTop()}function w(){return v()||g()}function v(){return i.position.x<H.scrollLeft()}function g(){return i.position.x+L.outerWidth()>H.scrollLeft()+H.outerWidth()}function m(o){o.preventDefault(),e.current!==W.name&&n(function(){e.open(W.name)})}function y(){$(),J&&(B=n(e.close,J))}function $(){n.cancel(B)}function z(){var o=W.name,t=e.current;o===t&&($(),e.close(),i.$apply())}function C(){i.show&&n(j)}var B,W=o(a.ljBubble)(i),S=W.name,L=t(r.get("ljBubble.tmpl"))(i),j=LJ.Function.throttle(u,50),x=L.find(".i-popup-arr"),H=angular.element(window),O=W.eventType||"click",J=Number(W.autoClose||0);i.show=!1,e._register(S,W),i.template=W.template||S+".html",i.bubble={name:S,close:e.close,options:e.options(S)},i.clear=function(){i.arrow={vertical:W.arrowInitialVertical||"t",horizontal:W.arrowInitialHorizontal||"l"}},i.position={x:-9999,y:-9999},i.visibility="hidden",i.arrowClass=function(){var e=i.bubble.options,o=i.arrow.vertical,t=void 0;return t="center"===i.arrow.horizontal?"":i.arrow.horizontal,e.aside||W.aside?"i-popup-arr"+t+o:"i-popup-arr"+o+t},i.getShouldShowArrow=function(){return angular.isDefined(i.bubble.options.showArrow)?i.bubble.options.showArrow:angular.isDefined(W.showArrow)?W.showArrow:!0},i.getShowCloseBtn=function(){return angular.isDefined(i.bubble.options.showCloseBtn)?i.bubble.options.showCloseBtn:angular.isDefined(W.showCloseBtn)?W.showCloseBtn:!0},i.$on("bubble:reposition:"+S,function(){n(j)}),i.$watch(function(){return e.current},function(e){d(),n(function(){i.show=e===S,e&&i.show&&(i.clear(),n(j))})},!0),W.disableClick||l.on(O,m),W.disableResizeListener||H.on("resize",C),W.recalculateOnOrientationChange&&H.on("orientationchange",function(){C(),H.on("resize",C),n(function(){H.off("resize",C)},1e3)}),W.recalculateOnScroll&&H.on("scroll",C),W.closeOnScroll&&H.on("scroll",z),angular.element("body").append(L),l.on("mouseleave",y),L.on("mouseenter",$),L.on("mouseleave",y),i.clear(),i.$on("$destroy",function(){l.off(O,m),H.off("resize",C),H.off("scroll",C),H.off("scroll",e.close),l.off("mouseleave",y),L.off("mouseenter",$),L.off("mouseleave",y),e._unregister(S),L.remove()})}}}function o(e,o,n,r,i,l){var a={},u={};return a.current=null,a.node=null,a.register=function(){function t(t,i){var a,u,s;return t&&t.name&&t.template?(a=t.name,t.disableClick=!0,r[a]?(r[a].count+=1,n.bind(null,a)):(u=angular.element("<div />").attr("lj-bubble",angular.toJson(t)),s="undefined"==typeof i,s&&(i=e.$new(!0)),u.appendTo("body"),o(u)(i),r[a]={count:1,node:u,scope:i,isScopeCreated:s},n.bind(null,a))):void l.error("Incorrect bubble options. You should provide name and template.",t)}function n(e){var o=r[e];o&&(o.count-=1,0===o.count&&(o.isScopeCreated||o.scope.$destroy(),o.node.remove(),delete r[e]))}var r={};return t}(),a.exists=function(e){return u.hasOwnProperty(e)},a._register=function(e,o){var t;if(u.hasOwnProperty(e))throw"Warning: bubble with name "+e+" has been registered before!";t=angular.isDefined(o)?angular.copy(o):{},t=angular.extend({closeControl:!0},t),u[e]=Object.create(t)},a._unregister=function(e){delete u[e],a.current===e&&(a.current=null)},a.confirm=function(e){function o(){i.scrollBy(0,1),i.scrollBy(0,-1)}var t=LJ.ml("confirm.bubble.yes"),n=LJ.ml("confirm.bubble.no"),l={closeControl:!1,confirm:e.confirm,header:e.header,text:e.text,yes:e.yes||t,no:e.no||n};a.open(e.id,l),r(o),r(o,100),r(o,200),r(o,300)},a.open=function(o,r,i){return u.hasOwnProperty(o)?(r instanceof jQuery&&(i=r,r={}),angular.isString(r)&&(i=n.get(r),r={}),angular.isObject(r)&&a.options(o,r),i instanceof jQuery&&(a.node instanceof jQuery&&!a.node.is(i)&&e.$broadcast("bubble:reposition:"+o),a.node=i),angular.isString(i)&&(a.node=n.get(i)),a.current=o,e.$broadcast("bubble:open",o,r,i),e.$broadcast("bubble:open:"+o,o,r,i),void angular.element("body").addClass(t)):void l.error("Bubble `"+o+"` can't be opened, it has not been registered yet.")},a.close=function(){var o,n=a.current,r=u[n];e.$broadcast("bubble:close",n,r,a.node),e.$broadcast("bubble:close:"+n,n,r,a.node);for(o in r)r.hasOwnProperty(o)&&delete r[o];a.current=null,a.node=null,angular.element("body").removeClass(t)},a.options=function(e,o){return"undefined"==typeof o||o===u[e]?u[e]:void angular.copy(o,u[e])},a}angular.module("LJ.Bubble",["LJ.Templates","LJ.Directives","LJ.Ref"]),angular.module("LJ.Bubble").factory("Bubble",o).directive("ljBubble",e);var t="p-openpopup";e.$inject=["Bubble","$parse","$compile","$timeout","$templateCache"],o.$inject=["$rootScope","$compile","Ref","$timeout","$window","$log"]}();
/* <<< file end: js/core/angular/bubble.js */
//# map link was there [bubble.js.map]
/* >>> file start: js/core/angular/activity.js */
!function(){"use strict";function t(t,n){function c(){return u}function e(t){u=t}function i(){n.cancel(o),e(!0),o=n(e.bind(this,!1),9e5)}var u,o;return i(),t.on("click touchstart touchend keydown mousemove mousewheel",LJ.Function.debounce(i,100,!0)),{isActive:c}}angular.module("LJ.Activity",[]),angular.module("LJ.Activity").factory("Activity",t),t.$inject=["$document","$timeout"]}();
/* <<< file end: js/core/angular/activity.js */
//# map link was there [activity.js.map]
/* >>> file start: js/core/angular/api.js */
//!= require js/core/angular/messages.js
//= require js/core/angular/activity.js
!function(){"use strict";function e(e,n,t,r,a,c){function i(e,n){return"undefined"==typeof n?e:e+angular.toJson(s(n))}function s(e){var n;return angular.isObject(e)?(n={},Object.keys(e).sort().forEach(function(t){n[t]=s(e[t])}),n):e}function o(e,n){f.remove(i(e,n))}function u(n,s,o,u){var g,l,p=r.defer(),d={cache:!1,silent:!1,meta:!1},m=!1;return c.isActive()?(angular.isObject(s)&&null!==s||(s={}),angular.isObject(o)&&(u=o,o=null),u=angular.extend(d,u||{}),l=i(n,s),u.cache&&(g=f.get(l),g&&(m=!0)),m||(g=p.promise,LJ.Api.call(n,s,function(n){e(function(){n.error?p.reject(n.error):p.resolve(n),t.$apply()},0)}),u.cache&&f.put(l,g)),LJ.Event.trigger("api:request:change",n,!0),g.then(function(){LJ.Event.trigger("api:request:change",n,!1)}),u.silent||g.then(function(e){var n={};"undefined"!=typeof e.message&&(angular.isString(e.message)?(n.body=e.message,n.type="success"):(n.body=e.message.content,n.type="success"),a.add(n))},function(e){"undefined"!=typeof e.message&&1!==e.code&&a.error({body:e.message})}),u.meta&&(g=g.then(function(e){return{response:e,fromCache:m}})),angular.isFunction(o)&&g.then(o),g):(p.reject(),p.promise)}var g={call:u,invalidate:o},f=n("LJApiPromises");return g}angular.module("LJ.Api",["LJ.Messages","LJ.Activity"]).factory("Api",e),e.$inject=["$timeout","$cacheFactory","$rootScope","$q","Messages","Activity"]}();
/* <<< file end: js/core/angular/api.js */
//# map link was there [api.js.map]
/* >>> file start: js/core/angular/options.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};angular.module("LJ.Options",[]).factory("Options",[function(){return{create:function(t){function n(n,o){"undefined"==typeof o?angular.extend(t,n):t[n]=o}function o(n){return t[n]}function e(){return t}if("undefined"==typeof t&&(t={}),"object"!==("undefined"==typeof t?"undefined":_typeof(t)))throw new TypeError("Options should be an object.");return{set:n,get:o,raw:e}}}}]);
/* <<< file end: js/core/angular/options.js */
//# map link was there [options.js.map]
/* >>> file start: js/core/angular/users.js */
//= require js/core/angular/api.js
//= require js/core/angular/options.js
!function(e){return e}(),function(){"use strict";angular.module("Users",["LJ.Api","LJ.Options"]).factory("Relations",["$q","$timeout","UsersCache",function(e,n,r){function t(t,i,u){var a=e.defer(),s={addFriend:{is_invite_sent:!0},removeFriend:{is_friend:!1},subscribe:{is_subscribedon:!0},unsubscribe:{is_subscribedon:!1},join:{is_invite_sent:!0},leave:{is_member:!1},setBan:{is_banned:!0},setUnban:{is_banned:!1}},o={addFriend:{is_invite_sent:!1},removeFriend:{is_friend:!0},subscribe:{is_subscribedon:!1},unsubscribe:{is_subscribedon:!0},join:{is_invite_sent:!1},leave:{is_member:!0},setBan:{is_banned:!1},setUnban:{is_banned:!0}},c=angular.copy(r.get(t)||{});return angular.isUndefined(u)&&(u={}),u.wait||r.update(t,s[i]||{}),LJ.Event.trigger("relations.change",{username:t,action:i,callback:function(e){n(function(){if(e.error)return u.wait||r.update(t,angular.extend(o[i],c)),void a.reject(e.error.message);var n=LJ.Object.pick(e,"is_banned","is_friend","is_member","is_subscriber","is_subscribedon","is_friend_of","is_invite_sent");r.update(t,n),a.resolve(e)})}}),a.promise}function i(e,n,i){var u=t(e,n?"subscribe":"unsubscribe",i);return n||u.then(function(){r.update(e,{filtermask:0})}),u}function u(e,n,r){return t(e,n?"addFriend":"removeFriend",r)}function a(e,n,r){return t(e,n?"join":"leave",r)}function s(e,n,r){return t(e,n?"setBan":"setUnban",r)}function o(e,n,r){return t(e,n?"banEverywhere":"unbanEverywhere",r)}return{toggleFriend:u,toggleSubscription:i,toggleMember:a,toggleBan:s,toggleBanEverywhere:o}}]).factory("Mask",function(){function e(e){return e>>>0}var n={};return n.change=function(n,r){var t=r.add,i=r.remove;return angular.isDefined(t)&&(angular.isArray(t)||(t=[t]),n=t.reduce(function(n,r){return e(n|Math.pow(2,r))},n)),angular.isDefined(i)&&(angular.isArray(i)||(i=[i]),n=i.reduce(function(n,r){var t=Math.pow(2,32)-1-Math.pow(2,r);return e(n&t)},n)),n},n.check=function(e,n){var r=Math.pow(2,n);return Boolean(e&r)},n}).factory("UsersCache",["$q","$cacheFactory","Options",function(e,n,r){function t(e){if(!angular.isUndefined(e)){var n=l.get(f.get("journal"))||{},r=e;return angular.isArray(e)||(e=[e]),e.forEach(function(e){if(e&&angular.isObject(e)&&!angular.isUndefined(e.username)){var r=e.username||e.display_username,t=n[r];n[r]=t?angular.extend(t,e):e}}),l.put(f.get("journal"),n),r}}function i(e){var n=l.get(f.get("journal"));return Boolean(n[e])}function u(e){var n;if(angular.isString(e)){if(n=l.get(f.get("journal")),n&&!n[e]){var r=Object.values(n).find(function(n){return n.display_name===e});if(r)return r}return n&&n[e]?n[e]:null}if(angular.isFunction(e))return s(e);if(angular.isUndefined(e))return s();throw new TypeError("Incorrect argument passed.")}function a(e){var n=l.get(f.get("journal"));return n||angular.isObject(n)?Object.keys(n).reduce(function(r,t){return String(n[t].id)===String(e)?n[t]:r},null):null}function s(e){var n,r=l.get(f.get("journal")),t=[];for(n in r)if(r.hasOwnProperty(n)){if(e&&!e(r[n]))continue;t.push(r[n])}return t}function o(e,n){var r=u(e)||{username:e};return angular.extend(r,n),t(r),r}var c,l=n("users"),f=r.create({journal:LJ.get("remoteUser")});return c={add:t,update:o,set:f.set,get:u,getById:a,exists:i}}]).factory("Users",["$q","$timeout","Api","Mask","UsersCache","Options",function(e,n,r,t,i,u){function a(e){return k[C.get("type")][e]}function s(e){return"subscriptions"===C.get("type")?Boolean(e.is_subscribedon):!0}function o(e,n){return angular.isUndefined(n)?e[c()]||1:void(e[c()]=n)}function c(){return"subscriptions"===C.get("type")?"filtermask":"groupmask"}function l(e,n,t){return r.call("user.get",{target:e,fields:n},t).then(function(e){var n=e.user;return i.add(n),n})}function f(e,n,t){return r.call("user.get",{targetid:e,fields:n},t).then(function(e){var n=e.user;return i.add(n),n})}function d(e,n){return r.call("relations.list_friends",{journal:C.get("journal"),fields:e},n).then(_("is_friend"))}function g(e){return r.call("groups.list_users",{journal:C.get("journal"),fields:e}).then(function(e){return i.add(e.users),e})}function p(e){return r.call("relations.list_subscriptions",{journal:C.get("journal"),fields:e}).then(_("is_subscribedon"))}function b(e){return r.call("relations.list_banned",{journal:C.get("journal"),fields:e}).then(_("is_banned"))}function _(e){return function(n){var r=n.users;return r.forEach(LJ.Function.set(e,!0)),i.add(r),r}}function v(e){return r.call("relations."+e+"_count").then(function(e){return e.count})}function h(n){return angular.isArray(n)||(n=[n]),0===n.length?e.reject("You should provide users to sync."):r.call(a("update"),{users:n,journal:C.get("journal")}).then(function(e){return i.add(e.users),e})}function m(e,n){var r=i.get(e);return r?t.check(o(r),n):!1}function j(e){return e.filter(i.exists).map(i.get).filter(s)}function y(e){var n=(e.filter||"").toLowerCase(),r=i.get(function(r){return s(r)&&t.check(o(r),e.id)?!n||-1!==r.display_username.toLowerCase().indexOf(n):!1});return e.limit&&(r=r.slice(0,e.limit)),r}function U(e){var n=(e.filter||"").toLowerCase(),r=i.get(function(r){return s(r)?t.check(o(r),e.id)?!1:!n||-1!==r.display_username.toLowerCase().indexOf(n):!1});return e.limit&&(r=r.slice(0,e.limit)),r}function w(e,n){angular.isArray(n)||(n=[n]);var r;return r="subscriptions"===C.get("type")?j(n):n.map(function(e){return i.get(e)||{username:e}}),r.forEach(function(n){o(n,t.change(o(n),{add:e}))}),h(r)}function L(e,n,r){angular.isArray(n)||(n=[n]);var i=j(n);return i.forEach(function(n){o(n,t.change(o(n),{remove:e}))}),r&&r.silent?void 0:h(i)}function O(e,n){return i.update(e,{alias:n}),r.call("user.alias_set",{target:e,alias:n})}function E(e){return function(n,r){return n[e].toLowerCase().localeCompare(r[e].toLowerCase())}}function F(){var e,n=C.get("journal");C.set.apply(null,arguments),e=C.get("journal"),e!==n&&i.set("journal",e)}var k={friends:{read:"relations.list_friends",readOne:"relations.get_friend",update:"groups.update_users"},subscriptions:{read:"relations.list_subscriptions",readOne:"relations.get_subscription",update:"filters.update_users"}},C=u.create({type:"friends",journal:LJ.get("remoteUser")});return{USERHEAD_FIELDS:{alias:1,journal_url:1,profile_url:1,userhead_url:1,is_invisible:1,journaltype:1},set:F,get:C.get,Cache:i,fetchUser:l,fetchUserById:f,fetchBanned:b,fetchFriends:d,fetchGroupUsers:g,fetchSubscriptions:p,fetchCount:v,sync:h,alias:O,isUserInGroup:m,getExisting:j,fromGroup:y,outOfGroup:U,addToGroup:w,removeFromGroup:L,comparator:E}}])}();
/* <<< file end: js/core/angular/users.js */
//# map link was there [users.js.map]
/* >>> file start: js/core/angular/ljUser.js */
//= require js/core/angular/api.js
//= require js/core/angular/users.js
Site.page.template['angular/ljUser.ng.tmpl'] = '<span\n class=\"\n ljuser\n i-ljuser\n i-ljuser-type-{{user.journaltype}}\n \"\n ng-class=\"{\n \'i-ljuser-deleted\': user.is_invisible,\n \'i-ljuser-nopopup noctxpopup\': user.noctxpopup,\n \'i-ljuser-withalias\': user.alias,\n \'i-ljuser-showalias\': user.showalias\n }\"\n data-ljuser=\"{{user.username}}\"\n lj:user=\"{{user.username}}\"\n ><!--\n\n Userhead\n --><a\n class=\"i-ljuser-profile\"\n ng-href=\"{{user.profile_url}}\"\n ng-attr-target=\"{{user.target ? user.target : \'_self\'}}\"\n ><!--\n --><img\n class=\"i-ljuser-userhead\"\n ng-src=\"{{user.userhead_url}}\"\n ><!--\n --></a><!--\n\n Username\n --><a\n class=\"i-ljuser-username\"\n ng-href=\"{{user.journal_url}}\"\n ng-attr-title=\"{{user.display_username || user.alias}}\"\n ng-attr-target=\"{{user.target ? user.target : \'_self\'}}\"\n ><b ng-bind=\"user.display_name || user.display_username\"></b></a><!--\n\n Alias\n --><span\n class=\"i-ljuser-alias\"\n ng-bind=\"user.alias\"\n ></span><!--\n\n--></span>\n';
!function(){"use strict";function e(e,r,n,t,a,u,s){function i(e){var r=n.defer(),t=s.Cache.get(e);return t&&t.userhead_url?(r.resolve(t),r.promise):s.fetchUser(e,s.USERHEAD_FIELDS,{cache:!0,silent:!0})}function l(e){var r=n.defer(),t=s.Cache.getById(e);return t&&t.userhead_url?(r.resolve(t),r.promise):s.fetchUserById(e,s.USERHEAD_FIELDS,{cache:!0,silent:!0})}function c(r,t){var l=n.defer(),c=e.$new();return i(r).then(function(){var e;c.user=angular.extend({},s.Cache.get(r),t||{}),e=a(d)(c),u(function(){l.resolve(p.empty().append(e).html()),c.$destroy()})}),l.promise}function o(r,t){var i=n.defer(),c=e.$new();return l(r).then(function(){var e;c.user=angular.extend({},s.Cache.getById(r),t||{}),e=a(d)(c),u(function(){i.resolve(p.empty().append(e).html()),c.$destroy()})}),i.promise}var p=angular.element("<div />"),d=t.get("ljUser.ng.tmpl");return{prepare:i,prepareById:l,getById:o,get:c}}function r(e,r,n){return{templateUrl:"ljUser.ng.tmpl",replace:!0,scope:!0,compile:function(t,a){var u=e(a.ljUserDynamic),s=e(a.ljUserDynamicOptions);return function(e,t){var a=s(e);e.$watch(function(){return u(e)},function(t){var u=t;e.user=angular.extend({username:u,display_username:u},a||{}),n.prepare(u).then(function(){e.$watch(function(){return r.Cache.get(u)},function(r){angular.extend(e.user,r),a&&angular.isFunction(a.adjustData)&&(e.user=a.adjustData(e.user))},!0)})})}}}}function n(e,r,n){return{template:'<img class="{{user.class}}" src="https://l-userpic.livejournal.net/default/{{user.id}}" alt="" />',scope:!0,compile:function(t,a){return function(t){var u=e(a.ljUserAvatarImg)(t),s=e(a.ljUserAvatarImgOptions)(t),i=+u;return NaN!==i&&u.toString().length===i.toString().length?void(t.user=angular.extend({id:u},s||{})):(function(e){return e}(),t.user=angular.extend({username:u},s||{}),void n.prepare(u).then(function(e){t.$watch(function(){return r.Cache.get(u)},function(e){angular.extend(t.user,e)},!0)}))}}}}function t(e,r,n){return{templateUrl:"ljUser.ng.tmpl",replace:!0,scope:!0,compile:function(t,a){return function(t){var u=e(a.ljUserById)(t),s=e(a.ljUserByIdOptions)(t);t.user=angular.extend({username:"user-"+u,display_username:"user-"+u},s||{}),n.prepareById(u).then(function(){t.$watch(function(){return r.Cache.getById(u)},function(e){angular.extend(t.user,e)},!0)})}}}}function a(e){var r="https:",n=function(e,n){return e.journal_url?e.journal_url:n.indexOf(".")>-1?r+"//"+n:r+"//"+n+".livejournal.com/"};return{templateUrl:"ljUser.ng.tmpl",replace:!0,scope:!0,compile:function(t,a){var u=e(a.ljUserStatic),s=e(a.ljUserStaticId),i=e(a.ljUserStaticOptions);return function(e){var t=u(e),a=s(e),l=i(e)||{},c=n(l,t),o=c+"/profile";"zyalt"===t&&(o=c+"profile",t="varlamov.ru"),e.user={alias:"",display_name:l.display_name||t,display_username:l.display_username||t,id:a,is_invisible:!1,journal_url:c,journaltype:"P",profile_url:o,userhead_url:r+"//l-files.livejournal.net/userhead/default/"+a,username:t,noctxpopup:l.noctxpopup}}}}}function u(e,r){var n="https:";return{template:'\n <img\n class="{{user.class}}"\n ng-src="'+n+'//l-userpic.livejournal.net/default/{{user.id}}"\n alt=""\n />',scope:!0,compile:function(r,n){var t=e(n.ljUserAvatarStaticId),a=e(n.ljUserAvatarStaticOptions);return function(e){var r=t(e),n=a(e);e.user={id:r,"class":n["class"]||""}}}}}a.$inject=["$parse"],u.$inject=["$parse","$location"],angular.module("LJ.User",["LJ.Api","LJ.Templates","Users"]),angular.module("LJ.User").factory("ljUser",e).directive("ljUserById",t).directive("ljUserDynamic",r).directive("ljUserAvatarImg",n).directive("ljUserStatic",a).directive("ljUserAvatarStatic",u),e.$inject=["$rootScope","Api","$q","$templateCache","$compile","$timeout","Users"],r.$inject=["$parse","Users","ljUser"],n.$inject=["$parse","Users","ljUser"],t.$inject=["$parse","Users","ljUser"]}();
/* <<< file end: js/core/angular/ljUser.js */
//# map link was there [ljUser.js.map]
/* >>> file start: js/settings/services/filters/filters.js */
//= require js/core/angular/api.js
//= require js/core/angular/options.js
//= require js/core/angular/users.js
!function(t){return t}(),function(){"use strict";angular.module("GroupsAndFilters.Services.Filters",["LJ.Api","LJ.Options","Users"]).filter("filtersOrder",function(){return function(t){var r=t.slice(0);return r.sort(function(t,r){if(31===t.id)return-1;if(31===r.id)return 1;var e=t.name.toLowerCase(),i=r.name.toLowerCase();return e>i?1:-1}),r}}).factory("FilterGroupFactory",["$q","$timeout","Api","Options","Users",function(t,r,e,i,n){function o(){angular.extend(this,{MAX_COUNT:31,filters:[],key:"filters",rpc:{}},i.create({journal:LJ.get("remoteUser")}))}return o.prototype.toJSON=function(t){var r=angular.copy(t);return delete r.checked,delete r.users,r},o.prototype.nextId=function(){for(var t=null,r=this.filters.map(LJ.Function.get("id")),e=1,i=this.MAX_COUNT;i>e&&null===t;)-1===r.indexOf(e)&&(t=e),e+=1;return t},o.prototype.sync=function(t){var r={};return angular.isArray(t)||(t=[t]),r[this.key]=t.map(this.toJSON),r.journal=this.get("journal"),e.call(this.rpc.update,r)},o.prototype.fetch=function(r){if(!this.rpc.read)return t.reject();var i=this,n={journal:this.get("journal")};return r=angular.extend(r||{},{cache:!1}),e.call(this.rpc.read,n,r).then(function(t){return i.filters=t[i.key],i.filters})},o.prototype._isNameUniq=function(t){var r=this.filters.map(function(t){return t.name.toLowerCase()});return t=t.toLowerCase(),-1===r.indexOf(t)},o.prototype.create=function(r){var i;return r=r.trim(),0===r.length?t.reject("filters"===this.key?LJ.ml("api.error.filters.filter_name_not_specified"):LJ.ml("api.error.groups.group_name_not_specified")):this._isNameUniq(r)?(i={id:this.nextId(),name:r,users:[],"public":!1,journal:this.get("journal")},this.filters.push(i),e.call(this.rpc.create,i)):t.reject("filters"===this.key?LJ.ml("api.error.filters.filter_already_exist",{name:r}):LJ.ml("api.error.groups.group_already_exist",{name:r}))},o.prototype.remove=function(t){var r=this,i={};return t=Array.isArray(t)?t:[t],i[this.key]=t.map(LJ.Function.get("id")),i.journal=this.get("journal"),t.forEach(function(t){r.filters.splice(r.filters.indexOf(t),1)}),e.call(this.rpc.remove,i)},o.prototype.getCount=function(){return e.call(this.rpc.count,{journal:this.get("journal")}).then(LJ.Function.get("count"))},o.prototype.by=function(t){var r=n.Cache.get(t);return r?this.filters.filter(function(r){return n.isUserInGroup(t,r.id)}):[]},o}]).factory("Filter",["FilterGroupFactory",function(t){function r(){this.rpc={create:"filters.create",update:"filters.update",remove:"filters.remove",count:"filters.count"},this.key="filters"}return r.prototype=new t,r.prototype._setPrivacy=function(t,r){return t=Array.isArray(t)?t:[t],t.forEach(LJ.Function.set("public","public"===r)),this.sync(t)},r.prototype["private"]=function(t){return this._setPrivacy(t,"private")},r.prototype["public"]=function(t){return this._setPrivacy(t,"public")},new r}]).factory("Group",["FilterGroupFactory",function(t){function r(){this.rpc={create:"groups.create",read:"groups.list",update:"groups.update",remove:"groups.remove",count:"groups.count"},this.key="groups"}return r.prototype=new t,new r}])}();
/* <<< file end: js/settings/services/filters/filters.js */
//# map link was there [filters.js.map]
/* >>> file start: js/settings/directives/filtersFor.js */
//!= require js/core/angular/messages.js
LJ.injectStyle('/* >>> file start: stc/widgets/filter-settings.css */\n.b-filterset{max-width:290px;font:14px/1.4 Arial,sans-serif;color:#000}.b-filterset-addnew-input,.b-filterset-list LABEL{display:block;white-space:nowrap;line-height:1.333}.b-filterset B,.b-filterset CODE,.b-filterset DD,.b-filterset DIV,.b-filterset DT,.b-filterset EM,.b-filterset I,.b-filterset KBD,.b-filterset LABEL,.b-filterset LI,.b-filterset P,.b-filterset PRE,.b-filterset SPAN,.b-filterset STRONG,.b-filterset TD,.b-filterset TH{font-size:100%}.b-filterset .i-ljuser-userhead{vertical-align:top!important;margin:1px 0 0!important;border:none!important}.b-filterset .i-ljuser-username:active,.b-filterset .i-ljuser-username:hover,.b-filterset .i-ljuser-username:link,.b-filterset .i-ljuser-username:visited{color:#0051B7!important;text-decoration:none!important;border:none!important}.b-filterset .b-filterset-subtitle,.b-filterset .b-filterset-title{margin:0 1.142em .5em 0!important;color:#222!important}.b-filterset .b-filterset-title{font-weight:700!important}.b-filterset-list{position:relative;z-index:1;overflow:auto;max-height:14em;min-width:220px;margin:0 0 .3em;padding:0;background-attachment:scroll;background-clip:border-box;background-image:-webkit-radial-gradient(50% 0,farthest-side,rgba(0,0,0,.1),transparent),-webkit-radial-gradient(50% 100%,farthest-side,rgba(0,0,0,.1),transparent);background-image:radial-gradient(farthest-side at 50% 0,rgba(0,0,0,.1),transparent),radial-gradient(farthest-side at 50% 100%,rgba(0,0,0,.1),transparent);background-origin:padding-box;background-position:0 0,0 100%;background-repeat:no-repeat;background-size:100% 7px}.b-filterset-list:after,.b-filterset-list:before{position:relative;z-index:-1;display:block;content:\"\";height:14px;margin:0 0 -14px;background:-webkit-linear-gradient(top,#F4F5F6,#F4F5F6 30%,rgba(244,245,246,0));background:linear-gradient(to bottom,#F4F5F6,#F4F5F6 30%,rgba(244,245,246,0))}.b-filterset-list:after{margin:-14px 0 0;background:-webkit-linear-gradient(top,rgba(228,229,233,0),#E4E5E9 70%,#E4E5E9);background:linear-gradient(to bottom,rgba(228,229,233,0),#E4E5E9 70%,#E4E5E9)}.b-filterset-list LI{margin:0;padding:0;list-style-type:none}.b-filterset-list LI.loading{background:url(/img/preloader/preloader-blue-gray.gif?v=16423) 100% 50% no-repeat}.b-filterset-list LABEL{font-size:.857em}.b-filterset-list LABEL:hover{background:#7292BD;color:#FFF}.b-filterset-addnew-input{margin:0 0 .5em;font-size:.857em}.b-filterset-addnew{margin:.5em 0 0}.b-filterset-pseudo{font-size:.857em;color:#0051B7}.b-filterset-submit{text-align:right}.b-filterset-loader:after,.b-filterset-loader:before{display:inline-block;visibility:hidden;content:\'\';width:21px;height:21px;margin:-2px 0 0 4px;background:url(/img/preloader/preloader-blue-gray.gif?v=16423) 50% 50% no-repeat;vertical-align:middle}.b-filterset-loader-after:before,.b-filterset-loader-before:after{display:none}.b-filterset-loading .b-filterset-loader-after:after,.b-filterset-loading .b-filterset-loader-before:before{visibility:visible}\n/* <<< file end: stc/widgets/filter-settings.css */\n\n/*# sourceMappingURL=filter-settings.css.map */\n');
Site.page.template['angular/controlstrip/filters.ng.tmpl'] = '<div class=\"b-filterset-body\" ng-class=\"{ \'b-filterset-loading\': model.loading }\">\n <ul class=\"b-filterset-section b-filterset-list\">\n <li ng-repeat=\"filter in filters | filtersOrder\" ng-class=\"{ \'loading\': loading[filter.id] }\">\n <label>\n <input\n ng-checked=\"checked = isActive(filter.id)\"\n ng-change=\"toggleFilter(filter.id, checked)\"\n ng-model=\"checked\"\n type=\"checkbox\"\n class=\"b-filterset-checkbox\"\n >{{filter.name}}\n </label>\n </li>\n\n <li ng-show=\"model.showCreateDialog\">\n <span class=\"b-filterset-addnew-input\" >\n <form ng-submit=\"createFilter()\">\n <input\n ng-model=\"model.newFilter\"\n focus-and-select=\"model.showCreateDialog\"\n type=\"text\"\n />\n <input type=\"submit\" lj-ml=\"filterset.button.save\" lj-ml-attr=\"value\" />\n </form>\n </span>\n </li>\n </ul>\n\n <div\n ng-hide=\"model.showCreateDialog || isFiltersCountReached()\"\n class=\"b-filterset-section b-filterset-addnew\">\n <span\n ng-if=\"isFiltersFor\"\n ng-click=\"model.showCreateDialog = true\"\n lj-ml=\"filterset.link.addnewfilter\"\n class=\"b-filterset-pseudo b-pseudo\"\n ></span>\n <span\n ng-if=\"isGroupsFor\"\n ng-click=\"model.showCreateDialog = true\"\n lj-ml=\"filterset.link.addnewgroup\"\n class=\"b-filterset-pseudo b-pseudo\"\n ></span>\n </div>\n</div>\n';
!function(e){return e}(),function(){"use strict";function e(e,r,t,n,o,i){function l(){return Array.isArray(e.usernames)?e.usernames:[e.usernames]}e.loading={},e.filters=[],t.fetch({cache:!0}).then(function(r){e.filters=r}),e.model={newFilter:"",showCreateDialog:!1},e.toggleFilter=function(r,t){var o;i.clear(),e.loading[r]=!0,o=t?n.addToGroup(r,l()):n.removeFromGroup(r,l()),o.then(function(){e.loading[r]=!1})},e.isActive=function(e){var r=l().every(function(r){return n.isUserInGroup(r,e)});return r},e.isCountReached=function(){return e.filters.length>=t.MAX_COUNT},e.createFilter=function(){var r=e.model.newFilter.trim();e.resetFilter(),0!==r.length&&(e.model.loading=!0,t.create(r).then(function(r){var t=r.filter;n.addToGroup(t.id,l()).then(function(){e.model.loading=!1})}))},e.resetFilter=function(){e.model.newFilter="",e.model.showCreateDialog=!1},e.$on("bubble:open:controlstrip",e.resetFilter)}angular.module("Filters.List",[]).controller("FiltersForCtrl",["$scope","$q","Filter","Users","Bubble","Messages",e]).controller("GroupsForCtrl",["$scope","$q","Group","Users","Bubble","Messages",e]).directive("filtersFor",[function(){return{controller:"FiltersForCtrl",scope:{usernames:"=filtersFor"},templateUrl:"filters.ng.tmpl",link:function(e){e.isFiltersFor=!0}}}]).directive("groupsFor",[function(){return{controller:"GroupsForCtrl",scope:{usernames:"=groupsFor"},templateUrl:"filters.ng.tmpl",link:function(e){e.isGroupsFor=!0}}}])}();
/* <<< file end: js/settings/directives/filtersFor.js */
//# map link was there [filtersFor.js.map]
/* >>> file start: js/relations/menu.js */
//= require js/core/angular/bubble.js
//= require js/core/angular/ljUser.js
//!= require js/core/angular/messages.js
//= require js/settings/services/filters/filters.js
//= require js/core/angular/users.js
//= require js/settings/directives/filtersFor.js
Site.page.template['angular/controlstrip/controlstrip.ng.tmpl'] = '<div\n class=\"b-filterset\"\n ng-class=\"{ \'b-filterset-loading\': loading }\"\n >\n\n <!-- subscribe user -->\n <div class=\"b-filterset-title\" ng-show=\"mode == \'subscribe\'\" lj-ml=\"filterset.title.subscribed.journal\" lj-ml-resolve=\"mlResolve\"></div>\n\n <!-- add user -->\n <div class=\"b-filterset-title\" ng-show=\"mode == \'add\'\" lj-ml=\"filterset.title.addfriend.journal\" lj-ml-resolve=\"mlResolve\"></div>\n <div class=\"b-filterset-subtitle\" ng-show=\"mode == \'add\'\" lj-ml=\"filterset.subtitle.addfriend.journal\" lj-ml-resolve=\"mlResolve\"></div>\n\n <!-- subscribe community -->\n <div class=\"b-filterset-title\" ng-show=\"mode == \'watch\'\" lj-ml=\"filterset.title.subscribed.community\" lj-ml-resolve=\"mlResolve\"></div>\n\n <!-- join community -->\n <div class=\"b-filterset-title\" ng-show=\"mode == \'join\' || mode == \'joinSubscribed\'\" lj-ml=\"filterset.title.join\"></div>\n <div class=\"b-filterset-subtitle\" ng-show=\"mode == \'join\'\" lj-ml=\"filterset.subtitle.join\" lj-ml-resolve=\"mlResolve\"></div>\n <div class=\"b-filterset-section b-filterset-submit\" ng-show=\"mode == \'join\'\">\n <div class=\"b-ljbutton b-filterset-loader b-filterset-loader-before\">\n <input type=\"submit\" lj-ml=\"filterset.submit.subscribe\" lj-ml-attr=\"value\" ng-click=\"subscribeAfterJoin()\" />\n </div>\n </div>\n\n <!-- filters section -->\n <!-- Notice: extra div here is because of bug in AngularJS: https://github.com/angular/angular.js/issues/3981 -->\n\n <div ng-show=\"mode !== \'join\'\">\n <div\n class=\"b-filterset-subtitle b-filterset-loader b-filterset-loader-after\"\n lj-ml=\"filterset.subtitle.filters\"\n ></div>\n <div filters-for=\"username\"></div>\n </div>\n</div>\n';
!function(e){return e}(),function(e){"use strict";function t(e){LJ.Track.event("Relations","Menu",e)}angular.module("Relations.Menu",["LJ.Templates","LJ.Bubble","LJ.Directives","LJ.User","LJ.Messages","GroupsAndFilters.Services.Filters","Users","Filters.List"]).value("$anchorScroll",null).controller("MenuCtrl",["$scope","Bubble","$timeout","$q","ljUser","Filter","Users","Relations","Messages",function(n,s,r,i,o,u,c,a,l){function b(e,t){var s;switch(t&&d(t),e){case"addFriend":s=a.toggleFriend(h,!0,{wait:!0});break;case"removeFriend":s=a.toggleFriend(h,!1,{wait:!0});break;case"join":s=a.toggleMember(h,!0,{wait:!0});break;case"leave":s=a.toggleMember(h,!1,{wait:!0});break;case"subscribe":s=a.toggleSubscription(h,!0,{wait:!0});break;case"unsubscribe":s=a.toggleSubscription(h,!1,{wait:!0})}return s["finally"](m).then(function(t){return ContextualPopup.currentElement===v.find(".ljuser img").get(0)&&ContextualPopup.hide(),t.error?i.reject(t.error.message):(t.message&&(t.message.body=t.message.content,l.add(t.message)),"undefined"!=typeof t.controlstrip_status&&(n.status=t.controlstrip_status),"subscribe"===e||"addFriend"===e||"join"===e&&t.is_subscribedon?f():void(n.filters=[]))},function(e){l.error({body:e})})}function f(){var e,t=c.Cache.get(h);return t.is_subscribedon?(e=t.filtermask?i.defer().resolve():c.fetchUser(h,{filtermask:1}),i.all({filters:u.fetch({cache:!0}),user:e}).then(function(e){n.filters=e.filters})):i.reject()}function d(e){g&&m(),g=(new Hourglass).setEvent(e).show()}function m(){g&&(g.remove(),g=null)}var g,p,v=e(".w-cs-status"),h=LJ.get("journal.username");c.set({type:"subscriptions"}),n.username=h,n.filters=[],n.status=LJ.get("controlstrip.status"),c.Cache.add(LJ.get("journal")),ContextualPopup.showNote=angular.identity,p=i.defer(),n.mlResolve={promise:p.promise},o.get(h,{noctxpopup:!0}).then(function(e){p.resolve({username:e})}),n.$watch(function(){return c.Cache.get(h)},function(e){n.states=LJ.Object.pick(e,"is_friend","is_member","is_subscribedon","is_invite_sent")},!0),n.toggleLoading=function(e){n.loading=e},LJ.Event.on("relations.change",function(){r(l.clear)}),n.subscribe=function(e){e.preventDefault(),t("subscribe"),b("subscribe",e).then(function(){n.states.is_subscribedon&&(n.mode="subscribe",s.open("controlstrip","unsubscribe"))})},n.unsubscribe=function(e){e.preventDefault(),t("unsubscribe"),b("unsubscribe",e)},n.addFriend=function(e){e.preventDefault(),t("add friend"),b("addFriend",e).then(function(){n.states.is_friend&&(n.mode="add",s.open("controlstrip","removeFriend"))})},n.removeFriend=function(e){e.preventDefault(),t("remove friend"),b("removeFriend",e)},n.watch=function(e){e.preventDefault(),t("subscribe to community"),b("subscribe",e).then(function(){n.states.is_subscribedon&&(n.mode="watch",s.open("controlstrip","unwatch"))})},n.unwatch=function(e){e.preventDefault(),t("unsubscribe from community"),b("unsubscribe",e)},n.join=function(e){e.preventDefault(),t("join community"),b("join",e).then(function(){n.states.is_member&&(n.mode=n.states.is_subscribedon?"joinSubscribed":"join",s.open("controlstrip","leave"))})},n.leave=function(e){e.preventDefault(),t("leave community"),b("leave",e)},n.subscribeAfterJoin=function(){n.toggleLoading(!0),t("subscribe to community (after join)"),b("subscribe").then(function(){n.toggleLoading(!1),n.mode="watch"})}}])}(jQuery);
/* <<< file end: js/relations/menu.js */
//# map link was there [menu.js.map]
/* >>> file start: js/controlstrip.js */
//= require js/jquery/jquery.calendarEvents.js
//= require js/relations/menu.js
!function(e){return e}(),function(e){"use strict";function o(){var o,t,n,l;LJ.get("remoteUser")&&(o=e(".s-header .s-header-extra-filter, #lj_controlstrip_new .w-cs-filter-inner"),0!==o.length&&(t=e("#sortByPoster"),n=t.find("[name=poster]"),l=t.find("[type=image]"),o.bubble({target:".s-header .w-cs-filter-icon, #lj_controlstrip_new .w-cs-filter-icon",showOn:"click",closeControl:!0,classNames:{containerAddClass:"b-bubble-filter"}}),n.input(function(){this.value.length?l.css("opacity",1).prop("disabled",!1):l.css("opacity",0).prop("disabled",!0)}),t.on("submit",function(e){n.val().length||e.preventDefault()})))}function t(){e(".s-header input[placeholder], #lj_controlstrip_new input[placeholder]").labeledPlaceholder()}function n(){o(),t(),LJ.Flags.isEnabled("new_friends_and_subscriptions")&&!l&&angular.bootstrap(e("[data-controlstrip]"),["Relations.Menu"]),function(){function o(e){var o=e.split(",").map(Number);return new Date(o[0],o[1],o[2])}var t=e(".s-header .w-cs-i-calendar a, #lj_controlstrip_new .w-cs-i-calendar a"),n=/^\/friends/.test(location.pathname),l=LJ.get("current_journal.url_journal"),r=LJ.get("controlstrip.calendar.earlyDate"),a=LJ.get("controlstrip.calendar.lastDate");t.length&&(t.calendar({showOn:"click",closeControl:!0,bubbleClass:!0,dayRef:l+"/"+(n?"friends/":"")+"%Y/%M/%D/",allRefs:n,startMonth:r?o(LJ.get("controlstrip.calendar.earlyDate")):new Date,endMonth:a?o(LJ.get("controlstrip.calendar.lastDate")):new Date,classNames:{container:"w-cs-calendar"},ml:{caption:LJ.ml("web.controlstrip.view.calendar")}}).on("daySelected",function(e){e.preventDefault()}),n||t.calendarEvents({fetchOnFirstDisplay:!0}))}(),e(".b-loginpopup").bubble({target:".i-auth-control",closeControl:!1,showOn:"click"}),LJ.Flags.isEnabled("move_billboard_to_scheme")&&e("body").on("ljsale-load ljsale-slotRenderEnded",function(){var o=e("body > .s-header").height();o&&e("body").css("padding-top",o)}),e("input.text").labeledPlaceholder(),e("html").trigger("controlstrip-initialized")}var l=Boolean("undefined"!=typeof document.documentMode&&document.documentMode<8);e(function(){return 0!==e(".s-header, #lj_controlstrip_new").length||"xcolibur"===Site.page.scheme?void n():void("noheaderfooter"!==Site.page.scheme&&e.get(LiveJournal.getAjaxUrl("controlstrip"),{user:LJ.get("currentJournal")},function(o){e(".body-content").length?e(o).prependTo(".body-content"):(e("html").removeClass("html-adaptive"),e(o).appendTo(document.body)),n()}))}),e(function(){function o(o){var t=e("."+r.showElem+":not("+o+")");e(t).removeClass(r.showElem)}function t(){var o=e("."+r.showElem);o.length>0?e(l.bodyElem).addClass(r.showFader):e(l.bodyElem).removeClass(r.showFader)}function n(){var o=e("."+r.showElem);o.length>0?a.catchBlur=!0:a.catchBlur=!1}var l={bodyElem:e("body"),controls:e(".js--show-elem"),controlsHover:e(".js--show-elem-by-hover"),fader:e(".b-fader")},r={control:"js--show-elem",controlHover:"js--show-elem-by-hover",showElem:"js--is-shown",showFader:"js--show-fader",catchBlur:"js--catch-blur"},a={catchBlur:!1};e(document).on("click",function(){a.catchBlur&&o()}),e(l.controlsHover).hover(function(){var o=e(this).find("."+r.control),t={selector:e(o).data("elem")};e(t.selector).addClass(r.showElem)},function(){var o=e(this).find("."+r.control),t={selector:e(o).data("elem")};e(t.selector).removeClass(r.showElem),e(this).addClass(r.controlHover)}),e(l.controls).on("click",function(l){var a={selector:e(this).data("elem"),isShowFader:e(this).data("fader")||!1,isUseBlur:e(this).data("blur")||!1};o(a.selector),e(a.selector).toggleClass(r.showElem),e(this).parent().hasClass(r.controlHover)&&e(this).parent().removeClass(r.controlHover),a.isShowFader&&t(),a.isUseBlur&&n(),l.stopPropagation(),l.preventDefault()}),e(l.fader).on("click",function(){o(),e(l.bodyElem).removeClass(r.showFader)})})}(jQuery);
/* <<< file end: js/controlstrip.js */
//# map link was there [controlstrip.js.map]
/* >>> file start: js/jquery/jquery.lj.repostbutton.js */
LJ.UI.registerTemplate('templates-CleanHtml-PaidRepost', "<span class=\" b-flatrepost repost-button {{if $data.reposted}} b-flatrepost-reposted {{/if}} {{if $data.count}} b-flatrepost-counted {{/if}} {{if $data.budget || $data.cost}} b-flatrepost-gained {{/if}} {{if $data.owner}} b-flatrepost-disabled {{/if}} {{if $data.login}} b-flatrepost-disabled {{/if}} \" ><a href=\"javascript:void(0);\" data-href=\"{{html $data.url}}\" class=\"b-flatrepost-name\" title=\"{{if $data.reposted}}{{html LJ.mltext(\'entry.reference.label.title\')}}{{else}}{{if $data.login}}{{html LJ.mltext(\'repost.button.title.login\')}}{{else}}{{if $data.owner}}{{html LJ.mltext(\'repost.button.title.myown\')}}{{else}}{{html LJ.mltext(\'repost.button.title\')}}{{/if}}{{/if}}{{/if}}\" ><span class=\"b-flatrepost-gain\" title=\"{{html $data.budget}}{{html LJ.mltext(\'paidrepost.button.title.curr\')}}\" >{{if !$data.owner}}+{{html $data.cost}}{{else $data.budget}}{{html $data.budget}}{{/if}}</span></a><span class=\"b-flatrepost-counter\" title=\"{{html LJ.mltext(\'repost.button.counter\')}}\" >{{html $data.count}}</span></span> ", 'JQuery.stat');
LJ.UI.registerTemplate('templates-CleanHtml-Repost', "<span class=\" b-flatrepost repost-button {{if $data.reposted}} b-flatrepost-reposted {{/if}} {{if $data.count}} b-flatrepost-counted {{/if}} {{if $data.budget}} b-flatrepost-gained {{/if}} {{if $data.owner}} b-flatrepost-disabled {{/if}} {{if $data.login}} b-flatrepost-disabled {{/if}} \" ><a href=\"javascript:void(0);\" data-href=\"{{html $data.url}}\" class=\"b-flatrepost-name\" title=\"{{if $data.reposted}}{{html LJ.mltext(\'entry.reference.label.title\')}}{{else}}{{if $data.login}}{{html LJ.mltext(\'repost.button.title.login\')}}{{else}}{{if $data.owner}}{{html LJ.mltext(\'repost.button.title.myown\')}}{{else}}{{html LJ.mltext(\'repost.button.title\')}}{{/if}}{{/if}}{{/if}}\" ><span class=\"b-flatrepost-gain\" title=\"{{html $data.budget}}{{html LJ.mltext(\'paidrepost.button.title.curr\')}}\" >{{if !$data.owner}}+{{html $data.cost}}{{else $data.budget}}{{html $data.budget}}{{/if}}</span></a><span class=\"b-flatrepost-counter\" title=\"{{html LJ.mltext(\'repost.button.counter\')}}\" >{{html $data.count}}</span></span> ", 'JQuery.stat');
LJ.UI.registerTemplate('templates-CleanHtml-reposted', "{{if $data.content}} {{each ($value.users || $data.users)}}{{if !((!$index) && !($value.dropComma || $data.dropComma))}}, {{/if}}<a href=\"{{html ($value.url || $data.url)}}\">{{html ($value.user || $data.user)}}</a>{{/each}} {{else}} <div class=\"b-reposted-popup\"> <div class=\"b-reposted-popup-header\">{{html LJ.mltext(\'repost.popup.head\')}}</div> <div class=\"b-reposted-popup-content b-reposted-popup-load\"></div> <div class=\"b-reposted-popup-footer\"><a href=\"javascript:void(0);\">{{html LJ.mltext(\'repost.popup.footer\')}}</a></div> </div> {{/if}} ", 'JQuery.stat');
!function(t){return t}(),function(t){"use strict";t.widget("lj.repostbutton",t.lj.basicWidget,{options:{classNames:{active:"repost-button-active",inactive:"repost-button-inactive",popupLoad:"b-reposted-popup-load",popupNomore:"b-reposted-popup-footer-hide",repostError:"repost-error"},selectors:{counterParent:".lj-button-c",button:".lj-button-b",counter:".lj-like-item-count",buttonLink:".lj-button-link",popupContent:".b-reposted-popup-content",popupFooter:".b-reposted-popup-footer",popupMore:".b-reposted-popup-footer > a"},templates:{popup:"templates-CleanHtml-reposted"},url:"",reposted:!1,cost:0,budget:0,paid:!1},_create:function(){this.options.classNames={active:"b-flatrepost-reposted",inactive:"b-flatrepost-disabled",popupLoad:"b-reposted-popup-load",popupNomore:"b-reposted-popup-footer-hide",repostError:"repost-error"},this.options.selectors={counterParent:".b-flatrepost-counter",button:".b-flatrepost-name",counter:".b-flatrepost-counter",buttonLink:".b-flatrepost-name",popupContent:".b-reposted-popup-content",popupFooter:".b-reposted-popup-footer",popupMore:".b-reposted-popup-footer > a"},t.lj.basicWidget.prototype._create.apply(this),this.options.url||console.warn(this.widgetName,": no url in options, initialization won't continue"),this._journal=LJ.get("currentJournal"),this._count=null,this._remote=LJ.get("remoteUser"),this._reposted=this.options.reposted,this._el("buttonLink"),this._href=this.element.find(this._s("button")).data("href"),this._href=LJ.Util.Journal.parseLink(this._href)||{},this._canRepost()||(this.element.addClass(this._cl("inactive")),this._buttonLink.removeAttr("title"),this._lock()),this._popup=null,this._popupContent=null,this._popupLocked=!1,this._lastUser=null,this._el("counterParent"),this._el("counter"),Number(this._counter.html())||this._hideCounter(),this._bindControls()},_hideCounter:function(){this._counterParent.addClass("empty")},_showCounter:function(){this._counterParent.removeClass("empty")},_bindControls:function(){var e=this;this.element.on("click",this._s("button"),this._onUpdateButton.bind(this)),this._counterParent.one("click",function(){Number(e._counter.html())&&(e._popup=e._tmpl("popup"),e._el("popupFooter",e._popup),e._popupContent=e._popup.find(e._s("popupContent")),e._popup.bubble({showOn:"click",align:"side",alwaysShowUnderTarget:!0,target:e._counterParent}).on("bubblehide",function(){e._lastUser=null,e._popupContent.empty(),e._popupFooter.removeClass(e._cl("popupNomore"))}).on("bubbleshow",function(){e._loadRepostedList()}).on("click",e._s("popupMore"),e._loadRepostedList.bind(e)),Function.defer(function(){e._popup.bubble("show")}))}),t.lj.basicWidget.prototype._bindControls.apply(e)},_loadRepostedList:function(t){var e=this;t&&t.preventDefault(),this._popupLocked||(this._popupLocked=!0,this._popupContent.addClass(this._cl("popupLoad")),LJ.Api.call("repost.get_list",{url:this.options.url,last:this._lastUser},function(t){e._popupContent.removeClass(e._cl("popupLoad")),e._popupLocked=!1,t.error?e._handleAnswer(t):(e._render(t.users,t.nomore,t.count),e._lastUser=t.last)}))},_render:function(t,e,o){var s=this;t.length>0&&s._tmpl("popup",{content:!0,dropComma:!!s._lastUser,users:t}).appendTo(s._popupContent),this._updateCounter(o),e&&s._popupFooter.addClass(s._cl("popupNomore"))},_onUpdateButton:function(t){this.locked()||this.toggleRepost(),t.preventDefault()},_handleAnswer:function(t){if(t.hasOwnProperty("delete")&&(t.message&&this._showMessage(t.message),this.paid!==Boolean(t.paid)||this.paid&&this.cost!==t.cost))return void this.element.replaceWith(LJ.Social.renderRepostButton(this.options.url,t));if(t.error){if(t.error.message&&this._showMessage(t.error.message),t.error.data)return void this.element.replaceWith(LJ.Social.renderRepostButton(this.options.url,t.error.data))}else this._updateButton(!this._reposted);!t.hasOwnProperty("count")&&t.hasOwnProperty("delete")&&(t.count=this._count-1),this._updateCounter(t.count),this._unlock()},_showMessage:function(e){var o=t("<div />",{"class":this._cl("repostError"),text:e}).bubble({target:this.element,align:"center",hide:function(){o.remove()}}).bubble("show")},_updateButton:function(t){this._reposted=t,this.element.toggleClass(this._cl("active"),this._reposted)},_updateCounter:function(t){"undefined"!=typeof t&&(this._count=Number(t),this._counter.html(this._count)),Number(this._counter.html())?this._showCounter():this._hideCounter()},_canRepost:function(){return LJ.get("preview")?!1:this._remote?LJ.get("remote_is_identity")?!1:this._remote!==this._href.journal:!1},toggleRepost:function(){var t=this,e={url:this.options.url};this._canRepost()&&(null===this._count&&(this._count=parseInt(this._el("counter").html(),10)||0),this._lock(),this._reposted?LJ.Api.call("repost.delete",e,function(e){e.error||e.reposted||t._journal!==t._remote||location.href.match(/\/(friends|times|feed)\b/)?t._handleAnswer(e):location.reload()}):(e.timezone=LJ.Util.Date.timezone(),this.options.paid&&(e.cost=this.options.cost),LJ.Api.call("repost.create",e,this._handleAnswer.bind(this))))}})}(jQuery);
/* <<< file end: js/jquery/jquery.lj.repostbutton.js */
//# map link was there [jquery.lj.repostbutton.js.map]
/* >>> file start: js/threeposts.js */
!function(t){return t}(),function(t){"use strict";t(function(){function e(){var t=3,e={7:4,8:4,9:3};return t=e[v]>0?e[v]:v}function i(){var t=1;if(M>H)return t=1;if(v>=2){t=Math.floor(H/M),t>v&&(t=v);var e=v%t;if(e>0)if(v%(t-1)===0)t--;else if(v%(t+1)===0)t++;else if(1===e){var i=H/(t+1);i>=E&&t++}}return t}function n(){H=u.width(),b=O>H?i():e(),s(H/b)}function s(t){var e=[150,300,330,400,500,600,800],i=["xxs","xs","s","m","l","xl","xxl"];e.forEach(function(n){t>n&&(F=i[e.indexOf(n)])})}function r(){u.find("."+w).removeClass(w),"xs"===F&&z.each(function(){var e=t(this).find("."+_),i=e.get(0).getClientRects().length;2>i&&t(this).addClass(w)})}function o(t){return p.get(t).scrollHeight}function a(){if(0===C&&g.height()>0){p.height("auto");var t=p.map(o),e=Math.max.apply(Math,t);p.height(e)}}function h(){H=u.width();var t=[400,600,800,1e3,1200,1400],e=["xs","s","m","l","xl","xxl"];t.forEach(function(i){H>i&&(j=e[t.indexOf(i)])}),n(),f()}function f(){var t=c+"--size-"+j,e=c+"--items-in-row-"+b,i=c+"--item-size-"+F,n=l+"\n"+t+"\n"+e+"\n"+i;u.attr("class",n),u.attr("data-item-layout",F),x.hide(),d.show(),a(),r()}var c="threeposts",u=t("."+c),l=u.attr("class"),x=t(".placeholder-threeposts"),d=t(".threeposts__items"),m="threeposts__item",p=t("."+m),g=t(p.get(0)),v=p.length,_="threeposts__title-inner",w="threeposts__item--short-title",y="threeposts__item--pic",z=t("."+y),C=z.length,M=235,E=200,O=1200,b=3,j="xxs",F="xxs",H=u.width();h(),t(window).resize(LJ.Function.debounce(h,50))})}(jQuery);
/* <<< file end: js/threeposts.js */
//# map link was there [threeposts.js.map]
/* >>> file start: js/recommended-entries.js */
!function(t){return t}(),function(t){"use strict";t(function(){function e(){return a=t("."+c),0==a.length?void setTimeout(e,1e3):(u=a.attr("class"),M=a.width(),d=t(".recommended-entries__list"),x=t("."+l),f=t(x.get(0)),m=x.length,void o())}function n(){var t=1;return _>M?t:(m>=2&&(t=Math.floor(M/_),6>t&&(t=Math.floor(M/v)),t>2&&6>t&&(t=3)),t)}function i(){M=a.width(),y>M&&(z=n()),g=M/z,r(g)}function r(){var t=[150,250,330,400,500,600,800],e=["xxs","xs","s","m","l","xl","xxl"];t.forEach(function(n){g>n&&(E=e[t.indexOf(n)])})}function o(){M=a.width();var t=[280,300,400,800,1e3,1200,1400],e=["xxs","xs","s","m","l","xl","xxl"];t.forEach(function(n){M>n&&(p=e[t.indexOf(n)])}),i(),s()}function s(){var t=c+"--size-"+p,e=c+"--items-in-row-"+z,n=c+"--item-size-"+E,i=u+"\n"+t+"\n"+e+"\n"+n;a.attr("class",i),a.attr("data-layout",M+"/"+p+"|"+z),a.attr("data-item-layout",g+"/"+E),d.show()}var c="recommended-entries",a=t("."+c),u=a.attr("class"),d=t(".recommended-entries__list"),l="recommended-entries__item",x=t("."+l),f=t(x.get(0)),m=x.length,h="threeposts__item--pic",w=t("."+h),_=(w.length,220),v=155,g=0,y=1044,z=6,p="xxs",E="xxs",M=a.width();e(),t(window).resize(LJ.Function.debounce(o,50))})}(jQuery);
/* <<< file end: js/recommended-entries.js */
//# map link was there [recommended-entries.js.map]
/* >>> file start: js/discovery/directives.js */
//= require js/core/angular/api.js
Site.page.template['angular/ljImage.ng.tmpl'] = '<a ng-href=\"{{link}}\">\n <figure class=\"b-journalpicture\">\n <img\n class=\"b-journalpicture-image\"\n title=\"{{textContent}}\"\n alt=\"{{textContent}}\"\n ng-src=\"{{source}}\"\n ng-style=\"dimensions\"\n >\n <figcaption class=\"b-journalpicture-caption\" lj-html=\"content\"></figcaption>\n </figure>\n</a>\n';
Site.page.template['angular/ljGallery.ng.tmpl'] = '<div\n class=\"b-journalgallery\"\n ng-style=\"galleryDimensions\"\n ng-class=\"{\n \'b-journalgallery-hightpriority\': isTall\n }\"\n >\n <div\n class=\"b-journalgallery-container\"\n ng-style=\"containersDimensions\"\n >\n <figure\n class=\"b-journalgallery-picture\"\n ng-repeat=\"item in items\"\n ng-style=\"containersDimensions\"\n ng-if=\"isNearby($index)\"\n ng-class=\"{\n \'b-journalgallery-picture-prev\': $index < state.index,\n \'b-journalgallery-picture-current\': $index === state.index,\n \'b-journalgallery-picture-next\': $index > state.index\n }\"\n >\n <span\n class=\"\n b-journalgallery-preloader\n svgpreloader\n svgpreloader-tag\n svgpreloader-16\n \"\n ></span>\n <div class=\"b-journalgallery-wrapper\"\n style=\"background-image: url({{item.src}}); max-width: {{item.width}}; max-height: {{item.height}}\">\n <img\n ng-src=\"{{item.src}}\"\n class=\"b-journalgallery-image\"\n lj-gallery-load\n >\n </div>\n <figcaption class=\"b-journalgallery-caption\">\n <span\n class=\"b-journalgallery-caption-title\"\n lj-html=\"item.content\"></span>\n </figcaption>\n </figure>\n </div>\n <span\n class=\"b-journalgallery-counter\"\n ng-bind=\"(state.index + 1) + \'/\' + (state.total+1)\"\n ></span>\n <span\n class=\"b-journalgallery-nav b-journalgallery-nav-prev\"\n ng-show=\"state.index !== 0\"\n ng-click=\"prev()\"\n ></span>\n <span\n class=\"b-journalgallery-nav b-journalgallery-nav-next\"\n ng-show=\"state.index < state.total\"\n ng-click=\"next()\"\n ></span>\n</div>\n';
Site.page.template['angular/discovery/ljSuggest.ng.tmpl'] = '<div\n class=\"b-mainpage-seealso\"\n ng-if=\"suggest\"\n >\n\n <!-- head -->\n <h3\n class=\"b-mainpage-seealso-head\"\n lj-ml=\"discovery.article.seealso\"\n ></h3>\n\n <!-- items -->\n <ul class=\"b-mainpage-seealso-items\">\n <li\n class=\"b-mainpage-seealso-item\"\n ng-repeat=\"suggested in suggest\"\n >\n <a\n ng-href=\"{{suggested.url}}\"\n class=\"b-mainpage-seealso-link\"\n data-track-event=\"LJMag:Post:OpenSeeAlso\"\n >\n <span\n class=\"b-mainpage-seealso-pic\"\n ng-if=\"suggested.image\"\n ng-style=\"{ backgroundImage: \'url({{suggested.image}})\' }\"\n ></span>\n <span\n class=\"b-mainpage-seealso-title\"\n lj-html=\"suggested.subject\"\n ></span>\n </a>\n <span class=\"b-mainpage-seealso-user\" ng-if=\"suggested.user\">\n <span\n lj-user-dynamic=\"suggested.user.username\"\n lj-user-dynamic-options=\"{target: \'_blank\'}\"\n ></span>\n </span>\n </li>\n </ul><!-- /items -->\n\n</div>\n';
Site.page.template['angular/widgets/authors/posts.ng.tmpl'] = '<!-- author\'s posts -->\n\n<div\n class=\"\n b-authorsposts\n l-flatslide-aside-block\n \"\n ng-class=\"{\n \'b-authorsposts-loading\': state.isLoading,\n \'b-authorsposts-empty\': !posts.length\n }\"\n >\n\n <!-- head -->\n <header class=\"b-authorsposts-head\">\n <h3\n class=\"b-authorsposts-title\"\n lj-ml=\"main.authorsposts.head\"\n >\n </h3>\n </header>\n\n <!-- body -->\n <div class=\"b-authorsposts-body\">\n\n <!-- items -->\n <ul class=\"b-authorsposts-items\">\n\n <!-- item -->\n <li class=\"b-authorsposts-item\"\n ng-repeat=\"post in posts\">\n\n <!-- link -->\n <a\n class=\"b-authorsposts-link\"\n data-track-event=\"LJMag:Post:OpenAnotherPostByAuthor:{{post.user.username}}\"\n ng-href=\"{{ post.url }}\"\n >\n <!-- pic -->\n <span\n class=\"b-authorsposts-pic\"\n style=\"background-image: url({{post.image}});\"\n ng-if=\"post.image\"\n ></span>\n <!-- subject -->\n <span\n class=\"b-authorsposts-subject\"\n lj-html=\"post.subject\"\n ></span>\n </a>\n\n </li>\n\n </ul>\n\n <!-- dummy loader -->\n <div class=\"b-authorsposts-dummy\">\n <div class=\"b-authorsposts-dummy-item\">\n <span class=\"b-authorsposts-dummy-pic\"></span>\n <div class=\"b-authorsposts-dummy-caption\">\n <span class=\"b-authorsposts-dummy-subject\"></span>\n </div>\n </div>\n <div class=\"b-authorsposts-dummy-item\">\n <span class=\"b-authorsposts-dummy-pic\"></span>\n <div class=\"b-authorsposts-dummy-caption\">\n <span class=\"b-authorsposts-dummy-subject\"></span>\n </div>\n </div>\n <div class=\"b-authorsposts-dummy-item\">\n <span class=\"b-authorsposts-dummy-pic\"></span>\n <div class=\"b-authorsposts-dummy-caption\">\n <span class=\"b-authorsposts-dummy-subject\"></span>\n </div>\n </div>\n </div>\n\n </div><!-- /body -->\n\n</div><!-- /authorsposts -->\n\n\n';
LJ.injectStyle('/* >>> file start: stc/lj_gallery.css */\n.b-journalgallery{overflow:hidden;display:block;position:relative;width:100%;margin:0 auto;padding:0 0 70px;font:600 13px/1.1 ProximaNova,Tahoma,Arial,sans-serif;font:600 .8125rem/1.1 ProximaNova,Tahoma,Arial,sans-serif}.b-journalgallery-container{position:relative;margin:0 auto;background:#FFF}.b-journalgallery-picture{position:absolute;top:0;width:100%;margin:0!important;-webkit-transition:.5s cubic-bezier(.25,.25,.75,.75) all;transition:.5s cubic-bezier(.25,.25,.75,.75) all;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;text-align:center}.b-journalgallery-picture::after{content:\'\';display:inline-block;height:100%;margin:0 0 0 -.05em;vertical-align:middle}.b-journalgallery-preloader.svgpreloader{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.b-journalgallery-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background-size:contain;background-repeat:no-repeat;background-position:50% 50%}.b-journalgallery-hightpriority .b-journalgallery-wrapper{display:inline}.b-journalgallery-image{display:none}.b-journalgallery.b-journalgallery-hightpriority .b-journalgallery-picture .b-journalgallery-wrapper .b-journalgallery-image{width:auto;max-height:100%}.b-journalgallery-caption{position:absolute;top:100%;left:0;right:0;height:70px;margin:0;padding:0;border:0;text-align:center;background:#FFF;color:#829399}.b-journalgallery-caption-title{overflow:hidden;position:absolute;top:0;right:40px;left:40px;height:3.3em;margin:0;padding:10px 2px 0;line-height:1.1}.b-journalgallery-picture-loaded{background-image:none}.b-journalgallery-picture-loaded .b-journalgallery-image{opacity:1}.b-journalgallery-picture-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);opacity:0}.b-journalgallery-picture-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);opacity:0}.b-journalgallery-picture-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.b-journalgallery-counter{position:absolute;bottom:44px;right:0;margin:0;padding:2px;border:0;text-align:right;color:#829399}.b-journalgallery-nav{position:absolute;top:0;bottom:70px;margin:0;padding:0;border:0;cursor:pointer;font:0/0 a}.b-journalgallery-nav:after,.b-journalgallery-nav:before{content:\" \";position:absolute;top:50%;padding:0}.b-journalgallery-nav:before{width:50px;height:50px;margin:-25px 0 0;border:0;border-radius:3px;background:#839399}.b-journalgallery-nav:hover:before{background:#09C}.b-discoveryarticle .b-journalgallery-nav:hover:before{background:#39BF71}.b-journalgallery-nav:after{width:9px;height:16px;margin:-8px 0 0;background:url(/img/icons/journalgallery.png?v=39648) no-repeat}.b-journalgallery-nav-prev{left:0;width:30%}.b-journalgallery-nav-prev::before{left:20px}.b-journalgallery-nav-prev::after{left:40px}.b-journalgallery-nav-next{right:0;width:70%}.b-journalgallery-nav-next::before{right:20px}.b-journalgallery-nav-next::after{right:40px;background-position:0 -17px}@media all and (max-width:480px){.b-journalgallery-nav-prev::before{left:0}.b-journalgallery-nav-prev::after{left:20px}.b-journalgallery-nav-next::before{right:0}.b-journalgallery-nav-next::after{right:20px}}\n/* <<< file end: stc/lj_gallery.css */\n\n/*# sourceMappingURL=lj_gallery.css.map */\n');
angular.module("Discovery.Tags",["LJ.Templates","LJ.Api"]).directive("ljDiscoveryTags",["$compile",function(t){var e=["lj-gallery","[lj-memories]","[lj-lazy]","[lj-share]","[nglj-like-react]","[nglj-like-reaction-stats]","[lj-likus]","[lj-cut]","[lj-screenable]","[lj-promo-control]","[lj-promo-click]","[lj-remove-repost]","[lj-quick-comments]","[ng-bind]","[ng-show]","[lj-sticky]","[ng-lj-poll]"];return{restrict:"A",terminal:!0,link:function(i,n){t(n.find(e.join(",")))(i)}}}]).directive("ljGallery",["$templateCache","$compile",function(t,e){return{restrict:"E",scope:!0,link:function(i,n,l){i.paddingTop=75,i.maxWidth=l.width||2e3,i.maxHeight=l.height||350,i.containersDimensions={paddingTop:i.paddingTop+"%"},i.galleryDimensions={maxWidth:i.maxWidth+"px",maxHeight:i.maxHeight+"px"},i.items=n.find("lj-gallery-item").map(function(){var t=angular.element(this).find("img"),e=angular.element(this).find("a"),n=angular.element(this).find("lj-gallery-item-capture"),a={content:n.html(),src:t.attr("src"),href:e.attr("href")},s=void 0,o=void 0,r=void 0,d=void 0,c=function(){s=t[0].naturalHeight,o=t[0].naturalWidth,r=s/o,d=100*r,d<i.paddingTop&&(i.paddingTop=d,i.containersDimensions.paddingTop=i.paddingTop+"%",!l.width&&o<i.maxWidth&&(i.galleryDimensions.maxWidth=Math.round(i.maxHeight/r)+"px")),a.width=o+"px",a.height=s+"px"};return c(),t[0].addEventListener("load",function(){c()}),a}).toArray(),i.isTall="undefined"!=typeof l.tall,i.next=function(){i.state.index+=1},i.prev=function(){i.state.index-=1},i.state={index:0,total:i.items.length-1},i.isNearby=function(t){return Math.abs(i.state.index-t)<=1},n.html(e(t.get("ljGallery.ng.tmpl"))(i))}}}]).directive("ljSuggest",["Api",function(t){return{templateUrl:"ljSuggest.ng.tmpl",scope:{itemId:"@ljSuggest"},link:function(e){t.call("discovery.suggest",{itemid:e.itemId},{cache:!0}).then(function(t){e.suggest=t.items})}}}]).directive("ljWidgetAuthorsPosts",["Api",function(t){return{templateUrl:"posts.ng.tmpl",scope:{userId:"@ljWidgetAuthorsPosts",itemId:"@ljWidgetAuthorsPostsExclude"},link:function(e){e.state={isLoading:!0},t.call("discovery.author_posts",{itemid:e.itemId,userid:e.userId},{cache:!0}).then(function(t){e.state.isLoading=!1,e.posts=t.items})}}}]);
/* <<< file end: js/discovery/directives.js */
//# map link was there [directives.js.map]
/* >>> file start: js/core/angular/ljMemories.js */
//= require js/core/angular/bubble.js
//= require js/core/angular/api.js
Site.page.template['angular/memories.ng.tmpl'] = '<div ng-controller=\"MemoriesCtrl\">\n\n <div\n class=\"b-addtomemories\"\n ng-class=\"{ \'b-addtomemories-loading\': loading }\"\n >\n\n <!-- head -->\n <h3\n class=\"b-addtomemories-head\"\n lj-ml=\"memories.title\"\n ></h3>\n\n <!-- intro -->\n <p class=\"b-addtomemories-intro\">\n <span\n ng-show=\"!security\"\n lj-ml=\"memories.title.add\"\n ></span>\n <span\n ng-show=\"security\"\n lj-ml=\"memories.title.edit\"\n ></span>\n </p>\n\n <!-- items -->\n <ul class=\"b-addtomemories-items\">\n\n <li class=\"b-addtomemories-item\">\n <label class=\"b-addtomemories-label\">\n <input\n type=\"radio\"\n name=\"security\"\n class=\"b-addtomemories-radio\"\n value=\"public\"\n ng-model=\"security\"\n ng-change=\"update()\"\n >\n <span\n class=\"b-addtomemories-title\"\n lj-ml=\"memories.security.public\"\n ></span>\n </label>\n </li>\n\n <li class=\"b-addtomemories-item\">\n <label class=\"b-addtomemories-label\">\n <input\n type=\"radio\"\n name=\"security\"\n class=\"b-addtomemories-radio\"\n value=\"friends\"\n ng-model=\"security\"\n ng-change=\"update()\"\n >\n <span\n class=\"b-addtomemories-title\"\n lj-ml=\"memories.security.friends\"\n ></span>\n </label>\n </li>\n\n <li class=\"b-addtomemories-item\">\n <label class=\"b-addtomemories-label\">\n <input\n type=\"radio\"\n name=\"security\"\n class=\"b-addtomemories-radio\"\n value=\"private\"\n ng-model=\"security\"\n ng-change=\"update()\"\n >\n <span\n class=\"b-addtomemories-title\"\n lj-ml=\"memories.security.private\"\n ></span>\n </label>\n </li>\n\n </ul><!-- /items -->\n\n <!-- footer -->\n <div\n class=\"b-addtomemories-footer\"\n ng-show=\"removeButton\"\n >\n\n <lj-flatbutton lj-flatbutton=\"[\'button\', \'memories.remove\', \'b-flatbutton b-flatbutton-simple b-flatbutton-red\', \'ng-click\', \'remove()\']\"></lj-flatbutton>\n </div><!-- /footer -->\n\n <p class=\"b-addtomemories-options\">\n <a\n ng-href=\"{{siteroot}}/memories/add?journal={{bubble.options.journal}}&amp;itemid={{bubble.options.ditemid}}\"\n target=\"_blank\"\n lj-ml=\"memories.options\"\n ></a>\n </p>\n\n </div><!-- /addtomemories -->\n\n</div>\n';
LJ.injectStyle('/* >>> file start: stc/popup/popup-memories.css */\n.b-addtomemories{width:150px;margin:0;padding:0;text-align:left}.b-addtomemories-head{margin:0 0 .5em;padding:0;font:700 1.13em/1.1 Arial,sans-serif;color:#000}.b-addtomemories-intro{margin:0 0 .3em}.b-addtomemories-items{margin:0;padding:0;list-style:none}.b-addtomemories-item{margin:0;padding:0}.b-addtomemories-label{display:block;margin:0 -5px;padding:5px;cursor:pointer}.b-addtomemories-item:hover .b-addtomemories-label{background:#C8E6FF}.b-addtomemories-footer{margin:1em 0}.b-addtomemories-options{margin:.3em -5px 0;padding:.3em 5px 0;border-top:1px solid #DAE3E6}.b-addtomemories-loading{background:url(/img/preloader/preloader-blue-gray.gif?v=16423) 50% 50% no-repeat}.b-addtomemories-loading .b-addtomemories-footer,.b-addtomemories-loading .b-addtomemories-head,.b-addtomemories-loading .b-addtomemories-intro,.b-addtomemories-loading .b-addtomemories-items,.b-addtomemories-loading .b-addtomemories-options{visibility:hidden}\n/* <<< file end: stc/popup/popup-memories.css */\n\n/*# sourceMappingURL=popup-memories.css.map */\n');
!function(e){angular.module("LJ.Memories",["LJ.Bubble","LJ.Api"]).directive("ljMemories",["$parse","$timeout","Bubble",function(o,i,t){return{scope:{ljMemories:"&"},link:function(o,i){function n(n){n.preventDefault(),t.open("memories",r,e(i)),o.$apply()}var r="function"==typeof o.ljMemories?o.ljMemories({element:i}):o.ljMemories;t.exists("memories")||t.register({name:"memories",template:"memories.ng.tmpl",disableClick:!0,closeOnScroll:r.closeOnScroll}),i.on("click",n),o.$on("$destroy",function(){i.off("click",n)})}}}]).controller("MemoriesCtrl",["$scope","Api",function(o,i){var t=o.bubble;o.security=null,o.$watch("removeButton",function(){e(window).trigger("resize")}),o.$on("bubble:open:memories",function(){i.call("memories.get",t.options,function(e){o.security=e.result?e.result.security:null,o.removeButton=Boolean(o.security)})}),o.$on("bubble:close:memories",function(){o.removeButton=!1}),o.siteroot=LJ.get("siteroot"),o.update=function(){var e=t.options.title.decodeHTML(),n=e.indexOf(t.options.journal+":")?t.options.journal+": "+e:e;i.call("memories.set",{journal:t.options.journal,ditemid:t.options.ditemid,description:n,security:o.security},function(e){o.security=e,t.close(),o.removeButton=!0})},o.remove=function(){var e=t.options.ditemid;i.call("memories.remove",{journal:t.options.journal,ditemid:t.options.ditemid},function(){o.security=null,t.close(),o.removeButton=!1,LJ.Event.trigger("memories:remove",e)})},LJ.Event.on("api:request:change",function(e,i){/^memories/.test(e)&&(o.loading=i)})}])}(jQuery);
/* <<< file end: js/core/angular/ljMemories.js */
//# map link was there [ljMemories.js.map]
/* >>> file start: js/core/angular/ljEmbed.js */
//= require js/core/angular/api.js
Site.page.template['angular/embed.ng.tmpl'] = '<!-- Bubble -->\n<div ng-if=\"embed.show\" class=\"ljembed-bubble\">\n <button class=\"ljembed-bubble__close\" ng-click=\"embed.close()\" lj-svg-icon=\"flaticon--cross-2\" tabindex=\"1\"></button>\n <header class=\"ljembed-bubble__header\">\n <h4 class=\"ljembed-bubble__title\" lj-ml=\"embed.post.title\"></h4>\n <span class=\"ljembed-bubble__desc\" lj-ml=\"embed.post.desc\"></span>\n <div class=\"ljembed-bubble__inputs\">\n <input\n class=\"ljembed-bubble__code\"\n tabindex=\"2\"\n ng-value=\"embed.code\"\n onclick=\"this.select()\"\n />\n <button class=\"ljembed-bubble-btn ljembed-bubble-btn--copy\" ng-click=\"embed.copy()\" tabindex=\"3\">\n <span class=\"ljembed-bubble-btn__icon\" lj-svg-icon=\"flaticon--copy\"></span>\n <span class=\"ljembed-bubble-btn__text\" lj-ml=\"embed.post.btn.copy\"></span>\n </button>\n <button class=\"ljembed-bubble-btn\" ng-click=\"embed.copyToPost()\" tabindex=\"4\">\n <span class=\"ljembed-bubble-btn__icon\" lj-svg-icon=\"flaticon--post-outline\"></span>\n <span class=\"ljembed-bubble-btn__text\" lj-ml=\"embed.post.btn.copy_to_post\"></span>\n </button>\n </div>\n </header>\n <div class=\"ljembed-bubble__body\">\n <div\n ng-if=\"embed.spinner\"\n class=\"ljembed-bubble__spinner svgpreloader svgpreloader-pseudo svgpreloader-30\"\n ng-class=\"{\'ljembed-bubble__spinner--show\': embed.spinner}\">\n </div>\n <iframe\n ng-if=\"!embed.pre\"\n class=\"ljembed-bubble__preview\"\n ng-src=\"{{embed.url}}\"\n width=\"{{embed.width}}\"\n height=\"{{embed.height}}\"\n ng-style=\"{ height: embed.height }\"\n >\n </iframe>\n </div>\n</div>\n<!-- /Bubble -->\n';
//= require_ml embed.post.btn.copy
//= require_ml embed.post.btn.copy_to_post
//= require_ml embed.post.title
//= require_ml embed.post.desc
!function(){function e(){return{scope:!0,templateUrl:"embed.ng.tmpl",controllerAs:"embed",controller:n}}function n(e,n,t,r){function a(n){n.data&&n.data.height&&(o.height=n.data.height,o.spinner=!1,o.code=l(o.plainUrl,o.width,o.height),e.$$phase||e.$apply())}function l(e,n,t){return'<iframe style="max-width: 100%" src="'+e+'" width="'+n+'" height="'+t+'" frameborder="0"></iframe>'}var o=this,i="ljembed-bubble--full",d=angular.element("body");o.show=!1,o.spinner=!0,o.width=502,o.height=252,o.fader=angular.element("[lj-embed-share]"),o.fader.on("click",function(n){return n.target!==n.currentTarget?!1:(o.close(n),void e.$apply())}),o.close=function(e){e&&e.preventDefault(),d.removeClass(i),o.show=!1,o.spinner=!0,o.width=502,o.height=252,t.removeEventListener("message",a)},o.copy=function(e){e&&e.preventDefault();var n=angular.element(".ljembed-bubble__code")[0];n.select();try{return document.execCommand("copy")}catch(t){return console.warn("Copy to clipboard failed.",t),!1}},o.copyToPost=function(){var e=encodeURIComponent(angular.element(".ljembed-bubble__code").val()),n=LJ.get("siteroot")+"/update.bml?event="+e;t.open(n,"_blank")},LJ.Event.on("lj:embed",function(e){d.addClass(i),o.show=!0,o.pre=!0,o.plainUrl=e,o.url=r.trustAsResourceUrl(e),o.code=l(o.plainUrl,o.width,o.height),n(function(){o.pre=!1,t.addEventListener("message",a)},0)})}n.$inject=["$scope","$timeout","$window","$sce"],angular.module("LJ.Embed",["LJ.Directives","LJ.Api"]).run(function(){angular.element("body").addClass("j-p-embed"),angular.element("[ng-app]").append("<div lj-embed-share></div>")}).directive("ljEmbedShare",e)}(jQuery);
/* <<< file end: js/core/angular/ljEmbed.js */
//# map link was there [ljEmbed.js.map]
/* >>> file start: js/core/string.js */
var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};!function(t){return t}(),function(){"use strict";LJ.define("LJ.String"),LJ.String.pad=function(t,e,n){if(t=t.toString(),"undefined"==typeof e)throw new Error("You should provide padding string length");if("undefined"==typeof n)throw new Error("You should provide padding symbol");if(t.length>=e)return t;for(;t.length<e;)t=n+t;return t.length===e?t:t.slice(-e)},LJ.String.capitalize=function(t){var e;if("string"!=typeof t)throw new Error("You should provide string as argument");return e=t.length,0===e?t:1===e?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()},LJ.String.linkify=function(t){var e=new RegExp("^(?:([a-zA-Z]+):)?//"),n=/^[a-zA-Z]+:/,r=/^:\/\//,i=n.test(t)?"":"https://";return e.test(t)?t:i+(r.test(t)?t.replace("://",""):t)},LJ.String.smartSplit=function(t,e){return"undefined"==typeof e&&(e=","),t.split(e).map(function(t){return t.trim()}).filter(Boolean)},LJ.String.encodeHTML=function(t){var e={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&apos;"};return t.replace(/([<>&\"\'])/g,function(t,n){return e[n]?e[n]:n})},LJ.String.limit=function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.maxLength||150;return t.split(" ").reduce(function(t,e){if(t.limitReached)return t;var r=(t.limitedString+" "+e).trim();return r.length>n?_extends({},t,{limitReached:!0}):_extends({},t,{limitedString:r})},{limitedString:"",limitReached:!1}).limitedString},LJ.String.cutEllipsize=function(t,e){if(!t)return null;if(t.length<e)return t;var n=t.replace(/(…|\.\.\.)$/,"").slice(0,e);return" "!==t[e-1]&&" "!==t[e]&&(n=n.split(" ").slice(0,-1).join(" ")),n=n.replace(/\.+$/,""),n+"..."}}();
/* <<< file end: js/core/string.js */
//# map link was there [string.js.map]
/* >>> file start: js/core/angular/share.js */
//= require js/core/angular/bubble.js
//= require js/core/string.js
Site.page.template['angular/share.ng.tmpl'] = '<p\n class=\"b-sharethis-head\"\n lj-ml=\"sharing.popup.title\"\n></p>\n\n<ul\n ng-controller=\"ShareBubbleCtrl as share\"\n class=\"\n b-sharethis-services\n b-sharethis-services-{{ share.version }}\n \"\n>\n <li\n ng-if=\"share.ljRepostFlag\"\n ng-repeat=\"service in share.services\"\n class=\"\n b-sharethis-services-item\n b-sharethis-{{ service.name }}\n \"\n >\n <a\n ng-if=\"service.name !== \'livejournal\'\"\n class=\"b-sharethis-services-link\"\n ng-class=\"{\'b-sharethis-services__open\': isAdvState}\"\n ng-click=\"share.openPopup($event, service.name, bubble.options.params);\"\n ng-href=\"{{ service.link }}\"\n ng-bind=\"service.title\"\n >\n </a>\n <a ng-if=\"service.name == \'livejournal\'\"\n class=\"b-sharethis-services-link b-sharethis-services-link--adv\"\n ng-class=\"{\'b-sharethis-services-link--open\': isAdvState}\"\n ng-click=\"isToogleAdv()\"\n >\n <span class=\"b-sharethis-services-link__title\">{{service.title}}</span>\n <span class=\"b-sharethis-services-link__dropdown\" lj-svg-icon=\"flaticon--arrow-dropdown\"></span>\n </a>\n <div class=\"b-sharethis-services-adv\" ng-if=\"service.name == \'livejournal\'\">\n <div class=\"b-sharethis-services-adv__wrap\">\n <a class=\"b-sharethis-services-adv__link\" href=\"#\">Поделиться мнгновенно</a>\n <a class=\"b-sharethis-services-adv__link\" href=\"#\">Поделиться</a>\n </div>\n </div>\n </li>\n\n <li\n ng-if=\"!share.ljRepostFlag\"\n ng-repeat=\"service in share.services\"\n class=\"\n b-sharethis-services-item\n b-sharethis-{{ service.name }}\n \"\n >\n <div\n ng-if=\"service.name === \'livejournal\'\"\n lj-share-button=\"{{share.entryUrl}}\"\n lj-share-button-title=\"{{service.title}}\"\n ></div>\n <a\n target=\"_blank\"\n class=\"b-sharethis-services-link\"\n ng-click=\"share.openPopup($event, service.name, bubble.options.params);\"\n ng-href=\"{{ service.link }}\"\n ng-if=\"service.name !== \'livejournal\'\"\n >\n <span class=\"b-sharethis-services-link__icon-wrap\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svgicon flaticon flaticon--{{service.name}} b-sharethis-services-link__icon\">\n <use ng-href=\"#flaticon--{{service.name}}\" xlink:href=\"\"></use>\n </svg>\n </span>\n <span class=\"b-sharethis-services-link__title\" ng-bind=\"service.title\"></span>\n </a>\n </li>\n</ul>';
//= require_ml sharing.popup.title
!function(e){return e}(),function(){"use strict";angular.module("LJ.Share",["LJ.Directives","LJ.Templates","LJ.Bubble"]).config(["$compileProvider",function(e){e.aHrefSanitizationWhitelist(/^\s*(https?|viber):/)}]).directive("ljShare",["Bubble",function(e){return{restrict:"A",scope:!0,link:function(t,r,i){function l(){e.open("share",{params:a,services:n},r),t.$evalAsync()}var a=t.$eval(i.ljShare),n=t.$eval(i.ljShareServices),o=t.$eval(i.ljShareServicesExclude);if(n=n?LJ.String.smartSplit(n):LJ.Social.Share.services(),o=o?LJ.String.smartSplit(o):[],o.length&&(n=n.filter(function(e){return-1===o.indexOf(e)})),n.length){var s=e.register({name:"share",template:"share.ng.tmpl",alwaysBottom:a.alwaysBottom,recalculateOnScroll:i.hasOwnProperty("ljShareScrollable")});r.on("click",l),t.$on("$destroy",function(){r.off("click",l),s()})}}}}]).controller("ShareBubbleCtrl",["$scope","Bubble",function(e,t){var r=this,i=r;this.ljRepostFlag=LJ.Flags.isEnabled("lj_repost"),e.isAdvState=!1,e.$on("bubble:open:share",function(){i.version=LJ.Flags.isEnabled("adaptive_lj_mobile")?"v4":"v3",i.services=e.bubble.options.services.map(function(t){return{name:t,link:LJ.Social.Share.getUrl(t,e.bubble.options.params),title:LJ.Social.Share.getTitle(t)}}),r.entryUrl=e.bubble.options.params.url}),e.isToogleAdv=function(){e.isAdvState=!e.isAdvState},i.openPopup=function(e,r,i){return LJ.Social.Share.isTab(r)?void t.close("share"):(e.preventDefault(),LJ.Social.Share.openPopup(r,i),void t.close("share"))}}])}();
/* <<< file end: js/core/angular/share.js */
//# map link was there [share.js.map]
/* >>> file start: js/core/angular/ljRemoveRepost.js */
//= require js/core/angular/api.js
//= require js/core/angular/bubble.js
Site.page.template['angular/ljRemoveRepost.ng.tmpl'] = '<div ng-controller=\"RemoveRepostCtrl as remove\">\n\n <div\n class=\"b-removerepost\"\n ng-class=\"{ \'b-removerepost-loading\': loading }\"\n >\n <!-- intro -->\n <p class=\"b-removerepost-intro\">\n <span\n lj-ml=\"repost.confirm.delete\"\n ></span>\n </p>\n\n <!-- footer -->\n <div\n class=\"b-removerepost-footer\"\n >\n <div class=\"b-popup-submit-options\">\n <span class=\"b-popup-preloader\">\n <span\n class=\"b-popup-preloader-inner\"\n >\n <button\n class=\"\n b-flatbutton\n b-flatbutton-simple\n \"\n type=\"button\"\n ng-click=\"remove.submit()\"\n lj-ml=\"confirm.bubble.yes\"\n ></button>\n <i class=\"preloader\"></i>\n </span>\n <button\n href=\"\"\n class=\"\n b-flatbutton\n b-flatbutton-simple\n b-flatbutton-neutral\n \"\n ng-click=\"remove.cancel()\"\n lj-ml=\"confirm.bubble.no\"\n ></button>\n </span>\n </div>\n </div>\n </div>\n</div>\n';
//= require_ml repost.confirm.delete
//= require_ml confirm.bubble.yes
//= require_ml confirm.bubble.no
LJ.injectStyle('/* >>> file start: stc/popup/popup-delete-repost.css */\n.b-removerepost{width:200px;margin:0;padding:0;text-align:left}.b-removerepost-head{margin:0 0 .5em;padding:0;font:700 1.13em/1.1 Arial,sans-serif;color:#000}.b-removerepost-intro{margin:0 0 .3em}.b-removerepost-footer{margin:1em 0 0}.b-removerepost-loading{background:url(/img/preloader/preloader-blue-gray.gif?v=16423) 50% 50% no-repeat}.b-removerepost-loading .b-removerepost-footer,.b-removerepost-loading .b-removerepost-head,.b-removerepost-loading .b-removerepost-intro{visibility:hidden}\n/* <<< file end: stc/popup/popup-delete-repost.css */\n\n/*# sourceMappingURL=popup-delete-repost.css.map */\n');
!function(e){return e}(),function(){"use strict";angular.module("LJ.RemoveRepost",["LJ.Bubble","LJ.Api"]).run(["Bubble",function(e){e.register({name:"removeRepost",template:"ljRemoveRepost.ng.tmpl",recalculateOnScroll:!0,alwaysBottom:!0})}]).directive("ljRemoveRepost",["Api","Bubble",function(e,o){return{scope:{post:"=ljRemoveRepost"},link:function(e,t){function n(n){n.preventDefault(),o.open("removeRepost",{post:e.post},t),e.$evalAsync()}t.on("click",n),e.$on("$destroy",function(){t.off("click",n)})}}}]).controller("RemoveRepostCtrl",["$scope","$rootScope","Api","$window",function(e,o,t,n){var l,i=e.bubble;e.$on("bubble:open:removeRepost",function(e,o,t){l=t.post}),this.submit=function(){t.call("repost.delete",{url:l.permalink_url}).then(function(){o.$emit("feed:item:remove",l.itemid),i.close(),LJ.get("journal.id")===LJ.get("remote.id")&&n.location.reload()})},this.cancel=function(){i.close()}}])}(jQuery);
/* <<< file end: js/core/angular/ljRemoveRepost.js */
//# map link was there [ljRemoveRepost.js.map]
/* >>> file start: js/core/angular/ljTour.js */
//= require js/core/angular/bubble.js
//= require js/core/angular/api.js
//= require js/core/angular/ref.js
Site.page.template['angular/bubbletour.ng.tmpl'] = '<div class=\"b-helptour\">\n <header class=\"b-helptour-header\" ng-hide=\"current.length < 2\">\n <span class=\"b-helptour-stage\">\n <span class=\"b-helptour-stage-prev\" ng-bind=\"index\"></span>\n <span class=\"b-helptour-stage-hr\">/</span>\n <span class=\"b-helptour-stage-next\" ng-bind=\"current.length\"></span>\n </span>\n </header>\n <div class=\"b-helptour-content b-text\">\n <span lj-ml=\"{{step.tourText}}\" lj-ml-dynamic=\"index\"></span>\n </div>\n <footer class=\"b-helptour-footer\">\n <ul class=\"b-helptour-controls b-helptour-state\">\n <li class=\"b-helptour-control b-helptour-control-skip\"\n ng-hide=\"step.tourNoSkip || index === current.length\">\n <a class=\"b-helptour-skip-link b-helptour-link\" href=\"javascript:void(0)\" lj-ml=\"tour.steps.skip\"\n ng-click=\"end()\"></a>\n </li>\n </ul>\n <ul class=\"b-helptour-controls b-helptour-step\">\n <li class=\"b-helptour-control b-helptour-control-prev\"\n ng-hide=\"step.tourNoBack || index === 1\">\n <a class=\"b-helptour-prev-link b-helptour-link\" href=\"javascript:void(0)\" lj-ml=\"tour.steps.prev\"\n ng-click=\"prev()\"></a>\n </li>\n <li class=\"b-helptour-control b-helptour-control-next\"\n ng-hide=\"step.tourNoNext || index === current.length\">\n <a class=\"b-helptour-next-link b-helptour-link\" href=\"javascript:void(0)\" lj-ml=\"tour.steps.next\"\n ng-click=\"next()\"></a>\n </li>\n <li class=\"b-helptour-control b-helptour-control-done\"\n ng-hide=\"index !== current.length\">\n <a class=\"b-helptour-done-link b-helptour-link\" href=\"javascript:void(0)\" lj-ml=\"tour.steps.done\"\n ng-click=\"end()\"></a>\n </li>\n </ul>\n </footer>\n</div>\n';
LJ.injectStyle('/* >>> file start: stc/tour/ljtour.css */\n.b-bubble-tour{z-index:5001}.b-bubble-tour .b-popup-inner{padding:0}.b-helptour{width:350px}.b-helptour-header{margin:0 0 .3em;padding:10px 16px 0}.b-helptour-footer:after,.b-helptour-header:after{display:table;width:100%;clear:both;content:\"\"}.b-helptour-stage-title{margin-right:10px}.b-helptour P:first-child{margin:0 0 .3em}.b-helptour-content{margin:10px 0 .6em;padding:0 16px}.b-helptour-content P{margin:.3em 0}.b-helptour-content LI,.b-helptour-content UL{margin:0;padding:0;list-style:none}.b-helptour-footer{padding:6px 15px;border-radius:0 0 5px 5px;background-color:#DAE3E6}.b-helptour-controls{margin:0;padding:0}.b-helptour-state{float:left}.b-helptour-step{float:right}.b-helptour-control{display:inline;margin-right:4px;cursor:pointer}.b-helptour-control-done:after{display:inline-block;content:\"\";width:14px;height:12px;background-image:url(/img/icons/unit_v3.png?v=42878);background-repeat:no-repeat;background-position:0 -223px}.b-helptour-control-done A{padding-left:8px}.b-helptour-control-done A:link,.b-helptour-control-done A:visited,.b-helptour-control-next A:link,.b-helptour-control-prev A:link{color:#00A3D9}.b-helptour-control-skip A:link,.b-helptour-control-skip A:visited{color:#7A9199}.b-helptour-control A{font-size:13px}.b-helptour-control A:active,.b-helptour-control A:focus,.b-helptour-control A:hover{color:#0086b3}.p-ljtour .b-lenta .l-flatslide-container{position:static}.p-ljtour .l-flatslide-menu-controls{position:absolute;top:auto!important}.p-ljtour.p-openpopup .w-cs{overflow:visible}@media all and (max-width:650px){.p-ljtour.p-openpopup .b-fader{display:none!important}.b-bubble-tour{display:none}}\n/* <<< file end: stc/tour/ljtour.css */\n\n/*# sourceMappingURL=ljtour.css.map */\n');
//= require_ml tour.steps.prev
//= require_ml tour.steps.next
//= require_ml tour.steps.skip
//= require_ml tour.steps.done
!function(e){return e}(),function(e){"use strict";angular.module("LJ.Tour",["LJ.Bubble","LJ.Templates","LJ.Directives","LJ.Api"]).factory("Tour",["Api",function(e){var t={};return t.queue={},t.checkAvailable=function(){var n=Object.keys(t.queue);return e.call("tour.is_available",{tours:n},{silent:!0}).then(function(e){n.forEach(function(n){0===e.states[n]&&delete t.queue[n]})})},t.setDone=function(t){return e.call("tour.set_done",{tour:t})},t}]).directive("ljTour",["$timeout","$document","Bubble","Ref","Tour",function(t,n,r,u,o){return{scope:!0,link:function(i){function c(){e("body").find("[data-tour]").each(function(){var t=e(this),n=angular.extend({element:t},t.data());Array.isArray(L[n.tour])||(L[n.tour]=[]),n.tourStepDiscardDuplicates&&L[n.tour].some(function(e){return e.tourStep===n.tourStep})||L[n.tour].push(n)})}function a(){var e=Object.keys(L)[0],t=L[e];i.current=t.filter(function(e){return b(e)&&v(e)}).sort(function(e,t){return e.tourStep>t.tourStep?1:e.tourStep<t.tourStep?-1:0}),i.current.forEach(function(e){u.add(e.tour+e.tourStep,e.element)}),delete L[e],g(i.current[0])?f():l()}function l(){Object.keys(L).length&&a()}function s(){r.close(),O.fadeOut(),angular.element("body").removeClass("p-ljtour").off("ljsale-load",y),o.setDone(i.step.tour),O.off("click",s),i.current=null,i.step=null,l()}function f(){return angular.element("body").addClass("p-ljtour").on("ljsale-load",function(e){e.originalEvent.data.slot&&y()}),O.is(":visible")?void t(f,300):(p(),O.on("click",s).fadeIn(),void(i.current=i.current.filter(function(e){return m(e.element)})))}function p(){var e=i.current.indexOf(i.step);e<i.current.length-1?(i.step=i.current[++e],i.index=++e,h()):s()}function d(){var e=i.current.indexOf(i.step);e>0&&(i.step=i.current[--e],i.index=++e,h())}function b(e){return e.hasOwnProperty("tourOwner")?LJ.get("remote.username")===LJ.get("journal.username"):!0}function v(e){return e.hasOwnProperty("tourSkipIf")?e.tourSkipIf.split(",").every(function(e){return e=e.trim(),"!"===e.charAt(0)?LJ.get(e.slice(1)):!LJ.get(e)}):!0}function m(e){return e.is(":visible")&&0!==e.css("opacity")&&"hidden"!==e.css("visibility")}function g(e){return e?e.hasOwnProperty("tourStartPage")?new RegExp(e.tourStartPage,"i").test(location.pathname):1===e.tourStep:!1}function y(){angular.element(window).trigger("resize"),S()}function h(){if(i.step){if(!i.step.element.is(":visible"))return p();r.current&&r.close(),t(function(){var e=r.options("tour")||{};r.open("tour",angular.extend(e,i.step.tourBubble),i.step.element),S()}),LJ.Event.once("visual_editor_ready",function(){t(y)})}}function S(){u.scrollTo(i.step.tour+i.step.tourStep,{onlyOutOfScreen:!0})}function k(e){if(i.current&&i.current.length){switch(e.which){case 27:s();break;case 37:d();break;case 39:p()}i.$apply()}}var J,L=o.queue,O=angular.element(document.querySelector(".b-fader")),w=!1;J=r.register({name:"tour",template:"bubbletour.ng.tmpl",closeControl:!1},i),!LJ.Flags.isEnabled("friendsfeed_tour")||LJ.Support.isMobile()||w||(w=!0,t(function(){c(),o.checkAvailable().then(l)})),i.next=p,i.prev=d,i.end=s,n.on("keydown",k),i.$on("$destroy",function(){n.off("keydown",k),J()})}}}])}(jQuery);
/* <<< file end: js/core/angular/ljTour.js */
//# map link was there [ljTour.js.map]
/* >>> file start: js/core/angular/components/likeReaction/config.js */
//= require_ml like_reaction.like.caption
//= require_ml like_reaction.pencil.caption
//= require_ml like_reaction.fire.caption
//= require_ml like_reaction.laughing.caption
//= require_ml like_reaction.dislike.caption
//= require_ml like_reaction.sad.caption
//= require_ml like_reaction.angry.caption
!function(){LJ.define("LJ.LikeReaction");var e=[{id:0,tag:LJ.ml("like_reaction.like.caption"),icon:"heart",likeableTypes:["post","comment"]},{id:1,tag:LJ.ml("like_reaction.pencil.caption"),icon:"pencil",likeableTypes:["comment"]},{id:2,tag:LJ.ml("like_reaction.fire.caption"),icon:"fire",likeableTypes:["comment"]},{id:3,tag:LJ.ml("like_reaction.laughing.caption"),icon:"laugh",likeableTypes:["comment"]},{id:4,tag:LJ.ml("like_reaction.dislike.caption"),icon:"dislike",likeableTypes:["comment"]},{id:5,tag:LJ.ml("like_reaction.sad.caption"),icon:"sad",likeableTypes:["comment"]},{id:6,tag:LJ.ml("like_reaction.angry.caption"),icon:"angry",likeableTypes:["comment"]}];LJ.LikeReaction.REACTIONS_CONFIG=e,LJ&&LJ.Flags&&LJ.Flags.isEnabled("reactions_post")&&Object.keys(e).forEach(function(i){var a=e[i];a.likeableTypes.indexOf("post")>-1||(a.likeableTypes=a.likeableTypes.concat(["post"]))})}();
/* <<< file end: js/core/angular/components/likeReaction/config.js */
//# map link was there [config.js.map]
/* >>> file start: js/core/angular/components/likeReaction/pageConfig.js */
!function(n){return n}(),function(){LJ.define("LJ.LikeReaction");var n=function(){var n=LJ.Util.getWindow()||window,e=LJ.Util.Link.parseURL(n.location.href),i=e.path;return i.indexOf("preview/entry.bml")>-1};LJ.LikeReaction.PageConfig={silentServCalls:n()||!1}}();
/* <<< file end: js/core/angular/components/likeReaction/pageConfig.js */
//# map link was there [pageConfig.js.map]
/* >>> file start: js/core/angular/components/likeReaction/userReact.js */
var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e};
Site.page.template['angular/components/NGLJLikeReact.ng.tmpl'] = '<button\n type=\"button\"\n class=\"reaction-state js--concrete-react-btn\"\n ng-class=\"likeReactCtrl.isReaction && \'reaction-state--active reaction-state--\' + likeReactCtrl.reactionSVGIcon\"\n ng-mouseenter=\"!likeReactCtrl.showToolbar && likeReactCtrl.mouseEnterHandler($event)\"\n ng-mouseleave=\"likeReactCtrl.resetTimer()\"\n ng-click=\"likeReactCtrl.onAnchorClick($event)\"\n ng-show=\"!likeReactCtrl.isOldScheme && !likeReactCtrl.invisModeOn && likeReactCtrl.reactionSVGIcon\"\n>\n <span\n ng-if=\"!likeReactCtrl.isFeedPage\"\n class=\"reaction-state__icon\"\n lj-svg-icon=\"reaction--{{ likeReactCtrl.reactionSVGIcon }}\">\n </span>\n <span\n ng-if=\"likeReactCtrl.isFeedPage\"\n class=\"reaction-state__icon\"\n lj-svg-icon=\"{{likeReactCtrl.isReaction ? \'reaction--\'+likeReactCtrl.reactionSVGIcon : \'flaticon--like\' }}\">\n </span>\n <span class=\"reaction-state__caption\" ng-bind=\"likeReactCtrl.reactionCaption\"></span>\n</button>\n';
!function(e){return e}(),function(){function e(){return{scope:{batchParams:"=ngljLikeReact",journalID:"@journalId",postID:"@postId",commentID:"@commentId",likeableType:"@likeableType"},templateUrl:"NGLJLikeReact.ng.tmpl",controllerAs:"likeReactCtrl",controller:t}}function t(e,t,n,o,a,i){var r=a,c=this,l=500;c.showToolbar=!1,c.timer=null,c.isFeedPage=location.pathname.match(/feed/g);var s=LJ.Support.isMobile();c.isOldScheme=Site.ljold,c.interactive=!0;var u={};c.getIsOfAllowedType=function(){return"post"===u.likeableType?LJ.Flags.isEnabled("reactions_post"):!0},c.invisModeOn=!LJ.Flags.isEnabled("reactions")||!c.getIsOfAllowedType();var d=LJ.Flags.isEnabled("reactions_req");c.directiveID=Math.round((new Date).getTime()+Math.random());var m=function(e){c.curReactionID=e,c.reactionObj=r.getReactionByID(e);var t=c.reactionObj;return t?(c.reactionCaption=t.tag,c.reactionSVGIcon=t.icon,void(c.isReaction=!0)):(c.reactionCaption=r.EMPTY_REACTION_CAPTION,c.reactionSVGIcon=r.EMPTY_REACTION_ICON_NAME,void(c.isReaction=!1))},I=void 0;c.mouseEnterHandler=function(){var n=!c.getIsOfAllowedType();s||n||(c.timer=Date.now(),t.cancel(I),I=t(function(){r.requestReactionPickerShow(_extends({},u,{anchorNode:e.find(".js--concrete-react-btn")[0]||e[0]}))},l))},c.resetTimer=function(){t.cancel(I)},e.on("mouseleave",function(){LJ.Event.trigger("likeReaction::userReact::mouseleave")}),e.on("mouseenter",function(){LJ.Event.trigger("likeReaction::userReact::mouseenter")}),c.requestReactionSet=function(e){var t={reactionID:e,journalID:""+u.journalID,postID:""+u.postID,likeableType:u.likeableType};"comment"===u.likeableType&&(t.commentID=""+u.commentID),r.requestReactionSet(t)};var p=function(){var e=c.reactionObj;e?(c.requestReactionSet(null),c.showToolbar=!1):c.requestReactionSet(r.DEFAULT_REACTION_ID)};c.onAnchorClick=function(t){if(t.preventDefault(),t.stopPropagation(),s){var n=r.getRectioPickerState(),o=!n.anchorNode||n.anchorNode===e[0];return void(!n.isShown&&o?r.requestReactionPickerShow(_extends({},u,{anchorNode:e[0]})):o?(p(),r.requestReactionPickerHide()):(r.requestReactionPickerHide(),r.requestReactionPickerShow(_extends({},u,{anchorNode:e[0]}))))}LJ.Event.emit("likeReaction::userReactionSelect",_extends({source:"captionReact"},u)),p()},LJ.Event.on("likeReaction::change",function(e){u.likeableType===e.likeableType&&("comment"===u.likeableType&&""+e.commentID!=""+u.commentID||""+e.postID==""+u.postID&&""+e.journalID==""+u.journalID&&angular.isObject(e.reactionData)&&t(function(){m(e.reactionData.userReactionID)}))}),i.$watch(function(){var e=i.batchParams||{};return((i.postID||"")+" "+(i.commentID||"")+" "+(e.postID||"")+" "+(e.commentID||"")).trim()},function(e,t){e&&(e===t&&u.postID||d&&(u=r.rereadDirParams(i),c.invisModeOn=!LJ.Flags.isEnabled("reactions")||!c.getIsOfAllowedType(),r.getData(u).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];m(e.userReactionID)})))})}t.$inject=["$element","$timeout","$document","$window","likeReactionService","$scope"],LJ.define("LJ.LikeReaction.UserReact"),angular.module("LJ.LikeReaction.UserReact",[]).directive("ngljLikeReact",e)}();
/* <<< file end: js/core/angular/components/likeReaction/userReact.js */
//# map link was there [userReact.js.map]
/* >>> file start: js/core/angular/components/likeReaction/stats.js */
Site.page.template['angular/components/NGLJLikeReactionStats.ng.tmpl'] = '<button\n type=\"button\"\n class=\"reaction-stats\"\n ng-show=\"likeReactionStats.getIsShown()\"\n ng-click=\"likeReactionStats.showReactionDetail()\"\n aria-label=\"List of reactions\"\n lj-ml=\"like_reaction.picker.aria_label.stats\"\n lj-ml-resolve=\"{count: likeReactionStats.count}\"\n lj-ml-dynamic=\"likeReactionStats.count\"\n lj-ml-attr=\"title\"\n ng-cloak\n>\n <ul class=\"reaction-stats__list\">\n <li\n class=\"reaction-stats__item\"\n ng-repeat=\"iconName in likeReactionStats.iconNames\"\n lj-svg-icon=\"{{likeReactionStats.getLJIcon(iconName)}}\"\n >\n </li>\n </ul>\n <span class=\"reaction-stats__count\" ng-bind=\"likeReactionStats.count\"></span>\n</button>';
//= require js/core/angular/components/likeReaction/main.js
//= require_ml like_reaction.picker.aria_label.stats
!function(t){return t}(),function(){function t(){return{scope:{batchParams:"=ngljLikeReactionStats",journalID:"@journalId",postID:"@postId",commentID:"@commentId",grayedIcons:"=grayedIcons"},templateUrl:"NGLJLikeReactionStats.ng.tmpl",controllerAs:"likeReactionStats",controller:n}}function n(t,n,e,o){var a=this,i=t;a.invisModeOn=!LJ.Flags.isEnabled("reactions");var r=LJ.Flags.isEnabled("reactions_req"),c={};a.getIsOfAllowedType=function(){return"post"===c.likeableType?LJ.Flags.isEnabled("reactions_post"):!0},a.getIsShown=function(){var t=a.getIsOfAllowedType();return t&&!a.invisModeOn&&a.count},a.getLJIcon=function(t){return n.grayedIcons?"reaction--gray-"+t:"reaction--"+t};var s=function(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=n.groups.map(function(t,n){return{sum:t,group:n}}).filter(function(t){return t.sum}).sort(function(t,n){return n.sum-t.sum}).slice(0,3),o=e.reduce(function(n,e){return n.push(t.getReactionByID(e.group).icon||""),n},[]);return{count:n.groups.reduce(function(t,n){return t+n},0)||0,iconNames:o}},u=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=s(t.stats);a.count=n.count,a.iconNames=n.iconNames,e[0].dataset.reactionsCount=a.count};c=i.rereadDirParams(n),a.showReactionDetail=function(){i.showReactionDetail(c)};var l=function(){c=i.rereadDirParams(n),a.likeableType=c.likeableType,r&&i.getData(c).then(function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return t.stats?void o(function(){u(t)}):void console.log("Was not able to get statistics data for `like-reaction-stats` configured with params",c)})};n.$watch(function(){var t=n.batchParams||{};return((n.postID||"")+" "+(n.commentID||"")+" "+(t.postID||"")+" "+(t.commentID||"")).trim()},function(t,n){t&&(t===n&&c.postID||l())}),LJ.Event.on("likeReaction::change",function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(c.journalID+""==t.journalID+""&&c.postID+""==t.postID+""&&c.commentID+""==t.commentID+""){var n=t.reactionData;o(function(){u(n)})}}),l()}n.$inject=["likeReactionService","$scope","$element","$timeout"],angular.module("LJ.LikeReaction.Stats",["LJ.LikeReaction","LJ.Api"]).directive("ngljLikeReactionStats",t)}();
/* <<< file end: js/core/angular/components/likeReaction/stats.js */
//# map link was there [stats.js.map]
/* >>> file start: js/core/angular/components/likeReaction/detailPopup.js */
//= require js/core/angular/components/likeReaction/main.js
Site.page.template['angular/components/NGLJReactionDetail.ng.tmpl'] = '<div\n class=\"reaction-popup\"\n ng-class=\"{\'reaction-popup--active\': reactionDetail.getIsVisible()}\"\n ng-show=\"reactionDetail.getIsVisible()\"\n>\n <div class=\"basepopup js--detail-popup\">\n <div class=\"basepopup__group\">\n <div class=\"basepopup__title\" lj-ml=\"like_reaction.detail_popup.title\"></div>\n <div class=\"basepopup__content\">\n <div class=\"reaction-tabs\">\n <ul class=\"reaction-tabs__list\" ng-if=\"!reactionDetail.loading\">\n <li\n class=\"reaction-tabs__item\"\n ng-class=\"{\'reaction-tabs__item--active\': reactionDetail.activeTabID === null}\"\n ng-click=\"reactionDetail.setTab(null)\"\n >\n <label class=\"reaction-tabs__label\">\n <input class=\"reaction-tabs__input\" type=\"radio\" name=\"reaction-tabs\" ng-first-reaction-tab checked>\n <span\n lj-ml=\"like_reaction.detail_popup.all\"\n lj-ml-resolve=\"{count: reactionDetail.detailTabs.totalCount}\"\n lj-ml-dynamic=\"reactionDetail.detailTabs.totalCount\"\n ></span>\n </label>\n </li>\n <li\n class=\"reaction-tabs__item\"\n ng-class=\"{\'reaction-tabs__item--active\': tab.group === reactionDetail.activeTabID}\"\n ng-click=\"reactionDetail.setTab(tab)\"\n ng-repeat=\"tab in reactionDetail.detailTabs.reactionsGroups\"\n >\n <label class=\"reaction-tabs__label\">\n <input class=\"reaction-tabs__input\" type=\"radio\" name=\"reaction-tabs\" aria-label=\"{{tab.svgIcon}}\">\n <span\n class=\"reaction-tabs__icon\"\n ng-class=\"tab.svgIcon && \'reaction-tabs__icon--\' + tab.svgIcon\"\n lj-svg-icon=\"reaction--{{tab.svgIcon}}\"\n ></span>\n <span>{{tab.sum}}</span>\n </label>\n </li>\n </ul>\n </div>\n <div class=\"reaction-details\">\n <ul class=\"reaction-details__list\" ng-if=\"!reactionDetail.loading\">\n <li class=\"reaction-details__item\" ng-repeat=\"user in reactionDetail.userList\">\n <div class=\"reaction-details__user\">\n <a class=\"reaction-details__userpic\" ng-href=\'{{user.profile_url}}\'>\n <img src=\"{{user.userpic}}\" ng-src=\"{{user.userpic || reactionDetail.DEFAULT_PIC_URL}}\" alt=\"\" />\n <span\n class=\"reaction-details__user-reaction\"\n ng-class=\"reactionDetail.getReaction(user.reaction_type) && \'reaction-details__user-reaction--\' + reactionDetail.getReaction(user.reaction_type)\"\n lj-svg-icon=\"reaction--{{reactionDetail.getReaction(user.reaction_type)}}\"\n ></span>\n </a>\n <a class=\"reaction-details__userhead\" ng-href=\'{{user.profile_url}}\'>\n <img ng-src=\'{{user.userhead}}\' data-ljuser=\"{{user.username}}\" lj:user=\"{{user.username}}\" alt=\"\" />\n </a>\n <a class=\"reaction-details__username\" ng-href=\'{{user.journal_url}}\'>{{user.username}}</a>\n </div>\n <button\n class=\"lightbutton\"\n type=\"button\"\n ng-show=\"isLoggedIn && !user.is_friend\"\n ng-click=\"reactionDetail.addFriend(user, $event)\"\n lj-ml=\"like_reaction.detail_popup.add_btn.add\"\n ></button>\n <button\n class=\"lightbutton\"\n type=\"button\"\n disabled-ng-click=\"reactionDetail.removeFriend(user, $event)\"\n ng-show=\"isLoggedIn && user.is_friend\"\n lj-ml=\"like_reaction.detail_popup.add_btn.is_added\"\n ></button>\n </li>\n </ul>\n </div>\n <div class=\"reaction-popup__loader svgpreloader svgpreloader-pseudo svgpreloader-30\" ng-show=\"reactionDetail.loading\"></div>\n </div>\n </div>\n <button\n class=\"basepopup__close\"\n type=\"button\"\n ng-click=\"reactionDetail.closePopup()\"\n lj-svg-icon=\"flaticon--cross\"\n lj-svg-class=\"basepopup__close-icon\"\n >\n <span class=\"basepopup__close-text\" lj-ml=\"like_reaction.detail_popup.button.close\"></span>\n </button>\n </div>\n</div>';
//= require_ml like_reaction.detail_popup.add_btn.add
//= require_ml like_reaction.detail_popup.add_btn.is_added
//= require_ml like_reaction.detail_popup.all
//= require_ml like_reaction.detail_popup.button.close
//= require_ml like_reaction.detail_popup.title
!function(e){return e}(),function(){function e(){return{scope:{params:"=ngljReactionDetail"},templateUrl:"NGLJReactionDetail.ng.tmpl",controllerAs:"reactionDetail",controller:i}}function t(e){return{restrict:"A",link:function(t,i,n){e(function(){var e=angular.element(".switcher__radio")[0];e&&e.focus()})}}}function i(e,t,i,n,a,r){t.isLoggedIn=!!LJ.get("remote");var s=this,c=e;c.rereadDirParams(t);s.getIsVisible=function(){return t.params.isVisible},s.DEFAULT_PIC_URL="https://www.livejournal.com/img/userpics/userpic-user.png",s.closePopup=function(){t.params.isVisible=!1},s.setTab=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];s.activeTabID=e?e.group:null,s.userList=null===s.activeTabID?s.userCache:s.userCache.filter(function(e){return e.type===s.activeTabID})},s.getReaction=function(e){return(c.getReactionByID(e)||{}).icon},s.removeFriend=function(e,t){t.preventDefault(),n.call("relations.removefriend",{target:e.username},{silent:!0}).then(function(){e.is_friend=!1})},s.addFriend=function(e,t){t.preventDefault(),n.call("relations.addfriend",{target:e.username},{silent:!0}).then(function(){e.is_friend=!0})};var o=!1,l=a.find(".b-fader");t.$watch("params.isVisible",function(e){e&&(s.loading=!0,l.show(),c.requestDetailReactionList(t.params).then(function(e){s.activeTabID=null,s.detailTabs=e.stats||{},s.userCache=e.userList,s.userList=e.userList,s.loading=!1})),!e&&o&&l.hide(),o=!!e}),r.on("click",function(e){e.target.closest(".js--detail-popup")||(e.preventDefault(),t.params.isVisible=!1,t.$digest())})}t.$inject=["$timeout"],i.$inject=["likeReactionService","$scope","$timeout","Api","$document","$element"],angular.module("LJ.ReactionDetail",["LJ.LikeReaction"]).directive("ngljReactionDetail",e).directive("ngFirstReactionTab",t)}();
/* <<< file end: js/core/angular/components/likeReaction/detailPopup.js */
//# map link was there [detailPopup.js.map]
/* >>> file start: js/core/angular/components/likeReaction/reactionPicker.js */
var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};
Site.page.template['angular/components/reactionPicker.ng.tmpl'] = '<div\n class=\"reaction-picker js-reaction-picker\"\n ng-show=\"reactionPicker.getIsShown()\"\n ng-cloak\n>\n <ul class=\"reaction-picker__list\">\n <li\n class=\"reaction-picker__item\"\n ng-repeat=\"reactionConfig in reactionPicker.reactionConfigs\"\n ng-click=\"reactionPicker.onReactionClick(reactionConfig, $event)\"\n >\n <label class=\"reaction-picker__label\">\n <input\n class=\"reaction-picker__input\"\n type=\"radio\"\n name=\"reactions\"\n lj-ml=\"like_reaction.picker.aria_label.reaction\"\n lj-ml-resolve=\"{reaction: reactionConfig.tag}\"\n lj-ml-attr=\"aria-label\"\n >\n <span\n class=\"reaction-picker__icon reaction-picker__icon--{{reactionConfig.icon}}\"\n lj-svg-icon=\"reaction--{{reactionConfig.icon}}\">\n </span>\n <span class=\"reaction-picker__hint\">{{reactionConfig.tag}}</span>\n </label>\n </li>\n </ul>\n <span\n class=\"reaction-picker__arrow reaction-picker__arrow--{{reactionPicker.arrowOptions.position}}\"\n ng-style=\"{left: reactionPicker.arrowOptions.offset}\"\n lj-svg-icon=\"flaticon--arrow-flex\"\n ></span>\n</div>\n';
//= require js/core/angular/components/likeReaction/main.js
//= require_ml like_reaction.picker.aria_label.reaction
!function(e){return e}(),function(){function e(){return{scope:{params:"=ngljReactionPicker"},templateUrl:"reactionPicker.ng.tmpl",controllerAs:"reactionPicker",controller:t}}function t(e,t,n,i,o,r){var c=this,a=e;c.arrowOptions={position:"bottom",offset:-23},LJ.Misc.shownPopups.reactionPicker=_extends({},LJ.Misc.shownPopups.reactionPicker,{hideAction:function(){t.params.isShown=!1,this.visible=!1,t.$digest()}}),c.getIsShown=function(){return t.params.isShown},o.on("click",function(e){var i=angular.element(e.target);i.closest(n)[0]||(t.params.isShown=!1,LJ.Misc.shownPopups.reactionPicker.visible=!1,t.$digest())}),c.reactionConfigs=a.getReactionConfigs({likeableType:"comment"});var s=void 0,l=function(){i.cancel(s),s=i(function(){t.params.isShown=!1,LJ.Misc.shownPopups.reactionPicker.visible=!1,t.$digest()},2e3)};n.on("mouseleave",function(){LJ.Event.trigger("reactions::picker::pointerLeave"),l()}),LJ.Event.on("likeReaction::userReact::mouseleave",function(){l()}),n.on("mouseenter",function(){LJ.Event.trigger("reactions::picker::pointerEnter"),i.cancel(s)}),LJ.Event.on("likeReaction::userReact::mouseenter",function(){i.cancel(s)});var u=!1,p=function(){u=!0;var e=_extends({},t.params.anchorRect);e.right=e.left+e.width,e.bottom=e.top+e.height;var i=n.find(".js-reaction-picker"),a=-13,s=282,l=r.innerWidth;LJ.Support.browser.safari&&(l=o[0].documentElement.clientWidth);var p={left:e.left,right:l-e.right},f=0,h={left:(s-e.width)/2};h.right=h.left+20,p.left<h.left?f=h.left-p.left:p.right<h.right&&(f=p.right-h.right),i.css({left:e.left+e.width/2-s/2+f+"px"}),c.arrowOptions.offset=a+s/2-f;var m=o[0].body.getBoundingClientRect(),v=e.top+m.top,d=e.top;67>v?(d+=41,c.arrowOptions.position="top"):(d+=-66,c.arrowOptions.position="bottom"),i.css({top:d+"px"})};t.$watch(function(){var e=t.params.anchorRect;return e.left+" "+e.top+" "+e.width+" "+e.height},function(e,t){e===t&&u||p()});var f=LJ.Function.debounce(function(){p(),t.$digest()},300);r.addEventListener("scroll",function(){f()}),c.requestReactionSet=function(e){var n=_extends({},t.params),i={reactionID:e,journalID:""+n.journalID,postID:""+n.postID};n.commentID?(i.commentID=""+n.commentID,i.likeableType="comment"):i.likeableType="post",a.requestReactionSet(i),a.requestReactionPickerHide()},c.onReactionClick=function(e,n){n.preventDefault(),n.stopPropagation();var i=e.id;a.getData(t.params).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.userReactionID;return i===n?void c.requestReactionSet(null):(LJ.Event.emit("likeReaction::userReactionSelect",_extends({source:"reactionPicker",reactionID:i},t.params)),void c.requestReactionSet(i))})},LJ.Event.on("reaction::pickerRenderReq",function(){p(),t.$digest()})}t.$inject=["likeReactionService","$scope","$element","$timeout","$document","$window"],angular.module("LJ.LikeReaction.ReactionPicker",["LJ.LikeReaction","LJ.Api"]).directive("ngljReactionPicker",e),LJ.define("LJ.Misc.shownPopups")}();
/* <<< file end: js/core/angular/components/likeReaction/reactionPicker.js */
//# map link was there [reactionPicker.js.map]
/* >>> file start: js/node_modules/whatwg-fetch/fetch.js */
!function(t){"use strict";function e(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function r(t){return"string"!=typeof t&&(t=String(t)),t}function o(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return y.iterable&&(e[Symbol.iterator]=function(){return e}),e}function n(t){this.map={},t instanceof n?t.forEach(function(t,e){this.append(e,t)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function s(t){return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function i(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function a(t){var e=new FileReader;return e.readAsArrayBuffer(t),i(e)}function h(t){var e=new FileReader;return e.readAsText(t),i(e)}function u(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,"string"==typeof t)this._bodyText=t;else if(y.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(y.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(y.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else if(t){if(!y.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t))throw new Error("unsupported BodyInit type")}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):y.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},y.blob?(this.blob=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(a)},this.text=function(){var t=s(this);if(t)return t;if(this._bodyBlob)return h(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)}):this.text=function(){var t=s(this);return t?t:Promise.resolve(this._bodyText)},y.formData&&(this.formData=function(){return this.text().then(p)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(t){var e=t.toUpperCase();return b.indexOf(e)>-1?e:t}function d(t,e){e=e||{};var r=e.body;if(d.prototype.isPrototypeOf(t)){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new n(t.headers)),this.method=t.method,this.mode=t.mode,r||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=t;if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new n(e.headers)),this.method=f(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function p(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}}),e}function c(t){var e=new n,r=(t.getAllResponseHeaders()||"").trim().split("\n");return r.forEach(function(t){var r=t.trim().split(":"),o=r.shift().trim(),n=r.join(":").trim();e.append(o,n)}),e}function l(t,e){e||(e={}),this.type="default",this.status=e.status,this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText,this.headers=e.headers instanceof n?e.headers:new n(e.headers),this.url=e.url||"",this._initBody(t)}if(!t.fetch){var y={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};n.prototype.append=function(t,o){t=e(t),o=r(o);var n=this.map[t];n||(n=[],this.map[t]=n),n.push(o)},n.prototype["delete"]=function(t){delete this.map[e(t)]},n.prototype.get=function(t){var r=this.map[e(t)];return r?r[0]:null},n.prototype.getAll=function(t){return this.map[e(t)]||[]},n.prototype.has=function(t){return this.map.hasOwnProperty(e(t))},n.prototype.set=function(t,o){this.map[e(t)]=[r(o)]},n.prototype.forEach=function(t,e){Object.getOwnPropertyNames(this.map).forEach(function(r){this.map[r].forEach(function(o){t.call(e,o,r,this)},this)},this)},n.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),o(t)},n.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),o(t)},n.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),o(t)},y.iterable&&(n.prototype[Symbol.iterator]=n.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];d.prototype.clone=function(){return new d(this)},u.call(d.prototype),u.call(l.prototype),l.prototype.clone=function(){return new l(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new n(this.headers),url:this.url})},l.error=function(){var t=new l(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];l.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new l(null,{status:e,headers:{location:t}})},t.Headers=n,t.Request=d,t.Response=l,t.fetch=function(t,e){return new Promise(function(r,o){function n(){return"responseURL"in i?i.responseURL:/^X-Request-URL:/m.test(i.getAllResponseHeaders())?i.getResponseHeader("X-Request-URL"):void 0}var s;s=d.prototype.isPrototypeOf(t)&&!e?t:new d(t,e);var i=new XMLHttpRequest;i.onload=function(){var t={status:i.status,statusText:i.statusText,headers:c(i),url:n()},e="response"in i?i.response:i.responseText;r(new l(e,t))},i.onerror=function(){o(new TypeError("Network request failed"))},i.ontimeout=function(){o(new TypeError("Network request failed"))},i.open(s.method,s.url,!0),"include"===s.credentials&&(i.withCredentials=!0),"responseType"in i&&y.blob&&(i.responseType="blob"),s.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),i.send("undefined"==typeof s._bodyInit?null:s._bodyInit)})},t.fetch.polyfill=!0}}("undefined"!=typeof self?self:this);
/* <<< file end: js/node_modules/whatwg-fetch/fetch.js */
//# map link was there [fetch.js.map]
/* >>> file start: js/misc/mocks/likeReaction.js */
function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};
//= require js/core/angular/components/likeReaction/config.js
!function(){LJ.define("LJ.LikeReaction");var e=function(){var e={},t={journal:123,item:321,thread:0,uniq:"123-321-0",count:12,groups:[2,1,0,0,0,22,0,0,0,0],liked:!0,type:1},r=function(e,t){return Math.floor(Math.random()*(++t-e)+e)},i=function(){var i=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return new Promise(function(n){var a=i.entities;a=angular.isArray(a)?a:[a],setTimeout(function(){var i=a.map(function(i){var n=i.thread||i.item;if(n in e)return e[n];var a=LJ.LikeReaction.REACTIONS_CONFIG.length,o=Array(a).fill(0);if(Math.random()>.66)o=o.map(function(){return r(1,6)});else if(Math.random()>.5){var l=Math.floor(Math.random()*a);o[l]=r(1,6)}else if(Math.random()>.5){var l=Math.floor(Math.random()*a);o[l]=r(1,6),l=Math.floor(Math.random()*a),o[l]=r(1,6)}var s=_extends({},t,{item:i.item,groups:o,count:o.reduce(function(e,t){return e+t},0),liked:!1});return i.thread&&(s.thread=i.thread),e=_extends({},e,_defineProperty({},n,_extends({},s))),s});n({result:i})})})},n=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return new Promise(function(r){var i=t.thread||t.item,n=e[i],a=1===t.mark;if(n.liked&&(n.liked=!1,n.groups[n.type]-=1,n.count-=1),!a){var o=t.type;n.liked=!0,n.groups[o]+=1,n.count+=1,n.type=o}r({result:_extends({},n)})})},a=function(t){return new Promise(function(i,n){var a=["linelaborer","tricklehole","twistkyiv","cousinmutual","strickenmystery","rockpogs","afrikamou","legalbatross","oceanmorris","royalmistle","forestenjoin","tusclenanosecond","asteroidsbay","faxlicking","surgeryhaughing","monsieuricterine","johnsonminka","pairrosy","mashedpug","smantswildness","valuecancer","boileropie","escapeallianz","highfurlongclang","geologicspyers","musclegayle","theftautumn","doleritevole","planlutetium","cuboidpractice","waketropical","graveljaipur","lightcommunication","vantagetyres","visitingzipping","harnessreflex","beatneodymium","grabostrich","buzzreddit","uneasilyshint","loolpiper","dartgummy","failingbelts","wintercarrot","britainsavage","zebradress","reamara","covalentbledge","wayturn","heartpulsetomorrow","rewindantiquely","clarinetanvil","pastebinrebound","glueanguished","covenflite","revokecry","untiemomentum","intgas","octopusconfused","harveyanderson","regresspalm","carnationspiritism","shelburneblanching","blondieduplicity"],o=["https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/154999/154999_original.jpg","https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/154137/154137_original.jpg","https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/154476/154476_original.jpg","https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/154671/154671_original.jpg","https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/153449/153449_original.jpg","https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/153624/153624_original.jpg","https://ic.pics.lj-04.dev.lj.rambler.tech/test/84/153104/153104_original.jpg"],l=t.thread||t.item,s=e[l],u=[];s.groups.map(function(e,t){return e?Array(e).fill(1).map(function(){var e=r(1,20);u.push({type:t,id:e,username:a[r(0,a.length-1)],userpic:o[r(0,o.length-1)],title:"Только крокодилы спасут эту страну от мудаков!",userhead:"https://l-files.livejournal.net/userhead/1512?v=1416213861",is_friend:r(0,1)})}):void 0},[]),i({result:u})})};return function(e,t){return"likes.create"===e?n(t):"likes.get_likes"===e?i(t):"likes.get_user_list"===e?a(t):void 0}}();LJ.LikeReaction.mockCallApi=e}();
/* <<< file end: js/misc/mocks/likeReaction.js */
//# map link was there [likeReaction.js.map]
/* >>> file start: js/core/angular/components/likeReaction/main.js */
function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};
//= require js/core/angular/components/likeReaction/config.js
//= require js/core/angular/components/likeReaction/pageConfig.js
//= require js/core/angular/components/likeReaction/userReact.js
//= require js/core/angular/components/likeReaction/stats.js
//= require js/core/angular/components/likeReaction/detailPopup.js
//= require js/core/angular/components/likeReaction/reactionPicker.js
//= require js/node_modules/whatwg-fetch/fetch.js
//= require js/misc/mocks/likeReaction.js
!function(e){return e}(),function(){function e(e,r,a,c,l,u,s,m){var d=s;d.callGetLikesRaw=function(e){var t=e.map(function(e){var t=!!e.thread,n={item:+e.item,journal:+e.journal};return t&&(n.thread=+e.thread),n.uniq=n.journal+"-"+n.item,n}),n=LJ.get("likesprefix");return fetch(n,{method:"POST",body:angular.toJson({mode:0,items:t})}).then(function(e){return e.json()})},u.search().mockLikeAPI&&(d={call:LJ.LikeReaction.mockCallApi,callGetLikesRaw:function(e){return LJ.LikeReaction.mockCallApi("likes.get_likes",{entities:e}).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return e.result||[]})}});var p={};p.randomIdentity=Math.random(),p.reactionDataStore={comment:{},post:{}},p.DEFAULT_REACTION_ID=0,p.EMPTY_REACTION_CAPTION=n[0].tag,p.EMPTY_REACTION_ICON_NAME=n[0].icon,p.getReactionByID=function(e){return n.find(function(t){return t.id===e})};var v=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.commentID,n=e.postID,i=!!t;return i?p.reactionDataStore.comment[t]:p.reactionDataStore.post[n]},D=function(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];e.map(function(e){var t=e.item,n=e.thread,i=!!n,o=i?"comment":"post",r=i?n:t,a=_extends({},e,{stats:e});e.liked?a.userReactionID=e.type:delete a.userReactionID,p.reactionDataStore[o]=_extends({},p.reactionDataStore[o],_defineProperty({},r,a));var c={commentID:n||"",journalID:e.journal,likeableType:o,postID:t,reactionData:{stats:_extends({},e)}};e.liked&&(c.reactionData.userReactionID=e.type),LJ.Event.emit("likeReaction::change",c)})},f=[],I=function(e){var t=e.servEntities,n=e.dataGetParams,i=e.rawCall,o=void 0,a=f.find(function(e){return"throttled"===e.status});if(a&&(o=a),o){var c=o.entities.find(function(e){return angular.equals(e,t[0])});if(c)return o.promise.then(function(){return v(n)});o.entities=o.entities.concat(t),r.cancel(o.tempPromise)}else o={entities:angular.copy(t),status:"throttled"},o.promise=l(function(e){o.resolvePromise=e}),f.push(o);var u=150;return o.entities.length>10&&(u=1200),o.tempPromise=r(function(){o.status="pending";var e=void 0;return e=i?d.callGetLikesRaw(o.entities):d.call("likes.get_likes",{entities:o.entities},{silent:LJ.LikeReaction.PageConfig.silentServCalls}).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return e.result||[]}),e.then(function(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];D(e),f=f.filter(function(e){return e!==o}),o.resolvePromise()})},u),o.promise.then(function(){return v(n)})};p.getData=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(angular.isArray(e))return l.all(e.map(function(e){return p.getData(e)}));if(!o)return l.reject();var t=v(e);if(t&&!e.ignoreCache)return Promise.resolve(t);var n=angular.isArray(e)?e:[e];n=n.map(function(e){var t={item:e.postID+"",journal:e.journalID+""};return e.commentID&&(t.thread=e.commentID+""),t});var r=f.find(function(e){return angular.equals(e.entities,n)});return r?r.promise.then(function(){return v(e)}):I({dataGetParams:e,pendingDataGetters:f,servEntities:n,rawCall:!i})},p.getReactionConfigs=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.likeableType;return n.filter(function(e){return e.likeableTypes.includes(t)})},p.requestReactionSet=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t={journal:e.journalID,item:e.postID};e.reactionID||""+e.reactionID=="0"?(t.mark=0,t.type=e.reactionID):(t.mark=1,e.commentID&&(t.type=p.reactionDataStore.comment[e.commentID].type)),e.commentID&&(t.thread=e.commentID),d.call("likes.create",t).then(function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.result;D([n]);var i=void 0;e.commentID?(i=p.reactionDataStore.comment[e.commentID]||{},p.reactionDataStore.comment[e.commentID]=i):(i=p.reactionDataStore.post[e.postID]||{},p.reactionDataStore.post[e.postID]=i),n.liked||(i.userReactionID=n.like_type);var o=_extends({},e,{reactionData:i});LJ.Event.emit("likeReaction::change",o)})},p.buildDirective=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.targetNode,i=t.directiveType,o=void 0===i?"action":i,a=t.likeableType,l=void 0===a?"post":a,u=t.interactive,s=void 0===u?!0:u,m=t.postID,d=void 0===m?LJ.get("entry.ditemid"):m,p=t.journalID,v=void 0===p?LJ.get("journal.id"):p;if(n&&n.setAttribute&&d&&v&&("comment"!==l||t.commentID)){var D=e.$new();D.params={likeableType:l,postID:d,journalID:v,interactive:s},"comment"===l&&(D.params.commentID=t.commentID);var f=void 0;"action"===o&&(f="nglj-like-react"),"stats"===o&&(f="nglj-like-reaction-stats"),f&&!n.hasAttribute(f)&&(n.setAttribute(f,"params"),c(n)(D),r(function(){}))}},p.rereadDirParams=function(e){var t={journalID:e.journalID,postID:e.postID};return e.commentID&&(t.commentID=e.commentID),e.likeableType&&(t.likeableType=e.likeableType),t=_extends({},t,e.batchParams||{}),t.likeableType||(t.commentID?t.likeableType="comment":t.likeableType="post"),t},p.requestDetailReactionList=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t={journal:e.journalID,item:e.postID};e.commentID&&(t.thread=e.commentID),e.reactionID?t.type=e.reactionID:t.type="all",e.ignoreCache=!0;var i=p.getData(e).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=(e.groups||[]).slice(0,n.length).map(function(e,t){var n=p.getReactionByID(t);return!n||n.disabled?{}:{sum:e,group:t,svgIcon:n.icon||""}}).filter(function(e){return e&&e.sum}).sort(function(e,t){return t.sum-e.sum});return{totalCount:e.count||0,reactionsGroups:t}}),o=[i,d.call("likes.get_user_list",t)];return l.all(o).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return{stats:e[0],userList:(e[1]||{}).result}})};var g=function(t,n){var i=angular.element("["+t+"]")[0],o=!!i,r=angular.element("[ng-app]");if(!o){var a=angular.element("<div "+t+'="params"></div>');angular.element("body").append(a);var l=e.$new();if(l.params=n,a.parents("[ng-app]").length)c(a)(l);else if(r){var u=r.injector();u.invoke(["$compile",function(e){e(a)(l)}])}}},h={};p.showReactionDetail=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];h.commentID=e.commentID,h.postID=e.postID,h.journalID=e.journalID,h.isVisible=!0,g("nglj-reaction-detail",h)};var k={};return p.requestReactionPickerShow=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(e.journalID&&e.postID&&e.anchorNode){k.journalID=e.journalID,k.postID=e.postID,k.commentID=e.commentID;var t=a[0].body.getBoundingClientRect(),n=e.anchorNode.getBoundingClientRect(),i={left:n.left-t.left,top:n.top-t.top,width:n.width,height:n.height};k.anchorRect=i,k.anchorNode=e.anchorNode,k.isShown=!0,LJ.define("LJ.Misc.shownPopups.reactionPicker"),LJ.Misc.shownPopups.reactionPicker=_extends({},LJ.Misc.shownPopups.reactionPicker||{},{visible:!0,anchorNode:e.anchorNode}),g("nglj-reaction-picker",k)}},m.addEventListener("resize",LJ.Function.debounce(function(){k.isShown&&(p.requestReactionPickerShow(k),LJ.Event.trigger("reaction::pickerRenderReq"))},300)),p.getRectioPickerState=function(){return k},p.requestReactionPickerHide=function(){k.isShown=!1,LJ.Misc.shownPopups.reactionPicker.visible=!1},LJ.LikeReaction=_extends({},LJ.LikeReaction,p),t(LJ.LikeReaction),p}e.$inject=["$rootScope","$timeout","$document","$compile","$q","$location","Api","$window"],LJ.define("LJ.LikeReaction"),LJ.define("LJ.Misc.shownPopups");var t=void 0;LJ.LikeReaction.APIReady=new Promise(function(e){t=e}),LJ.LikeReaction.buildDirective=function(e){return LJ.LikeReaction.APIReady.then(function(){return LJ.LikeReaction.buildDirective(e)})},angular.module("LJ.LikeReaction",["LJ.LikeReaction.UserReact","LJ.LikeReaction.ReactionPicker","LJ.LikeReaction.Stats","LJ.ReactionDetail","LJ.Api"]).factory("likeReactionService",e);var n=LJ.LikeReaction.REACTIONS_CONFIG,i=!!LJ.get("remote"),o=LJ.Flags.isEnabled("reactions_req")}();
/* <<< file end: js/core/angular/components/likeReaction/main.js */
//# map link was there [main.js.map]
/* >>> file start: js/widgets/likus.js */
function _defineProperty(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var _extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e};
//= require js/core/angular/ljUser.js
//= require js/core/angular/api.js
//= require js/core/angular/bubble.js
Site.page.template['angular/widgets/likus/likusMain.ng.tmpl'] = '<a\n class=\"ljlikus-button ljlikus--like\"\n ng-class=\"{\'ljlikus--like-active\': likus.liked}\"\n ng-href=\"#\"\n ng-click=\"likus.vote($event)\"\n ng-if=\"likus.show && !likus.link\"\n ><span class=\"ljlikus-icon\" lj-svg-icon=\"flaticon--like\"></span></a>\n<a\n class=\"ljlikus-action\"\n ng-href=\"#\"\n ng-if=\"likus.show && likus.count && !likus.link\"\n ng-click=\"likus.countClick($event)\"\n ng-mouseover=\"likus.countHover($event)\"\n ><span class=\"ljlikus-counter\">{{likus.formattedCount || likus.count}}</span></a>\n\n<!-- no actions, link -->\n<a\n class=\"ljlikus--like ljlikus-no-action\"\n ng-href=\"{{likus.link}}\"\n ng-if=\"likus.show && likus.noActions && likus.link\"\n target=\"{{ likus.linkTarget }}\"\n >\n <span class=\"ljlikus-icon\" lj-svg-icon=\"flaticon--like\"></span>\n <span\n class=\"ljlikus-counter\"\n ng-if=\"likus.show && likus.link && likus.count\"\n >{{likus.formattedCount || likus.count}}</span>\n</a>\n';
Site.page.template['angular/widgets/likus/likusUsers.ng.tmpl'] = '<ul class=\"ljlikus-list\">\n <li class=\"ljlikus__item\" ng-repeat=\"user in users.slice(0, 5)\">\n <span lj-user-by-id=\"user\" lj-user-by-id-options=\"{ noctxpopup: true }\" />\n </li>\n <li\n ng-if=\"count > 5\"\n class=\"ljlikus__item ljlikus--more\"\n >\n <a href=\"#\" class=\"ljlikus__item--more\" ng-click=\"more($event)\">\n <span lj-ml=\"likus.users.add_more\" lj-ml-resolve=\"{count: count - 5}\" />\n </a>\n </li>\n</ul>\n';
Site.page.template['angular/widgets/likus/likusBubble.ng.tmpl'] = '<!-- Bubble -->\n<div class=\"ljlikus-bubble\">\n\n <!-- header -->\n <header class=\"ljlikus-bubble__header\">\n <span class=\"ljlikus-bubble__title\" lj-ml=\"likus.users.title\"></span>\n <span class=\"ljlikus-counter\">{{likusBubble.count}}</span>\n <span\n class=\"ljlikus-bubble__close\"\n lj-svg-icon=\"flaticon--cross\"\n ng-click=\"likusBubble.close($event)\"\n ></span>\n </header> <!-- /header -->\n\n <!-- body -->\n <div class=\"ljlikus-bubble__body\">\n\n <!-- list -->\n <ul class=\"ljlikus-list ljlikus-list--full\">\n <li ng-repeat=\"user in likusBubble.users\" class=\"ljlikus__item\">\n <span class=\"ljlikus__item-userpic\">\n <img ng-src=\"{{likusBubble.getUserImage(user)}}\" alt=\"\" >\n </span>\n <div class=\"ljlikus__item-meta\">\n <span lj-html=\"user.entry_title\" />\n <p class=\"ljlikus__item-usertitle\">{{user.title}}</p>\n </div>\n <div class=\"ljlikus__friends-wrap\">\n <button class=\"ljlikus__friends\n ljlikus__friends--add\n flatbutton\n flatbutton--small\n flatbutton--neutral\"\n ng-class=\"{ \'ljlikus__friends--hide\': user.is_friend }\"\n ng-disabled=\"user.updating\"\n ng-click=\"likusBubble.toggleFriend(user, true)\"\n lj-ml=\"likus.users.add.friends\"\n ></button>\n <button class=\"ljlikus__friends\n ljlikus__friends--list\n flatbutton\n flatbutton--small\n flatbutton--neutral\"\n ng-class=\"{ \'ljlikus__friends--hide\': !user.is_friend }\"\n ng-disabled=\"user.updating\"\n ng-click=\"likusBubble.toggleFriend(user, false)\">\n <span class=\"ljlikus__friends--list-span\"\n lj-ml=\"likus.users.friend.list\"\n ></span>\n <span lj-ml=\"likus.users.friend.remove\"\n class=\"ljlikus__friends--remove\"\n ></span>\n </button>\n </div>\n </li>\n <li\n class=\"ljlikus__item ljlikus__item--more\"\n ng-if=\"likusBubble.hasMore\"\n >\n <a\n class=\"b-flatbutton b-flatbutton-simple\"\n href=\"#\"\n ng-click=\"likusBubble.loadMore($event)\"\n lj-ml=\"likus.users.show.more\"\n ></a><!--\n --></li>\n <li\n class=\"ljlikus__item ljlikus__item--loading\"\n ng-if=\"likusBubble.loading\"\n >\n <span class=\"svgpreloader-16 svgpreloader-tag\"></span>\n </li>\n </ul> <!-- /list -->\n\n </div> <!-- /body -->\n</div> <!-- /bubble -->\n';
//= require_ml likus.users.add_more
//= require_ml likus.users.sc
//= require_ml likus.users.add.friends
//= require_ml likus.users.friend.list
//= require_ml likus.users.friend.remove
//= require_ml likus.users.title
!function(){"use strict";function e(){return{scope:{noActions:"@ljLikusNoActions",count:"@ljLikusCount",medius:"@ljLikusMedius",journal:"@ljLikusJournal",item:"@ljLikusItem",token:"@ljLikusToken",uri:"@ljLikusUri",href:"@ljLikusHref",linkTarget:"@ljLikusLinkTarget"},templateUrl:"likusMain.ng.tmpl",controllerAs:"likus",controller:n}}function n(e,n,t,r,i,o,u,s){function l(e){e.preventDefault(),u.close("likus-users"),angular.isFunction(f)&&f(),o.showUsers(_extends({},d),{likes_signature:L})}function a(e){d={journal:e.journal,item:e.item,uniq:e.journal+"-"+e.item},p.count=parseInt(e.count)||0,p.liked=Boolean(e.liked),p.formattedCount=e.short_count,v||Promise.all(e.users.map(function(e){return s.prepareById(e)})).then(function(n){c=[].concat(e.users)})}var c,d,f,g,p=this,v=e.noActions||!1,k=parseInt(e.count)||0,m=e.medius,h=e.journal,j=e.item,b=e.uri||r.LJ.get("currentEntry"),L=e.token||r.LJ.get("likes_signature"),y=r.LJ.Flags.isEnabled("likes"),w=r.LJ.Flags.isEnabled("medius"),J=r.LJ.Flags.isEnabled("likes_display"),_=r.LJ.Flags.isDisabled("homepage_v3"),$=r.LJ.get("remote");angular.element("body");if(e.noActions&&e.href&&(v=e.href),!y)return void n.remove();if(_)return void n.remove();if(m&&!w&&"/"==location.pathname)return void n.remove();h&&j&&(d={journal:h,item:j,uniq:""+h+"-"+j}),!d&&b&&(d={uri:b,uniq:b});var A=void 0;A=angular.isDefined(k)?!0:!(!d||!L),A&&(J&&n.removeClass("lj-likus--hidden"),p.show=J,p.count=k,p.liked=!1,p.link=v,p.noActions=e.noActions,p.linkTarget=e.linkTarget,d&&L&&o.getVote(d,{token:L,type:v?"short":"full",count:k&&v?k:!1},a).then(a),p.vote=function(e){return e.preventDefault(),$?g?void i.log("You don't want to vote so quickly!"):(LJ.Event.emit("likeReaction::userReactionSelect",{source:"ljLikus",journalID:d.journal,postID:d.item,setsLike:!p.liked}),g=!0,void o.setVote(_extends({},d),{mark:+p.liked}).then(a).then(function(){g=!1},function(){g=!1})):void LJ.Util.Action.login(e)},p.users=function(n){var r=t.$new();r.users=c,r.count=this.count,r.more=l,f=u.register({name:"likus-users",template:"likusUsers.ng.tmpl",closeControl:!1,closeOnScroll:!0,autoClose:200,tryAsideIfNoHorizSpace:!0},r),u.open("likus-users",angular.element(n.currentTarget)),e.$on("bubble:close:likus-users",f)},p.countHover=function(e){return r.innerWidth<=650?void e.preventDefault():void p.users(e)},p.countClick=function(e){e.preventDefault(),r.innerWidth>650||p.users(e)})}function t(){return{scope:!0,templateUrl:"likusBubble.ng.tmpl",controllerAs:"likusBubble",controller:r}}function r(e,n,t,r){function i(){return t.showUsers()}function o(e){return e?(f.addClass(c),s.count=t.getCached(e),void u(e)):(f.removeClass(c),s.users=[],s.count=0,void(a=null))}function u(e){s.loading=!0,s.hasMore=!1,t.getUsers(e,{limit:l,lastid:a}).then(function(e){var n=e.res,t=e.count;s.count=t,s.loading=!1,a=(n[l-1]||{}).id,s.hasMore=!1,s.users=s.users.concat(s.lastid?n.slice(1):n)})}var s=this,l=100,a=null,c="ljlikus-bubble--full",d=n.LJ.Flags.isEnabled("likes"),f=angular.element("body");d&&(s.loading=!1,s.hasMore=!1,s.users=[],s.count=0,s.fader=angular.element(".b-fader"),s.fader.on("click",function(n){s.close(n),e.$apply()}),s.getUserImage=function(e){return e.userpic||LJ.get("siteroot")+"/img/userpics/userpic-user.png"},s.close=function(e){e&&e.preventDefault(),t.showUsers(!1)},s.loadMore=function(e){e.preventDefault(),u(t.showUsers())},s.toggleFriend=function(e,n){e.updating=!0,r.call(n?"relations.addfriend":"relations.removefriend",{target:e.username},{silent:!0}).then(function(){e.updating=!1,e.is_friend=n})},e.$watch(i,o))}function i(e){function n(n){return i[n]=i[n]||new Promise(function(t){var r=e.document.createElement("iframe");r.style.cssText="display: none; width: 0; height: 0; border: 0;",r.frameBorder=0,r.src=LJ.get("statprefix")+"/??plain/storage.html?key="+n+"&v="+LJ.get("v"),e.document.body.appendChild(r),r.onload=function(){t(r)}}),i[n]}function t(e,t){n(e).then(function(e){e.contentWindow.postMessage(angular.toJson(t),"*")})}function r(n,t){e.addEventListener("message",function(e){if(e.origin===LJ.get("statprefix")){var n=void 0;try{n=angular.fromJson(e.data||"{}")||{}}catch(r){n={}}t(n)}})}var i={};return{push:t,listen:r}}function o(e,n,t,r,i,o){function u(t,r,i){var o=n.defer(),u=r.token+"#"+r.type;if(r.count){var s=_extends({},t,{count:r.count,liked:!1,users:[]});return m[t.uniq]=r.count,f(s),g(t.uniq,i),o.resolve(s),o.promise}return k.hasOwnProperty(u)||(k[u]={},e(l.bind(null,u),50)),k[u][t.uniq]?k[u][t.uniq].listeners.push(i):k[u][t.uniq]={entity:t,params:r,listeners:[i],resolve:o.resolve,reject:o.reject},o.promise}function s(e,n){var t=_extends({},e,n);return i.call("likes.vote",t).then(function(e){return e.result?(m[t.uniq]=e.result.count,f([e.result]),e.result):(LJ.Messages.error("An error has occurred."),{})})}function l(e){var n=void 0,r=void 0,o=void 0,u=e.split("#")[0],s=e.split("#")[1];return k.hasOwnProperty(e)?(n=k[e],delete k[e],r=Object.keys(n).map(function(e){return n[e].entity}),o={entities:r,mode:"feed",type:s,likes_signature:u},void i.call("likes.get_votes",o,{silent:!0}).then(function(e){var r=e.result;return angular.isArray(r)?(f(r),void r.map(function(e){var t=n[e.uniq];m[e.uniq]=e.count,t&&g(e.journal+"-"+e.item,t.listeners),t&&t.resolve(e)})):void t.log("Unexpected response [getVotes / ljkus]")})):void t.log("Unhandled error [getVotes / ljkus]")}function a(e){return m[e.uniq]||0}function c(e,n){var t=_extends({},e,n);return i.call("likes.get_users",t).then(function(n){return f([{count:n.count,item:e.item,journal:e.journal}]),{res:n.result,count:n.count}})}function d(e,n){return angular.isDefined(e)&&!e&&(h=!1),angular.isObject(e)&&(h=_extends({},e,n)),h}function f(e){if(!angular.isArray(e))return[];var n=Object.values(b).filter(function(e){return e&&e.expire>(new Date).getTime()}),t=n.concat(e).reduce(function(e,n){var t=n.journal+"-"+n.item;return _extends({},e,_defineProperty({},t,_extends({},e[t],n,{users:n.users&&n.users.length?n.users:e[t]&&e[t].users||[],expire:new Date((new Date).getTime()+864e5).getTime(),dataType:"lj-likus"})))},{});return o.push(v,t),t}function g(e,n){Array.isArray(n)||(n=[n]);var t=n.filter(function(e){return angular.isFunction(e)});t.length&&j.push({uniq:e,callbackFunctions:t})}function p(e){b=_extends({},e),j.forEach(function(n){e.hasOwnProperty(n.uniq)&&n.callbackFunctions.forEach(function(t){return t(e[n.uniq])})})}var v="lj-likus",k={},m={},h=!1,j=[],b={};return o.listen(v,p),{getVote:u,setVote:s,getCached:a,getUsers:c,showUsers:d}}i.$inject=["$window"],o.$inject=["$timeout","$q","$log","$window","Api","SyncService"],angular.module("LJ.Likus",["LJ.Directives","LJ.User","LJ.Bubble","LJ.Api"]).run(function(){LJ.Flags.isEnabled("likes_display")&&(angular.element("body").addClass("j-p-likus"),angular.element("[ng-app]").append("<div lj-likus-bubble></div>"))}).factory("SyncService",i).factory("LikusService",o).directive("ljLikus",e).directive("ljLikusBubble",t),n.$inject=["$scope","$element","$rootScope","$window","$log","LikusService","Bubble","ljUser"],r.$inject=["$scope","$window","LikusService","Api"]}();
/* <<< file end: js/widgets/likus.js */
//# map link was there [likus.js.map]
/* >>> file start: js/core/angular/radioGroup.js */
!function(t){return t}(),function(){"use strict";function t(){function t(){this._models={}}function o(o){return e[o]?e[o]:(e[o]=new t,e[o])}var e={};return t.prototype.models=function(){return this._models},t.prototype.reset=function(){var t,o=this._models;for(t in o)o.hasOwnProperty(t)&&o[t]&&(this._models[t]=!1);return this},t.prototype.set=function(t,o){return o?this.reset()._models[t]=!0:this._models[t]=!1,this},t.prototype.on=function(t){return this.set(t,!0)},t.prototype.off=function(t){return"undefined"==typeof t?this.reset():this.set(t,!1),this},t.prototype.toggle=function(t){this._models[t]?this.off(t):this.on(t)},o}angular.module("LJ.RadioGroup",[]),angular.module("LJ.RadioGroup").factory("radioGroup",t)}();
/* <<< file end: js/core/angular/radioGroup.js */
//# map link was there [radioGroup.js.map]
/* >>> file start: js/node_modules/angular-sanitize/angular-sanitize.js */
!function(e,t){"use strict";function n(){function n(e,t){var n,r={},i=e.split(",");for(n=0;n<i.length;n++)r[t?l(i[n]):i[n]]=!0;return r}function r(t,n){null===t||void 0===t?t="":"string"!=typeof t&&(t=""+t),v.innerHTML=t;var r=5;do{if(0===r)throw h("uinput","Failed to sanitize html because the input is unstable");r--,e.document.documentMode&&g(v),t=v.innerHTML,v.innerHTML=t}while(t!==v.innerHTML);for(var i=v.firstChild;i;){switch(i.nodeType){case 1:n.start(i.nodeName.toLowerCase(),p(i.attributes));break;case 3:n.chars(i.textContent)}var a;if(!(a=i.firstChild)&&(1==i.nodeType&&n.end(i.nodeName.toLowerCase()),a=i.nextSibling,!a))for(;null==a&&(i=i.parentNode,i!==v);)a=i.nextSibling,1==i.nodeType&&n.end(i.nodeName.toLowerCase());i=a}for(;i=v.firstChild;)v.removeChild(i)}function p(e){for(var t={},n=0,r=e.length;r>n;n++){var i=e[n];t[i.name]=i.value}return t}function f(e){return e.replace(/&/g,"&amp;").replace(y,function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1);return"&#"+(1024*(t-55296)+(n-56320)+65536)+";"}).replace(k,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function m(e,t){var n=!1,r=i(e,e.push);return{start:function(e,i){e=l(e),!n&&D[e]&&(n=e),n||$[e]!==!0||(r("<"),r(e),o(i,function(n,i){var a=l(i),o="img"===e&&"src"===a||"background"===a;M[a]!==!0||N[a]===!0&&!t(n,o)||(r(" "),r(i),r('="'),r(f(n)),r('"'))}),r(">"))},end:function(e){e=l(e),n||$[e]!==!0||x[e]===!0||(r("</"),r(e),r(">")),e==n&&(n=!1)},chars:function(e){n||r(f(e))}}}function g(t){if(t.nodeType===e.Node.ELEMENT_NODE)for(var n=t.attributes,r=0,i=n.length;i>r;r++){var a=n[r],o=a.name.toLowerCase();"xmlns:ns1"!==o&&0!==o.lastIndexOf("ns1:",0)||(t.removeAttributeNode(a),r--,i--)}var s=t.firstChild;s&&g(s),s=t.nextSibling,s&&g(s)}var b=!1;this.$get=["$$sanitizeUri",function(e){return b&&a($,T),function(t){var n=[];return u(t,d(n,function(t,n){return!/^unsafe:/.test(e(t,n))})),n.join("")}}],this.enableSvg=function(e){return s(e)?(b=e,this):b},i=t.bind,a=t.extend,o=t.forEach,s=t.isDefined,l=t.lowercase,c=t.noop,u=r,d=m;var v,y=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,k=/([^\#-~ |!])/g,x=n("area,br,col,hr,img,wbr"),w=n("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),C=n("rp,rt"),E=a({},C,w),z=a({},w,n("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),L=a({},C,n("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),T=n("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),D=n("script,style"),$=a({},x,z,L,E),N=n("background,cite,href,longdesc,src,xlink:href"),S=n("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),F=n("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),M=a({},N,F,S);!function(e){var t;if(!e.document||!e.document.implementation)throw h("noinert","Can't create an inert html document");t=e.document.implementation.createHTMLDocument("inert");var n=t.documentElement||t.getDocumentElement(),r=n.getElementsByTagName("body");if(1===r.length)v=r[0];else{var i=t.createElement("html");v=t.createElement("body"),i.appendChild(v),t.appendChild(i)}}(e)}function r(e){var t=[],n=d(t,c);return n.chars(e),t.join("")}var i,a,o,s,l,c,u,d,h=t.$$minErr("$sanitize");t.module("ngSanitize",[]).provider("$sanitize",n),t.module("ngSanitize").filter("linky",["$sanitize",function(e){var n=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,i=/^mailto:/i,a=t.$$minErr("linky"),o=t.isDefined,s=t.isFunction,l=t.isObject,c=t.isString;return function(t,u,d){function h(e){e&&y.push(r(e))}function p(e,t){var n,r=b(e);y.push("<a ");for(n in r)y.push(n+'="'+r[n]+'" ');!o(u)||"target"in r||y.push('target="',u,'" '),y.push('href="',e.replace(/"/g,"&quot;"),'">'),h(t),y.push("</a>")}if(null==t||""===t)return t;if(!c(t))throw a("notstring","Expected string but received: {0}",t);for(var f,m,g,b=s(d)?d:l(d)?function(){return d}:function(){return{}},v=t,y=[];f=v.match(n);)m=f[0],f[2]||f[4]||(m=(f[3]?"http://":"mailto:")+m),g=f.index,h(v.substr(0,g)),p(m,f[0].replace(i,"")),v=v.substring(g+f[0].length);return h(v),e(y.join(""))}}])}(window,window.angular);
/* <<< file end: js/node_modules/angular-sanitize/angular-sanitize.js */
//# map link was there [angular-sanitize.js.map]
/* >>> file start: js/medius/recommended.js */
//= require js/core/angular/bubble.js
//= require js/core/angular/api.js
Site.page.template['angular/ljTimesRecommendedBubble.ng.tmpl'] = '<div\n class=\'b-popup b-popup-recomended js--recommendBubble\'\n ng-show=\'recommendBubble.shown\'\n>\n <i class=\"i-popup-close\" ng-click=\'recommendBubble.shown = false\'></i>\n <div class=\'b-discoverytimes-popup__wrapper\'>\n <div class=\'b-discoverytimes-popup__content\'></div>\n </div>\n <i class=\"i-popup-arr i-popup-arrbr\">\n <i class=\"i-popup-arr-brdr-outer\">\n <i class=\"i-popup-arr-brdr-inner\">\n <i class=\"i-popup-arr-bg\"></i>\n </i>\n </i>\n </i>\n</div>';
Site.page.template['angular/mediusRecommended.ng.tmpl'] = '<div\n class=\"sendnews\"\n ng-controller=\"RecommendedCtrl as recommended\"\n ng-class=\"{\'sendnews--loading svgpreloader-pseudo svgpreloader-16\': recommended.currentState === recommended.states.loading}\"\n >\n <div\n ng-if=\"recommended.currentState !== recommended.states.success\"\n >\n <div\n class=\"message-unit message-unit--error message-unit--small\"\n ng-if=\"recommended.currentState === recommended.states.error\"\n >\n <div\n class=\"message-unit__text\"\n >\n <div lj-ml=\"medius.recommended.has.errors\"></div>\n <span ng-repeat=\"error in recommended.errors\">{{error}}</span>\n </div>\n </div>\n <div class=\"form__field sendnews--field\">\n <label\n class=\"sendnews__label form__label\"\n lj-ml=\"medius.recommended.label.category\"\n ></label>\n <div class=\"sendnews__input-wrapper\">\n <select\n ng-options=\"category as category.name for category in recommended.categories track by category.id\"\n ng-model=\"recommended.selectedCategory\"\n class=\"sendnews__select sharp-select\"\n ></select>\n </div>\n </div>\n <div class=\"form__field sendnews--field\">\n <label\n class=\"sendnews__label form__label\"\n lj-ml=\"medius.recommended.label.link\"\n ></label>\n <div class=\"sendnews__input-wrapper\">\n <input\n class=\"inputus inputus--small inputus--max\"\n ng-class=\"{\'inputus--error\': recommended.fieldErrors.link}\"\n type=\"text\"\n name=\"link\"\n ng-model=\"recommended.link\"\n >\n </div>\n </div>\n\n <div class=\"form__field\">\n <div\n class=\"sendnews__label form__label\"\n lj-ml=\"medius.recommended.label.message\"\n lj-ml-resolve=\"{ left: recommended.messageLength - recommended.message.length }\"\n lj-ml-dynamic=\"recommended.messageLength - recommended.message.length\"\n ></div>\n <textarea\n class=\"sendnews__textarea inputus inputus--small inputus--max\"\n ng-class=\"{\'inputus--error\': recommended.fieldErrors.message}\"\n maxlength=\"200\"\n name=\"message\"\n ng-model=\"recommended.message\"\n ></textarea>\n </div>\n <div class=\"form__field\">\n <button\n class=\"flatbutton flatbutton--small flatbutton--max\"\n type=\"submit\"\n ng-click=\"recommended.send()\"\n ng-disabled=\"!recommended.canSend()\"\n lj-ml=\"medius.recommended.button.send\"\n ></button>\n </div>\n </div>\n <div\n class=\"sendnews__succes message-unit message-unit--success\"\n ng-if=\"recommended.currentState === recommended.states.success\"\n >\n <div class=\"message-unit__text\" lj-ml=\"medius.recommended.success\"></div>\n </div>\n\n</div>\n';
//= require_ml medius.recommended.has.errors
//= require_ml medius.recommended.success
//= require_ml medius.recommended.label.category
//= require_ml medius.recommended.label.link
//= require_ml medius.recommended.label.message
//= require_ml medius.recommended.button.send
!function(e){return e}(),function(){"use strict";function e(e,n,t,r){function o(){l.currentState=l.states.success,i=n(function(){t.close("recommended"),a();var n=e.afterRecommendSendCb;angular.isFunction(n)&&n({success:!0})},u)}function s(e){l.currentState=l.states.error,e.data.forEach(function(e){switch(l.errors.push(e.message),e.field){case"cat_post_id":l.fieldErrors.category=!0;break;case"entry_url":l.fieldErrors.link=!0;break;case"message":l.fieldErrors.message=!0}})}function c(){l.fieldErrors={category:!1,link:!1,message:!1}}function a(){l.message="",l.link="",l.selectedCategory=l.categories[0],l.currentState=l.states.edit,l.errors=[],c()}var i,l=this,u=3e3,d={success:"ok",error:"check_error"};l.categories=(LJ.get("categories")||[]).filter(function(e){return!e.skip_send_news}),l.messageLength=200,l.states={edit:"edit",success:"success",error:"error",loading:"loading"},a(),l.canSend=function(){return""!==l.message||""!==l.link},l.send=function(){l.errors=[],c(),l.currentState=l.states.loading,r.call("medius.recommend",{cat_post_id:l.selectedCategory.id,entry_url:l.link,message:l.message},{silent:!0}).then(function(e){e.status===d.success?o():e.status===d.error&&s(e)},function(e){l.errors.push(e.message),l.currentState=l.states.error})},e.$on("bubble:close:recommended",function(){i&&(n.cancel(i),i=null),a()})}function n(e,n,t,r,o){function s(s,c,a){if(LJ.get("remote")){if(a.ljTimesMode){s.recommendBubble={shown:!1},s.afterRecommendSendCb=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];e.success&&(s.recommendBubble.shown=!1)};var i=angular.element(t.get("ljTimesRecommendedBubble.ng.tmpl")),l=angular.element(t.get("mediusRecommended.ng.tmpl"));return i.append(l),c.before(i),n(i)(s),c.click(function(e){e.preventDefault(),e.stopPropagation(),o(function(){s.recommendBubble.shown=!s.recommendBubble.shown})}),void r.on("click",function(e){angular.element(e.target).closest(".js--recommendBubble")[0]||o(function(){s.recommendBubble.shown=!1})})}var u,d=LJ.Support.isMobile()||!!~navigator.userAgent.toLowerCase().indexOf("android"),m="recommended",f=angular.element(window),g=c.closest("ul"),b=function(){g.scrollLeft(1280)};e.register({name:m,template:"mediusRecommended.ng.tmpl",recalculateOnScroll:!d,alwaysBottom:!0,alwaysLeft:!0,disableResizeListener:d,recalculateOnOrientationChange:d}),c.click(function(n){if(n.preventDefault(),b(),e.open(m,{alwaysLeft:!0},c),f.on("orientationchange",b),d){u=f.scrollTop();var t=s.$on("bubble:close:"+m,function(){f.scrollTop(u),f.off("orientationchange",b),t()})}s.$apply()})}else c.click(function(e){LJ.Util.Action.login(e)})}return{link:s}}n.$inject=["Bubble","$compile","$templateCache","$document","$timeout"],angular.module("Medius.Recommended",["LJ.Templates","LJ.Bubble","LJ.Api"]),LJ.Flags.isEnabled("medius_schemius")&&angular.element(window.document).ready(function(){angular.bootstrap(".s-header-menu-head-title__additional--link--sendnews",["Medius.Recommended"])}),angular.module("Medius.Recommended").controller("RecommendedCtrl",e).directive("mediusRecommended",n),e.$inject=["$scope","$timeout","Bubble","Api"]}();
/* <<< file end: js/medius/recommended.js */
//# map link was there [recommended.js.map]
/* >>> file start: js/widgets/discoverytimes.js */
var _extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e};
//= require js/core/angular/radioGroup.js
//= require js/node_modules/angular-sanitize/angular-sanitize.js
//= require js/core/angular/api.js
//= require js/core/angular/users.js
//= require js/core/angular/ljUser.js
//= require js/medius/recommended.js
!function(){"use strict";function e(){var e=angular.element(".b-discoverytimes-wrapper[lj-discovery-times]");e.injector()||angular.bootstrap(e,["LJ.DiscoveryTimes"])}function n(){function e(e,n){n.removeAttr("lj-discovery-times")}return{scope:!0,link:e,controller:t,controllerAs:"times"}}function t(e,n,t,i,o,r){function m(){v+=1,v>=d.items.length&&(v=0),a.on(d.items[v].itemid)}function s(){0!==d.items.length&&(m(),c=n(m,l),e.$on("$destroy",n.cancel.bind(n,c)))}var c,d=this,u=LJ.Flags.isEnabled("medius_ui")?r:o,a=t("active"),l=5e3,v=-1;d.items=[],d.active=a.reset().models(),d.isRecommend=!1,d.showRecommend=!1,d.showRandom=!1,d.close=function(){},d.recommend=function(){u.setRecommend().then(function(){d.isRecommend=u.isRecommend})},u.getRecommend().then(function(){d.showRecommend=u.showRecommend,d.showRandom=!d.showRecommend,d.isRecommend=u.isRecommend}),u.getFeed().then(function(e){d.items=e.items.filter(Boolean).map(function(e){var n=LJ.Util.Link.addQueryParams({sourceURL:e.url,queryParams:{utm_source:"ljtimes"}});return _extends({},e,{url:n})}),i.Cache.add(d.items.map(LJ.Function.get("user")))}).then(s)}function i(e){function n(){return r.limit=r.itemshow,r.is_published=!0,r.category="main_sign",e.call("medius.get_public_items",r).then(t)}function t(e){return e.items=e.items.filter(function(e){return e.author}).map(function(e){var n=(e.cards||[{}])[0];return e.itemid=e.jitem_id,e.url=e.link,e.subject=n.title||e.title,e}),e}function i(){return s.showRecommend?e.call("discovery.is_recommend",m).then(function(e){"ok"===e.status&&(s.isRecommend=e.is_recommend)}):Promise.resolve()}function o(){return s.showRecommend?e.call("discovery.recommend",m).then(function(e){"ok"===e.status&&(s.isRecommend=!0)}):Promise.resolve()}var r={itemshow:10},m={entry:Boolean(LJ.get("entry")),remoteid:LJ.get("remote.id"),journalid:LJ.get("journal.id"),publicEntry:LJ.get("entry.is_public"),ditemid:LJ.get("entry.ditemid")},s={getFeed:n,isRecomend:!1,getRecommend:i,setRecommend:o,showRecommend:!1};return s}function o(e){function n(){return e.call("discovery.get_feed",o)}function t(){return m.showRecommend?e.call("discovery.is_recommend",r).then(function(e){"ok"===e.status&&(m.isRecommend=e.is_recommend)}):Promise.resolve()}function i(){return m.showRecommend?e.call("discovery.recommend",r).then(function(e){"ok"===e.status&&(m.isRecommend=!0)}):Promise.resolve()}var o={itemshow:10},r={entry:Boolean(LJ.get("entry")),remoteid:LJ.get("remote.id"),journalid:LJ.get("journal.id"),publicEntry:LJ.get("entry.is_public"),ditemid:LJ.get("entry.ditemid")},m={getFeed:n,isRecomend:!1,getRecommend:t,setRecommend:i,showRecommend:r.entry&&r.journalid&&r.remoteid&&r.publicEntry&&r.journalid!==r.remoteid};return m}i.$inject=["Api"],o.$inject=["Api"],t.$inject=["$scope","$interval","radioGroup","Users","DiscoveryTimesService","MediusTimesService"],angular.element("body").ready(e),angular.module("LJ.DiscoveryTimes",["ngSanitize","LJ.Directives","LJ.RadioGroup","LJ.Api","LJ.User","Users","Medius.Recommended"]),angular.module("LJ.DiscoveryTimes").directive("ljDiscoveryTimes",n).factory("MediusTimesService",i).factory("DiscoveryTimesService",o)}();
/* <<< file end: js/widgets/discoverytimes.js */
//# map link was there [discoverytimes.js.map]
/* >>> file start: js/feed/promoControl.js */
//= require js/core/angular/api.js
Site.page.template['angular/widgets/promo/promoControl.ng.tmpl'] = '<!-- Feed control -->\n<span\n class=\"feedpromo-control\"\n ng-if=\"promoControl.params.class === \'feedpromo\' || promoControl.params.class === \'ratings\'\"\n >\n <span class=\"feedpromo-control__title\" lj-ml=\"feedpromo.complaint.title\"></span>\n <span class=\"feedpromo-control__items\">\n <span class=\"feedpromo-control__item feedpromo-control__item--why\" lj-ml=\"feedpromo.complaint.help\"></span>\n <span\n ng-if=\"promoControl.profileInfo\"\n class=\"feedpromo-control__item feedpromo-control__item--hide\"\n lj-ml=\"feedpromo.complaint.hide\"\n ng-click=\"promoControl.showComplaintForm()\"\n ></span>\n <span class=\"feedpromo-control__item feedpromo-control__item--buy\" lj-ml=\"feedpromo.complaint.buy\"></span>\n </span>\n</span>\n\n<!-- Grant control -->\n<span class=\"grant-control\" ng-if=\"promoControl.params.class === \'grants\'\">\n <span class=\"grant-control__title\" lj-ml=\"{{ promoControl.promoTitleMl }}\"></span>\n</span>';
Site.page.template['angular/widgets/promo/complaintForm.ng.tmpl'] = '<div\n class=\"\n feedpromo-complaint\n feedpromo-complaint--hidden\n \"\n ng-class=\"{\'feedpromo-complaint--hidden\': !complaintForm.shown()}\"\n >\n <form class=\"feedpromo-complaint__form\">\n <span\n class=\"feedpromo-complaint__close\"\n ng-click=\"complaintForm.hide()\"\n ><svg class=\"svgicon\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"30px\" height=\"30px\" viewBox=\"0 0 30 30\"><polygon points=\"30,2.728 27.272,0 15,12.273 2.727,0 0,2.728 12.272,15 0,27.273 2.727,30 15,17.728 27.272,30 30,27.273 17.727,15\"></polygon></svg></span>\n <h3\n class=\"feedpromo-complaint__title\"\n lj-ml=\"feedpromo.complaint.popup.title\"\n ></h3>\n <fieldset class=\"form__field\">\n <label class=\"form__label\">\n <input\n class=\"\n radio\n custom--label-input\n \"\n id=\"reason-1\"\n type=\"radio\"\n name=\"complaint\"\n value=\"1\"\n ng-model=\"complaintForm.reason\"\n >\n <span\n class=\"\n custom--label\n custom--label-huge\n custom--label-blue\n custom--label-bold\n \"\n for=\"reason-1\"\n lj-ml=\"feedpromo.complaint.reason.1\"\n ></span>\n </label>\n </fieldset>\n <fieldset class=\"form__field\">\n <label class=\"form__label\">\n <input\n class=\"\n radio\n custom--label-input\n \"\n id=\"reason-2\"\n type=\"radio\"\n name=\"complaint\"\n value=\"2\"\n ng-model=\"complaintForm.reason\"\n >\n <span\n class=\"\n custom--label\n custom--label-huge\n custom--label-blue\n custom--label-bold\n \"\n for=\"reason-2\"\n lj-ml=\"feedpromo.complaint.reason.2\"\n ></span>\n </label>\n </fieldset>\n <fieldset class=\"form__field\">\n <label class=\"form__label\">\n <input\n class=\"\n radio\n custom--label-input\n \"\n id=\"reason-3\"\n type=\"radio\"\n name=\"complaint\"\n value=\"3\"\n ng-model=\"complaintForm.reason\"\n >\n <span\n class=\"\n custom--label\n custom--label-huge\n custom--label-blue\n custom--label-bold\n \"\n for=\"reason-3\"\n lj-ml=\"feedpromo.complaint.reason.3\"\n ></span>\n </label>\n </fieldset>\n <button\n class=\"\n flatbutton\n flatbutton--max\n flatbutton--bold\n flatbutton--large\n flatbutton--neutral-blue\n \"\n ng-click=\"complaintForm.complain()\"\n lj-ml=\"feedpromo.complaint.delete\"\n ></button>\n </form>\n</div>\n';
Site.page.template['angular/widgets/promo/closedPromo.ng.tmpl'] = '<div\n class=\"feedpromo-closed\"\n lj-ml=\"feedpromo.complaint.hidden\"\n ></div>\n';
//= require_ml feedpromo.complaint.title
//= require_ml feedpromo.complaint.buy
//= require_ml feedpromo.complaint.help
//= require_ml feedpromo.complaint.hide
//= require_ml feedpromo.complaint.popup.title
//= require_ml feedpromo.complaint.delete
//= require_ml feedpromo.complaint.reason.1
//= require_ml feedpromo.complaint.reason.2
//= require_ml feedpromo.complaint.reason.3
//= require_ml feedpromo.complaint.hidden
//= require_ml grants.post_plaque.title
//= require_ml grants.post_education.title
//= require_ml grants.post_consumption.title
//= require_ml grants.post_interesting_comm.title
!function(o){return o}(),function(){"use strict";function o(o){function r(r,t){function l(l,i){if(this.promoId&&this.journalId){var a=this.journalId+"-"+this.promoId;n.hasOwnProperty(a)||(l&&i.preventDefault(),n[a]=!0,LJ.Api.call(e.ADD_STAT,{journal:this.journalId,promoid:this.promoId,type:"click","class":r["class"]||"feedpromo"}).done(function(){l&&(o.location.href=t.attr("href"))}))}}t.on("click",function(o){r.noRedirects||o.metaKey||o.ctrlKey?l.call(r):l.call(r,!0,o)}).on("mousedown",function(o){1!==o.which&&l.call(r)}).on("keydown",function(o){13===o.keyCode&&l.call(r,!0,o)})}var n={};return{link:r,scope:{promoId:"=ljPromoClickPromoId",journalId:"=ljPromoClickJournalId","class":"@ljPromoClickClass",noRedirects:"=ljPromoClickNoRedirects"}}}function r(o,r){function t(n,t,l,i){if(n&&n["class"]&&"grants"===n["class"]){var e=angular.element(".ljcut-link-expand",t.parents("article"));e&&!e.attr("lj-promo-click")&&(e.attr("lj-promo-click",""),e.attr("lj-promo-click-promo-id",n.promoId),e.attr("lj-promo-click-journal-id",n.journalId),e.attr("lj-promo-click-no-redirects",!0),e.attr("lj-promo-click-class","grants"),e.replaceWith(r(e.clone())(n)))}i.setParams({promoId:n.promoId,itemId:n.itemId,journalId:n.journalId,"class":n["class"]||"feedpromo",grantsParams:n.grantsParams});var a=!0;angular.isDefined(n.sendStatsOnLink)&&(a=n.sendStatsOnLink),a&&i.sendViewStat(),o.addElement(n.promoId,t.closest(n.entrySelector))}return{link:t,scope:{promoId:"=ljPromoControlPromoId",itemId:"=ljPromoControlItemId",journalId:"=ljPromoControlJournalId","class":"@ljPromoControlClass",entrySelector:"@ljPromoControlEntrySelector",sendStatsOnLink:"=controlSendStatsOnLink",grantsParams:"=ljPromoControlGrantsParams"},templateUrl:"promoControl.ng.tmpl",controller:n,controllerAs:"promoControl"}}function n(o,r){var n=this;n.profileInfo=Site.remote,n.showComplaintForm=function(){return o.showForm(n.params)},n.setParams=function(o){n.params=o,n.getPromoMl()},n.sendViewStat=function(){n.params.journalId&&n.params.promoId&&r.call(e.ADD_STAT,{journal:n.params.journalId,promoid:n.params.promoId,"class":n.params["class"],type:"view"},{silent:!0})},n.getPromoMl=function(){var o=n.params.grantsParams,r=void 0===o?{}:o;if(r.isGrant)return!r.isInterestingComm||r.isConsumption||r.isEducation?void(r.isConsumption&&!r.isEducation?n.promoTitleMl="grants.post_consumption.title":r.isEducation&&!r.isConsumption?n.promoTitleMl="grants.post_education.title":n.promoTitleMl="grants.post_plaque.title"):void(n.promoTitleMl="grants.post_interesting_comm.title")}}function t(){return{templateUrl:"complaintForm.ng.tmpl",controller:l,controllerAs:"complaintForm"}}function l(o){var r=this;r.reason=1,r.shown=o.formShown,r.complain=function(){return o.complain(r.reason)},r.hide=o.hideForm}function i(o,r,n){function t(o,r){u[o]=r}function l(o){m=o.promoId,c=o.itemId,s=o.journalId,p=!0}function i(){p=!1}function e(o){i(),a(),Promise.all([n.call("friendsfeed.complain_promo",{reason:o,promoid:m}),n.call("friendsfeed.hide_promo",{journal:s,itemid:c,promoid:m})])}function a(){var o=u[m];o.replaceWith(d)}var m=void 0,c=void 0,s=void 0,p=!1,d=o(r.get("closedPromo.ng.tmpl"))({}),u={};return{formShown:function(){return p},showForm:l,hideForm:i,complain:e,addElement:t}}i.$inject=["$compile","$templateCache","Api"],n.$inject=["complaintService","Api"],l.$inject=["complaintService"],r.$inject=["complaintService","$compile"],o.$inject=["$window"],angular.module("LJ.PromoControl",["LJ.Api","LJ.Templates"]),angular.module("LJ.PromoControl").run(function(){angular.element("[ng-app]").append("<div promo-complaint-form></div>")}).factory("complaintService",i).controller("ljPromoControlCtrl",n).controller("complaintFormCtrl",l).directive("ljPromoControl",r).directive("ljPromoClick",o).directive("promoComplaintForm",t);var e={ADD_STAT:"promo.add_stat"};!function(o){return o}()}();
/* <<< file end: js/feed/promoControl.js */
//# map link was there [promoControl.js.map]
/* >>> file start: js/node_modules/moment/min/moment.min.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(t,e){"object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.moment=e()}(this,function(){"use strict";function t(){return Pn.apply(null,arguments)}function e(t){Pn=t}function n(t){return"[object Array]"===Object.prototype.toString.call(t)}function i(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function r(t,e){var n,i=[];for(n=0;n<t.length;++n)i.push(e(t[n],n));return i}function s(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function o(t,e){for(var n in e)s(e,n)&&(t[n]=e[n]);return s(e,"toString")&&(t.toString=e.toString),s(e,"valueOf")&&(t.valueOf=e.valueOf),t}function a(t,e,n,i){return Ot(t,e,n,i,!0).utc()}function u(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){return null==t._pf&&(t._pf=u()),t._pf}function l(t){if(null==t._isValid){var e=d(t);t._isValid=!(isNaN(t._d.getTime())||!(e.overflow<0)||e.empty||e.invalidMonth||e.invalidWeekday||e.nullInput||e.invalidFormat||e.userInvalidated),t._strict&&(t._isValid=t._isValid&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour)}return t._isValid}function c(t){var e=a(NaN);return null!=t?o(d(e),t):d(e).userInvalidated=!0,e}function f(t,e){var n,i,r;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=d(e)),"undefined"!=typeof e._locale&&(t._locale=e._locale),Hn.length>0)for(n in Hn)i=Hn[n],r=e[i],"undefined"!=typeof r&&(t[i]=r);return t}function h(e){f(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),Ln===!1&&(Ln=!0,t.updateOffset(this),Ln=!1)}function m(t){return t instanceof h||null!=t&&null!=t._isAMomentObject}function _(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=_(e)),n}function p(t,e,n){var i,r=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),o=0;for(i=0;r>i;i++)(n&&t[i]!==e[i]||!n&&y(t[i])!==y(e[i]))&&o++;return o+s}function g(){}function v(t){return t?t.toLowerCase().replace("_","-"):t}function D(t){for(var e,n,i,r,s=0;s<t.length;){for(r=v(t[s]).split("-"),e=r.length,n=v(t[s+1]),n=n?n.split("-"):null;e>0;){if(i=M(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&p(r,n,!0)>=e-1)break;e--}s++}return null}function M(t){var e=null;if(!In[t]&&"undefined"!=typeof module&&module&&module.exports)try{e=xn._abbr,require("./locale/"+t),Y(e)}catch(n){}return In[t]}function Y(t,e){var n;return t&&(n="undefined"==typeof e?S(t):w(t,e),n&&(xn=n)),xn._abbr}function w(t,e){return null!==e?(e.abbr=t,In[t]=In[t]||new g,In[t].set(e),Y(t),In[t]):(delete In[t],null)}function S(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return xn;if(!n(t)){if(e=M(t))return e;t=[t]}return D(t)}function k(t,e){var n=t.toLowerCase();An[n]=An[n+"s"]=An[e]=t}function T(t){return"string"==typeof t?An[t]||An[t.toLowerCase()]:void 0}function b(t){var e,n,i={};for(n in t)s(t,n)&&(e=T(n),e&&(i[e]=t[n]));return i}function O(e,n){return function(i){return null!=i?(W(this,e,i),t.updateOffset(this,n),this):U(this,e)}}function U(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function W(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function C(t,e){var n;if("object"==("undefined"==typeof t?"undefined":_typeof(t)))for(n in t)this.set(n,t[n]);else if(t=T(t),"function"==typeof this[t])return this[t](e);return this}function G(t,e,n){var i=""+Math.abs(t),r=e-i.length,s=t>=0;return(s?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function F(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(jn[t]=r),e&&(jn[e[0]]=function(){return G(r.apply(this,arguments),e[1],e[2])}),n&&(jn[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function P(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function x(t){var e,n,i=t.match(zn);for(e=0,n=i.length;n>e;e++)jn[i[e]]?i[e]=jn[i[e]]:i[e]=P(i[e]);return function(r){var s="";for(e=0;n>e;e++)s+=i[e]instanceof Function?i[e].call(r,t):i[e];return s}}function H(t,e){return t.isValid()?(e=L(e,t.localeData()),Zn[e]=Zn[e]||x(e),Zn[e](t)):t.localeData().invalidDate()}function L(t,e){function n(t){return e.longDateFormat(t)||t}var i=5;for(Nn.lastIndex=0;i>=0&&Nn.test(t);)t=t.replace(Nn,n),Nn.lastIndex=0,i-=1;return t}function I(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function A(t,e,n){ri[t]=I(e)?e:function(t){return t&&n?n:e}}function z(t,e){return s(ri,t)?ri[t](e._strict,e._locale):new RegExp(N(t))}function N(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(i=function(t,n){n[e]=y(t)}),n=0;n<t.length;n++)si[t[n]]=i}function j(t,e){Z(t,function(t,n,i,r){i._w=i._w||{},e(t,i._w,i,r)})}function E(t,e,n){null!=e&&s(si,t)&&si[t](e,n._a,n,t)}function V(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function q(t){return this._months[t.month()]}function J(t){return this._monthsShort[t.month()]}function $(t,e,n){var i,r,s;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;12>i;i++){if(r=a([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(s="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(s.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(n&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!n&&this._monthsParse[i].test(t))return i}}function R(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),V(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function B(e){return null!=e?(R(this,e),t.updateOffset(this,!0),this):U(this,"Month")}function Q(){return V(this.year(),this.month())}function X(t){var e,n=t._a;return n&&-2===d(t).overflow&&(e=n[ai]<0||n[ai]>11?ai:n[ui]<1||n[ui]>V(n[oi],n[ai])?ui:n[di]<0||n[di]>24||24===n[di]&&(0!==n[li]||0!==n[ci]||0!==n[fi])?di:n[li]<0||n[li]>59?li:n[ci]<0||n[ci]>59?ci:n[fi]<0||n[fi]>999?fi:-1,d(t)._overflowDayOfYear&&(oi>e||e>ui)&&(e=ui),d(t).overflow=e),t}function K(e){t.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function tt(t,e){var n=!0;return o(function(){return n&&(K(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function et(t,e){_i[t]||(K(e),_i[t]=!0)}function nt(t){var e,n,i=t._i,r=yi.exec(i);if(r){for(d(t).iso=!0,e=0,n=pi.length;n>e;e++)if(pi[e][1].exec(i)){t._f=pi[e][0];break}for(e=0,n=gi.length;n>e;e++)if(gi[e][1].exec(i)){t._f+=(r[6]||" ")+gi[e][0];break}i.match(ei)&&(t._f+="Z"),Mt(t)}else t._isValid=!1}function it(e){var n=vi.exec(e._i);return null!==n?void(e._d=new Date(+n[1])):(nt(e),void(e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e))))}function rt(t,e,n,i,r,s,o){var a=new Date(t,e,n,i,r,s,o);return 1970>t&&a.setFullYear(t),a}function st(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ot(t){return at(t)?366:365}function at(t){return t%4===0&&t%100!==0||t%400===0}function ut(){return at(this.year())}function dt(t,e,n){var i,r=n-e,s=n-t.day();return s>r&&(s-=7),r-7>s&&(s+=7),i=Ut(t).add(s,"d"),{week:Math.ceil(i.dayOfYear()/7),year:i.year()}}function lt(t){return dt(t,this._week.dow,this._week.doy).week}function ct(){return this._week.dow}function ft(){return this._week.doy}function ht(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function mt(t){var e=dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function _t(t,e,n,i,r){var s,o=6+r-i,a=st(t,0,1+o),u=a.getUTCDay();return r>u&&(u+=7),n=null!=n?1*n:r,s=1+o+7*(e-1)-u+n,{year:s>0?t:t-1,dayOfYear:s>0?s:ot(t-1)+s}}function yt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function pt(t,e,n){return null!=t?t:null!=e?e:n}function gt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function vt(t){var e,n,i,r,s=[];if(!t._d){for(i=gt(t),t._w&&null==t._a[ui]&&null==t._a[ai]&&Dt(t),t._dayOfYear&&(r=pt(t._a[oi],i[oi]),t._dayOfYear>ot(r)&&(d(t)._overflowDayOfYear=!0),n=st(r,0,t._dayOfYear),t._a[ai]=n.getUTCMonth(),t._a[ui]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=i[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[di]&&0===t._a[li]&&0===t._a[ci]&&0===t._a[fi]&&(t._nextDay=!0,t._a[di]=0),t._d=(t._useUTC?st:rt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[di]=24)}}function Dt(t){var e,n,i,r,s,o,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,o=4,n=pt(e.GG,t._a[oi],dt(Ut(),1,4).year),i=pt(e.W,1),r=pt(e.E,1)):(s=t._locale._week.dow,o=t._locale._week.doy,n=pt(e.gg,t._a[oi],dt(Ut(),s,o).year),i=pt(e.w,1),null!=e.d?(r=e.d,s>r&&++i):r=null!=e.e?e.e+s:s),a=_t(n,i,r,o,s),t._a[oi]=a.year,t._dayOfYear=a.dayOfYear}function Mt(e){if(e._f===t.ISO_8601)return void nt(e);e._a=[],d(e).empty=!0;var n,i,r,s,o,a=""+e._i,u=a.length,l=0;for(r=L(e._f,e._locale).match(zn)||[],n=0;n<r.length;n++)s=r[n],i=(a.match(z(s,e))||[])[0],i&&(o=a.substr(0,a.indexOf(i)),o.length>0&&d(e).unusedInput.push(o),a=a.slice(a.indexOf(i)+i.length),l+=i.length),jn[s]?(i?d(e).empty=!1:d(e).unusedTokens.push(s),E(s,i,e)):e._strict&&!i&&d(e).unusedTokens.push(s);d(e).charsLeftOver=u-l,a.length>0&&d(e).unusedInput.push(a),d(e).bigHour===!0&&e._a[di]<=12&&e._a[di]>0&&(d(e).bigHour=void 0),e._a[di]=Yt(e._locale,e._a[di],e._meridiem),vt(e),X(e)}function Yt(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&12>e&&(e+=12),i||12!==e||(e=0),e):e}function wt(t){var e,n,i,r,s;if(0===t._f.length)return d(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;r<t._f.length;r++)s=0,e=f({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[r],Mt(e),l(e)&&(s+=d(e).charsLeftOver,s+=10*d(e).unusedTokens.length,d(e).score=s,(null==i||i>s)&&(i=s,n=e));o(t,n||e)}function St(t){if(!t._d){var e=b(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],vt(t)}}function kt(t){var e=new h(X(Tt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Tt(t){var e=t._i,r=t._f;return t._locale=t._locale||S(t._l),null===e||void 0===r&&""===e?c({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),m(e)?new h(X(e)):(n(r)?wt(t):r?Mt(t):i(e)?t._d=e:bt(t),t))}function bt(e){var s=e._i;void 0===s?e._d=new Date:i(s)?e._d=new Date(+s):"string"==typeof s?it(e):n(s)?(e._a=r(s.slice(0),function(t){return parseInt(t,10)}),vt(e)):"object"==("undefined"==typeof s?"undefined":_typeof(s))?St(e):"number"==typeof s?e._d=new Date(s):t.createFromInputFallback(e)}function Ot(t,e,n,i,r){var s={};return"boolean"==typeof n&&(i=n,n=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=r,s._l=n,s._i=t,s._f=e,s._strict=i,kt(s)}function Ut(t,e,n,i){return Ot(t,e,n,i,!1)}function Wt(t,e){var i,r;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ut();for(i=e[0],r=1;r<e.length;++r)(!e[r].isValid()||e[r][t](i))&&(i=e[r]);return i}function Ct(){var t=[].slice.call(arguments,0);return Wt("isBefore",t)}function Gt(){var t=[].slice.call(arguments,0);return Wt("isAfter",t)}function Ft(t){var e=b(t),n=e.year||0,i=e.quarter||0,r=e.month||0,s=e.week||0,o=e.day||0,a=e.hour||0,u=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*u+36e5*a,this._days=+o+7*s,this._months=+r+3*i+12*n,this._data={},this._locale=S(),this._bubble()}function Pt(t){return t instanceof Ft}function xt(t,e){F(t,0,0,function(){var t=this.utcOffset(),n="+";return 0>t&&(t=-t,n="-"),n+G(~~(t/60),2)+e+G(~~t%60,2)})}function Ht(t){var e=(t||"").match(ei)||[],n=e[e.length-1]||[],i=(n+"").match(Si)||["-",0,0],r=+(60*i[1])+y(i[2]);return"+"===i[0]?r:-r}function Lt(e,n){var r,s;return n._isUTC?(r=n.clone(),s=(m(e)||i(e)?+e:+Ut(e))-+r,r._d.setTime(+r._d+s),t.updateOffset(r,!1),r):Ut(e).local()}function It(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function At(e,n){var i,r=this._offset||0;return null!=e?("string"==typeof e&&(e=Ht(e)),Math.abs(e)<16&&(e=60*e),!this._isUTC&&n&&(i=It(this)),this._offset=e,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==e&&(!n||this._changeInProgress?ee(this,Bt(e-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?r:It(this)}function zt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Nt(t){return this.utcOffset(0,t)}function Zt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(It(this),"m")),this}function jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ht(this._i)),this}function Et(t){return t=t?Ut(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Vt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function qt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(f(t,this),t=Tt(t),t._a){var e=t._isUTC?a(t._a):Ut(t._a);this._isDSTShifted=this.isValid()&&p(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Jt(){return!this._isUTC}function $t(){return this._isUTC}function Rt(){return this._isUTC&&0===this._offset}function Bt(t,e){var n,i,r,o=t,a=null;return Pt(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(o={},e?o[e]=t:o.milliseconds=t):(a=ki.exec(t))?(n="-"===a[1]?-1:1,o={y:0,d:y(a[ui])*n,h:y(a[di])*n,m:y(a[li])*n,s:y(a[ci])*n,ms:y(a[fi])*n}):(a=Ti.exec(t))?(n="-"===a[1]?-1:1,o={y:Qt(a[2],n),M:Qt(a[3],n),d:Qt(a[4],n),h:Qt(a[5],n),m:Qt(a[6],n),s:Qt(a[7],n),w:Qt(a[8],n)}):null==o?o={}:"object"==("undefined"==typeof o?"undefined":_typeof(o))&&("from"in o||"to"in o)&&(r=Kt(Ut(o.from),Ut(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),i=new Ft(o),Pt(t)&&s(t,"_locale")&&(i._locale=t._locale),i}function Qt(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Xt(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Kt(t,e){var n;return e=Lt(e,t),t.isBefore(e)?n=Xt(t,e):(n=Xt(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function te(t,e){return function(n,i){var r,s;return null===i||isNaN(+i)||(et(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=n,n=i,i=s),n="string"==typeof n?+n:n,r=Bt(n,i),ee(this,r,t),this}}function ee(e,n,i,r){var s=n._milliseconds,o=n._days,a=n._months;r=null==r?!0:r,s&&e._d.setTime(+e._d+s*i),o&&W(e,"Date",U(e,"Date")+o*i),a&&R(e,U(e,"Month")+a*i),r&&t.updateOffset(e,o||a)}function ne(t,e){var n=t||Ut(),i=Lt(n,this).startOf("day"),r=this.diff(i,"days",!0),s=-6>r?"sameElse":-1>r?"lastWeek":0>r?"lastDay":1>r?"sameDay":2>r?"nextDay":7>r?"nextWeek":"sameElse";return this.format(e&&e[s]||this.localeData().calendar(s,this,Ut(n)))}function ie(){return new h(this)}function re(t,e){var n;return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ut(t),+this>+t):(n=m(t)?+t:+Ut(t),n<+this.clone().startOf(e))}function se(t,e){var n;return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ut(t),+t>+this):(n=m(t)?+t:+Ut(t),+this.clone().endOf(e)<n)}function oe(t,e,n){return this.isAfter(t,n)&&this.isBefore(e,n)}function ae(t,e){var n;return e=T(e||"millisecond"),"millisecond"===e?(t=m(t)?t:Ut(t),+this===+t):(n=+Ut(t),+this.clone().startOf(e)<=n&&n<=+this.clone().endOf(e))}function ue(t,e,n){var i,r,s=Lt(t,this),o=6e4*(s.utcOffset()-this.utcOffset());return e=T(e),"year"===e||"month"===e||"quarter"===e?(r=de(this,s),"quarter"===e?r/=3:"year"===e&&(r/=12)):(i=this-s,r="second"===e?i/1e3:"minute"===e?i/6e4:"hour"===e?i/36e5:"day"===e?(i-o)/864e5:"week"===e?(i-o)/6048e5:i),n?r:_(r)}function de(t,e){var n,i,r=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(r,"months");return 0>e-s?(n=t.clone().add(r-1,"months"),i=(e-s)/(s-n)):(n=t.clone().add(r+1,"months"),i=(e-s)/(n-s)),-(r+i)}function le(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ce(){var t=this.clone().utc();return 0<t.year()&&t.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():H(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):H(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function fe(e){var n=H(this,e||t.defaultFormat);return this.localeData().postformat(n)}function he(t,e){return this.isValid()?Bt({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function me(t){return this.from(Ut(),t)}function _e(t,e){return this.isValid()?Bt({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function ye(t){return this.to(Ut(),t)}function pe(t){var e;return void 0===t?this._locale._abbr:(e=S(t),null!=e&&(this._locale=e),this)}function ge(){return this._locale}function ve(t){switch(t=T(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function De(t){return t=T(t),void 0===t||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")}function Me(){return+this._d-6e4*(this._offset||0)}function Ye(){return Math.floor(+this/1e3)}function we(){return this._offset?new Date(+this):this._d}function Se(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function ke(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Te(){return l(this)}function be(){return o({},d(this))}function Oe(){return d(this).overflow}function Ue(t,e){F(0,[t,t.length],0,e)}function We(t,e,n){return dt(Ut([t,11,31+e-n]),e,n).week}function Ce(t){var e=dt(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")}function Ge(t){var e=dt(this,1,4).year;return null==t?e:this.add(t-e,"y")}function Fe(){return We(this.year(),1,4)}function Pe(){var t=this.localeData()._week;return We(this.year(),t.dow,t.doy)}function xe(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function He(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Le(t){return this._weekdays[t.day()]}function Ie(t){return this._weekdaysShort[t.day()]}function Ae(t){return this._weekdaysMin[t.day()]}function ze(t){var e,n,i;for(this._weekdaysParse=this._weekdaysParse||[],e=0;7>e;e++)if(this._weekdaysParse[e]||(n=Ut([2e3,1]).day(e),i="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(i.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Ne(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=He(t,this.localeData()),this.add(t-e,"d")):e}function Ze(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function je(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ee(t,e){F(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ve(t,e){return e._meridiemParse}function qe(t){return"p"===(t+"").toLowerCase().charAt(0)}function Je(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function $e(t,e){e[fi]=y(1e3*("0."+t))}function Re(){return this._isUTC?"UTC":""}function Be(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Ut(1e3*t)}function Xe(){return Ut.apply(null,arguments).parseZone()}function Ke(t,e,n){var i=this._calendar[t];return"function"==typeof i?i.call(e,n):i}function tn(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function en(){return this._invalidDate}function nn(t){return this._ordinal.replace("%d",t)}function rn(t){return t}function sn(t,e,n,i){var r=this._relativeTime[n];return"function"==typeof r?r(t,e,n,i):r.replace(/%d/i,t)}function on(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function an(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function un(t,e,n,i){var r=S(),s=a().set(i,e);return r[n](s,t)}function dn(t,e,n,i,r){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return un(t,e,n,r);var s,o=[];for(s=0;i>s;s++)o[s]=un(t,s,n,r);return o}function ln(t,e){return dn(t,e,"months",12,"month")}function cn(t,e){return dn(t,e,"monthsShort",12,"month")}function fn(t,e){return dn(t,e,"weekdays",7,"day")}function hn(t,e){return dn(t,e,"weekdaysShort",7,"day")}function mn(t,e){return dn(t,e,"weekdaysMin",7,"day")}function _n(){var t=this._data;return this._milliseconds=Ri(this._milliseconds),this._days=Ri(this._days),this._months=Ri(this._months),t.milliseconds=Ri(t.milliseconds),t.seconds=Ri(t.seconds),t.minutes=Ri(t.minutes),t.hours=Ri(t.hours),t.months=Ri(t.months),t.years=Ri(t.years),this}function yn(t,e,n,i){var r=Bt(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function pn(t,e){return yn(this,t,e,1)}function gn(t,e){return yn(this,t,e,-1)}function vn(t){return 0>t?Math.floor(t):Math.ceil(t)}function Dn(){var t,e,n,i,r,s=this._milliseconds,o=this._days,a=this._months,u=this._data;return s>=0&&o>=0&&a>=0||0>=s&&0>=o&&0>=a||(s+=864e5*vn(Yn(a)+o),o=0,a=0),u.milliseconds=s%1e3,t=_(s/1e3),u.seconds=t%60,e=_(t/60),u.minutes=e%60,n=_(e/60),u.hours=n%24,o+=_(n/24),r=_(Mn(o)),a+=r,o-=vn(Yn(r)),i=_(a/12),a%=12,u.days=o,u.months=a,u.years=i,this}function Mn(t){return 4800*t/146097}function Yn(t){return 146097*t/4800}function wn(t){var e,n,i=this._milliseconds;if(t=T(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+Mn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(Yn(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function Sn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function kn(t){return function(){return this.as(t)}}function Tn(t){return t=T(t),this[t+"s"]()}function bn(t){return function(){return this._data[t]}}function On(){return _(this.days()/7)}function Un(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function Wn(t,e,n){var i=Bt(t).abs(),r=cr(i.as("s")),s=cr(i.as("m")),o=cr(i.as("h")),a=cr(i.as("d")),u=cr(i.as("M")),d=cr(i.as("y")),l=r<fr.s&&["s",r]||1===s&&["m"]||s<fr.m&&["mm",s]||1===o&&["h"]||o<fr.h&&["hh",o]||1===a&&["d"]||a<fr.d&&["dd",a]||1===u&&["M"]||u<fr.M&&["MM",u]||1===d&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=n,Un.apply(null,l)}function Cn(t,e){return void 0===fr[t]?!1:void 0===e?fr[t]:(fr[t]=e,!0)}function Gn(t){var e=this.localeData(),n=Wn(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Fn(){var t,e,n,i=hr(this._milliseconds)/1e3,r=hr(this._days),s=hr(this._months);t=_(i/60),e=_(t/60),i%=60,t%=60,n=_(s/12),s%=12;var o=n,a=s,u=r,d=e,l=t,c=i,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(o?o+"Y":"")+(a?a+"M":"")+(u?u+"D":"")+(d||l||c?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var Pn,xn,Hn=t.momentProperties=[],Ln=!1,In={},An={},zn=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Nn=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Zn={},jn={},En=/\d/,Vn=/\d\d/,qn=/\d{3}/,Jn=/\d{4}/,$n=/[+-]?\d{6}/,Rn=/\d\d?/,Bn=/\d{1,3}/,Qn=/\d{1,4}/,Xn=/[+-]?\d{1,6}/,Kn=/\d+/,ti=/[+-]?\d+/,ei=/Z|[+-]\d\d:?\d\d/gi,ni=/[+-]?\d+(\.\d{1,3})?/,ii=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ri={},si={},oi=0,ai=1,ui=2,di=3,li=4,ci=5,fi=6;F("M",["MM",2],"Mo",function(){return this.month()+1}),F("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),F("MMMM",0,0,function(t){return this.localeData().months(this,t)}),k("month","M"),A("M",Rn),A("MM",Rn,Vn),A("MMM",ii),A("MMMM",ii),Z(["M","MM"],function(t,e){e[ai]=y(t)-1}),Z(["MMM","MMMM"],function(t,e,n,i){var r=n._locale.monthsParse(t,i,n._strict);null!=r?e[ai]=r:d(n).invalidMonth=t});var hi="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),mi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),_i={};t.suppressDeprecationWarnings=!1;var yi=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,pi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gi=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],vi=/^\/?Date\((\-?\d+)/i;t.createFromInputFallback=tt("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),F(0,["YY",2],0,function(){return this.year()%100}),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),k("year","y"),A("Y",ti),A("YY",Rn,Vn),A("YYYY",Qn,Jn),A("YYYYY",Xn,$n),A("YYYYYY",Xn,$n),Z(["YYYYY","YYYYYY"],oi),Z("YYYY",function(e,n){n[oi]=2===e.length?t.parseTwoDigitYear(e):y(e)}),Z("YY",function(e,n){n[oi]=t.parseTwoDigitYear(e)}),t.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Di=O("FullYear",!1);F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),k("week","w"),k("isoWeek","W"),A("w",Rn),A("ww",Rn,Vn),A("W",Rn),A("WW",Rn,Vn),j(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=y(t)});var Mi={dow:0,doy:6};F("DDD",["DDDD",3],"DDDo","dayOfYear"),k("dayOfYear","DDD"),A("DDD",Bn),A("DDDD",qn),Z(["DDD","DDDD"],function(t,e,n){n._dayOfYear=y(t)}),t.ISO_8601=function(){};var Yi=tt("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ut.apply(null,arguments);return this>t?this:t}),wi=tt("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ut.apply(null,arguments);return t>this?this:t});xt("Z",":"),xt("ZZ",""),A("Z",ei),A("ZZ",ei),Z(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Ht(t)});var Si=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var ki=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ti=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Bt.fn=Ft.prototype;var bi=te(1,"add"),Oi=te(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Ui=tt("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ue("gggg","weekYear"),Ue("ggggg","weekYear"),Ue("GGGG","isoWeekYear"),Ue("GGGGG","isoWeekYear"),k("weekYear","gg"),k("isoWeekYear","GG"),A("G",ti),A("g",ti),A("GG",Rn,Vn),A("gg",Rn,Vn),A("GGGG",Qn,Jn),A("gggg",Qn,Jn),A("GGGGG",Xn,$n),A("ggggg",Xn,$n),j(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=y(t)}),j(["gg","GG"],function(e,n,i,r){n[r]=t.parseTwoDigitYear(e)}),F("Q",0,0,"quarter"),k("quarter","Q"),A("Q",En),Z("Q",function(t,e){e[ai]=3*(y(t)-1)}),F("D",["DD",2],"Do","date"),k("date","D"),A("D",Rn),A("DD",Rn,Vn),A("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),Z(["D","DD"],ui),Z("Do",function(t,e){e[ui]=y(t.match(Rn)[0],10)});var Wi=O("Date",!0);F("d",0,"do","day"),F("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),F("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),F("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),k("day","d"),k("weekday","e"),k("isoWeekday","E"),A("d",Rn),A("e",Rn),A("E",Rn),A("dd",ii),A("ddd",ii),A("dddd",ii),j(["dd","ddd","dddd"],function(t,e,n){var i=n._locale.weekdaysParse(t);null!=i?e.d=i:d(n).invalidWeekday=t}),j(["d","e","E"],function(t,e,n,i){e[i]=y(t)});var Ci="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gi="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Fi="Su_Mo_Tu_We_Th_Fr_Sa".split("_");F("H",["HH",2],0,"hour"),F("h",["hh",2],0,function(){return this.hours()%12||12}),Ee("a",!0),Ee("A",!1),k("hour","h"),A("a",Ve),A("A",Ve),A("H",Rn),A("h",Rn),A("HH",Rn,Vn),A("hh",Rn,Vn),Z(["H","HH"],di),Z(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),Z(["h","hh"],function(t,e,n){e[di]=y(t),d(n).bigHour=!0});var Pi=/[ap]\.?m?\.?/i,xi=O("Hours",!0);F("m",["mm",2],0,"minute"),k("minute","m"),A("m",Rn),A("mm",Rn,Vn),Z(["m","mm"],li);var Hi=O("Minutes",!1);F("s",["ss",2],0,"second"),k("second","s"),A("s",Rn),A("ss",Rn,Vn),Z(["s","ss"],ci);var Li=O("Seconds",!1);F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return 10*this.millisecond()}),F(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),F(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),F(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),F(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),F(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),k("millisecond","ms"),A("S",Bn,En),A("SS",Bn,Vn),A("SSS",Bn,qn);var Ii;for(Ii="SSSS";Ii.length<=9;Ii+="S")A(Ii,Kn);for(Ii="S";Ii.length<=9;Ii+="S")Z(Ii,$e);var Ai=O("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var zi=h.prototype;zi.add=bi,zi.calendar=ne,zi.clone=ie,zi.diff=ue,zi.endOf=De,zi.format=fe,zi.from=he,zi.fromNow=me,zi.to=_e,zi.toNow=ye,zi.get=C,zi.invalidAt=Oe,zi.isAfter=re,zi.isBefore=se,zi.isBetween=oe,zi.isSame=ae,zi.isValid=Te,zi.lang=Ui,zi.locale=pe,zi.localeData=ge,zi.max=wi,zi.min=Yi,zi.parsingFlags=be,zi.set=C,zi.startOf=ve,zi.subtract=Oi,zi.toArray=Se,zi.toObject=ke,zi.toDate=we,zi.toISOString=ce,zi.toJSON=ce,zi.toString=le,
zi.unix=Ye,zi.valueOf=Me,zi.year=Di,zi.isLeapYear=ut,zi.weekYear=Ce,zi.isoWeekYear=Ge,zi.quarter=zi.quarters=xe,zi.month=B,zi.daysInMonth=Q,zi.week=zi.weeks=ht,zi.isoWeek=zi.isoWeeks=mt,zi.weeksInYear=Pe,zi.isoWeeksInYear=Fe,zi.date=Wi,zi.day=zi.days=Ne,zi.weekday=Ze,zi.isoWeekday=je,zi.dayOfYear=yt,zi.hour=zi.hours=xi,zi.minute=zi.minutes=Hi,zi.second=zi.seconds=Li,zi.millisecond=zi.milliseconds=Ai,zi.utcOffset=At,zi.utc=Nt,zi.local=Zt,zi.parseZone=jt,zi.hasAlignedHourOffset=Et,zi.isDST=Vt,zi.isDSTShifted=qt,zi.isLocal=Jt,zi.isUtcOffset=$t,zi.isUtc=Rt,zi.isUTC=Rt,zi.zoneAbbr=Re,zi.zoneName=Be,zi.dates=tt("dates accessor is deprecated. Use date instead.",Wi),zi.months=tt("months accessor is deprecated. Use month instead",B),zi.years=tt("years accessor is deprecated. Use year instead",Di),zi.zone=tt("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",zt);var Ni=zi,Zi={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},ji={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Ei="Invalid date",Vi="%d",qi=/\d{1,2}/,Ji={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"},$i=g.prototype;$i._calendar=Zi,$i.calendar=Ke,$i._longDateFormat=ji,$i.longDateFormat=tn,$i._invalidDate=Ei,$i.invalidDate=en,$i._ordinal=Vi,$i.ordinal=nn,$i._ordinalParse=qi,$i.preparse=rn,$i.postformat=rn,$i._relativeTime=Ji,$i.relativeTime=sn,$i.pastFuture=on,$i.set=an,$i.months=q,$i._months=hi,$i.monthsShort=J,$i._monthsShort=mi,$i.monthsParse=$,$i.week=lt,$i._week=Mi,$i.firstDayOfYear=ft,$i.firstDayOfWeek=ct,$i.weekdays=Le,$i._weekdays=Ci,$i.weekdaysMin=Ae,$i._weekdaysMin=Fi,$i.weekdaysShort=Ie,$i._weekdaysShort=Gi,$i.weekdaysParse=ze,$i.isPM=qe,$i._meridiemParse=Pi,$i.meridiem=Je,Y("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),t.lang=tt("moment.lang is deprecated. Use moment.locale instead.",Y),t.langData=tt("moment.langData is deprecated. Use moment.localeData instead.",S);var Ri=Math.abs,Bi=kn("ms"),Qi=kn("s"),Xi=kn("m"),Ki=kn("h"),tr=kn("d"),er=kn("w"),nr=kn("M"),ir=kn("y"),rr=bn("milliseconds"),sr=bn("seconds"),or=bn("minutes"),ar=bn("hours"),ur=bn("days"),dr=bn("months"),lr=bn("years"),cr=Math.round,fr={s:45,m:45,h:22,d:26,M:11},hr=Math.abs,mr=Ft.prototype;mr.abs=_n,mr.add=pn,mr.subtract=gn,mr.as=wn,mr.asMilliseconds=Bi,mr.asSeconds=Qi,mr.asMinutes=Xi,mr.asHours=Ki,mr.asDays=tr,mr.asWeeks=er,mr.asMonths=nr,mr.asYears=ir,mr.valueOf=Sn,mr._bubble=Dn,mr.get=Tn,mr.milliseconds=rr,mr.seconds=sr,mr.minutes=or,mr.hours=ar,mr.days=ur,mr.weeks=On,mr.months=dr,mr.years=lr,mr.humanize=Gn,mr.toISOString=Fn,mr.toString=Fn,mr.toJSON=Fn,mr.locale=pe,mr.localeData=ge,mr.toIsoString=tt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Fn),mr.lang=Ui,F("X",0,0,"unix"),F("x",0,0,"valueOf"),A("x",ti),A("X",ni),Z("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),Z("x",function(t,e,n){n._d=new Date(y(t))}),t.version="2.10.6",e(Ut),t.fn=Ni,t.min=Ct,t.max=Gt,t.utc=a,t.unix=Qe,t.months=ln,t.isDate=i,t.locale=Y,t.invalid=c,t.duration=Bt,t.isMoment=m,t.weekdays=fn,t.parseZone=Xe,t.localeData=S,t.isDuration=Pt,t.monthsShort=cn,t.weekdaysMin=mn,t.defineLocale=w,t.weekdaysShort=hn,t.normalizeUnits=T,t.relativeTimeThreshold=Cn;var _r=t;return _r});
/* <<< file end: js/node_modules/moment/min/moment.min.js */
//# map link was there [moment.min.js.map]
/* >>> file start: js/node_modules/moment/locale/ru.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e,t){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?t(require("../moment")):"function"==typeof define&&define.amd?define(["moment"],t):t(e.moment)}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&4>=t%10&&(10>t%100||t%100>=20)?n[1]:n[2]}function n(e,n,_){var i={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:асасаасов",dd:ень_дня_дней",MM:есяц_месяцаесяцев",yy:"год_годает"};return"m"===_?n?"минута":"минуту":e+" "+t(i[_],+e)}function _(e,t){var n={nominative:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),accusative:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_")},_=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(t)?"accusative":"nominative";return n[_][e.month()]}function i(e,t){var n={nominative:"янв_фев_март_апрай_июнь_июль_авг_сен_окт_ноя_дек".split("_"),accusative:"янв_фев_мар_апрая_июня_июля_авг_сен_окт_ноя_дек".split("_")},_=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(t)?"accusative":"nominative";return n[_][e.month()]}function d(e,t){var n={nominative:оскресенье_понедельник_вторник_средаетверг_пятница_суббота".split("_"),accusative:оскресенье_понедельник_вторник_средуетверг_пятницу_субботу".split("_")},_=/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/.test(t)?"accusative":"nominative";return n[_][e.day()]}var r=e.defineLocale("ru",{months:_,monthsShort:i,weekdays:d,weekdaysShort:с_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:с_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return 4>e?"ночи":12>e?"утра":17>e?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return r});
/* <<< file end: js/node_modules/moment/locale/ru.js */
//# map link was there [ru.js.map]
/* >>> file start: js/facebookMigration/migration.js */
//= require js/core/angular/api.js
//= require js/node_modules/moment/min/moment.min.js
//= require js/node_modules/moment/locale/ru.js
Site.page.template['Widgets/facebook_migration.tmpl'] = '<div\n class=\"modal-wrapper\"\n ng-if=\"!migration.hidden\"\n >\n <div\n class=\"\n modal\n fbmerge\n fbmerge--step{{migration.step}}\n fbmerge--hide-sharing\n \"\n ng-class=\"{\n \'fbmerge--need-action\': migration.step >= 2 && migration.step <= 4,\n \'fbmerge--loading\': migration.loading,\n }\"\n >\n\n <!-- header -->\n <header class=\"fbmerge__descr\">\n <!-- steps: 1 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step1\">\n <h1 class=\"fbmerge__title\" lj-ml=\"fbmerging.step1.description.title\"></h1>\n\n <div class=\"fbmerge__choice-buttons\">\n <button\n type=\"button\"\n class=\"\n fbmerge__flatbutton\n fbmerge__flatbutton--inverse\n fbmerge__choice-button\n fbmerge__choice-button--import\n flatbutton\n flatbutton--small\n \"\n ng-click=\"migration.importStep()\"\n lj-ml=\"fbmerging.step1.description.agreement\"\n ></button>\n <button\n type=\"button\"\n class=\"\n fbmerge__choice-button\n fbmerge__choice-button--no-border\n \"\n ng-click=\"migration.hide()\"\n lj-ml=\"fbmerging.step1.description.refusing\"\n ></button>\n </div>\n </div>\n\n <!-- steps: 2 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step2\">\n <h1 class=\"fbmerge__title\" lj-ml=\"fbmerging.step2.description.title\"></h1>\n </div>\n\n <!-- steps: 3 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step3\">\n <h1\n class=\"fbmerge__title\"\n lj-ml=\"fbmerging.step3.description.title\"\n ng-if=\"migration.addr\"></h1>\n <h1\n class=\"fbmerge__title\"\n lj-ml=\"fbmerging.step3.description.title2\"\n ng-if=\"!migration.addr\"></h1>\n </div>\n\n <!-- steps: 4 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step4\">\n <h1 class=\"fbmerge__title\" lj-ml=\"fbmerging.step4.description.title\"></h1>\n </div>\n\n <!-- steps: 5 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step5\">\n <h1\n class=\"fbmerge__title\"\n lj-ml=\"fbmerging.step5.description.title\"\n ></h1>\n <p\n class=\"fbmerge__text fbmerge__text--step5\"\n lj-ml=\"fbmerging.step5.description.text\"\n ></p>\n <p\n class=\"fbmerge__text fbmerge__text--step5\"\n ng-if=\"migration.needEmailConfirm\"\n >\n Confirm your email <a href=\"/register.bml\" target=\"_blank\">here</a>\n </p>\n\n </div>\n \n <!-- steps: 6 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step6\">\n <h1 class=\"fbmerge__title\" lj-ml=\"fbmerging.step6.description.title\"></h1>\n </div>\n \n <!-- steps: 7 -->\n <div class=\"fbmerge__elem\n fbmerge__elem--step7\">\n <h1 class=\"fbmerge__title\" lj-ml=\"fbmerging.step7.description.title\"></h1>\n <form\n class=\"fbmerge__choice-buttons\"\n action=\"{{migration.sendMailAction}}\"\n method=\"post\"\n >\n <button\n class=\"\n fbmerge__flatbutton\n fbmerge__flatbutton--inverse\n fbmerge__choice-button\n fbmerge__choice-button--sendmail\n flatbutton \n flatbutton--small\n \"\n name=\"action:send\"\n value=\"1\"\n type=\"submit\"\n lj-ml=\"fbmerging.step7.description.sendmail\"\n ></button>\n <input type=\"hidden\" name=\"authas\" value=\"{{migration.authAs}}\">\n <a\n class=\"\n fbmerge__choice-button\n fbmerge__choice-button--no-border\n \"\n ng-href=\"{{migration.siteRoot}}/manage/settings/?cat=account\"\n lj-ml=\"fbmerging.step7.description.options\"\n ></a>\n </form>\n </div>\n </header>\n <!-- /header -->\n\n <!-- sharing -->\n <ul class=\"fbmerge__sharing\">\n <li class=\"fbmerge__sharing-item\">\n <span class=\"fbmerge__sharing-text\" lj-ml=\"fbmerging.sharing.title\"></span>\n </li>\n <li class=\"fbmerge__sharing-item\">\n <a href=\"#\" class=\"fbmerge__sharing-link\" ng-click=\"migration.share(\'livejournal\')\">\n <svg class=\"fbmerge__sharing-img\" width=\"21px\" height=\"21px\" viewBox=\"0 0 21 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M12.79894,15.85731 C13.36944,14.53641 14.42504,13.47381 15.74244,12.89701 L16.51314,16.62521 L12.79894,15.85731 Z M11.10284,1.43661 C9.72244,1.43661 8.41064,1.72501 7.21994,2.23881 L5.07164,0.09331 L5.06674,0.09331 C2.79874,1.08661 0.98084,2.91361 0.00014,5.19001 L2.15124,7.33831 C3.13124,5.06191 4.94844,3.23631 7.21784,2.24231 L7.22134,2.24301 L15.17404,10.18451 L15.17264,10.18451 C12.90534,11.17781 11.08604,13.00551 10.10604,15.28051 L2.15054,7.34041 L2.15054,7.34111 C1.63114,8.53461 1.32174,9.83381 1.32174,11.21841 C1.32174,16.62171 5.70024,21.00021 11.10284,21.00021 C16.50334,21.00021 20.88324,16.62031 20.88324,11.21841 C20.88324,5.81651 16.50404,1.43661 11.10284,1.43661 L11.10284,1.43661 Z\" fill=\"#FFFFFF\"></path>\n </svg>\n </a>\n </li>\n <li class=\"fbmerge__sharing-item\">\n <a href=\"#\" class=\"fbmerge__sharing-link\" ng-click=\"migration.share(\'facebook\')\">\n <svg class=\"fbmerge__sharing-img\" width=\"11px\" height=\"21px\" viewBox=\"0 0 11 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M13.3242729,19.6465026 L13.3242729,16.0030329 L16.4703384,16.0030329 L16.4703384,13.3161097 C16.4703384,10.1979039 18.3747478,8.5 21.1563758,8.5 C22.4887569,8.5 23.6339895,8.59922756 23.9677631,8.64354981 L23.9677631,11.90223 L22.038479,11.9031345 C20.5257336,11.9031345 20.2327545,12.621969 20.2327545,13.6768385 L20.2327545,16.0030329 L23.8406759,16.0030329 L23.3708601,19.6465026 L20.2327545,19.6465026 L20.2327545,28.5930839 L16.4703384,28.5930839 L16.4703384,19.6465026 L13.3242729,19.6465026 Z\" fill=\"#FFFFFF\" transform=\"translate(-13.000000, -8.000000)\"></path>\n </svg>\n </a>\n </li>\n <li class=\"fbmerge__sharing-item\">\n <a href=\"#\" class=\"fbmerge__sharing-link\" ng-click=\"migration.share(\'twitter\')\">\n <svg class=\"fbmerge__sharing-img\" width=\"18px\" height=\"14px\" viewBox=\"0 0 18 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M17.9599007,1.70276413 C17.2990905,1.98282691 16.5890102,2.1721722 15.8435869,2.25723946 C16.6043825,1.82148161 17.1886599,1.13133812 17.4637182,0.309104933 C16.7517985,0.712656502 15.9632803,1.00565202 15.1239153,1.16360717 C14.4518058,0.479239462 13.4941927,0.0515802691 12.4344263,0.0515802691 C10.3993752,0.0515802691 8.74961606,1.62824395 8.74961606,3.5728 C8.74961606,3.84884484 8.7822,4.11754439 8.84500292,4.3752574 C5.78270365,4.22841435 3.06765985,2.82653094 1.25031679,0.696145291 C0.933148905,1.21621704 0.751440876,1.82110493 0.751440876,2.46642332 C0.751440876,3.68806457 1.40193723,4.76587623 2.39062336,5.39738296 C1.78663796,5.3791139 1.21845547,5.2206565 0.721681752,4.95691659 C0.721418978,4.97160717 0.721353285,4.98636054 0.721353285,5.00117668 C0.721353285,6.70729327 1.99147007,8.13052197 3.67709781,8.4540287 C3.36787883,8.53445022 3.04236788,8.57745471 2.70634599,8.57745471 C2.46886423,8.57745471 2.23808321,8.55541883 2.01308321,8.51429776 C2.48200292,9.91329327 3.84277664,10.9313381 5.4551562,10.9598404 C4.19403942,11.9042439 2.60530949,12.4671318 0.878951825,12.4671318 C0.581557664,12.4671318 0.288236496,12.4504951 -2.6277372e-05,12.4179749 C1.63068175,13.4170601 3.56745547,13.9999749 5.64829489,13.9999749 C12.4258204,13.9999749 16.131981,8.63439641 16.131981,3.98112287 C16.131981,3.82844126 16.1283679,3.67657578 16.1213387,3.52558924 C16.8412073,3.02912287 17.4658861,2.40891659 17.9599007,1.70276413\" fill=\"#FFFFFF\"></path>\n </svg>\n </a>\n </li>\n <li>\n <input\n type=\"hidden\"\n name=\"returnto\"\n value=\"{{migration.returnTo}}\"\n >\n </li>\n </ul>\n <!-- /sharing -->\n\n <!-- statuses -->\n <div class=\"fbmerge__statuses\">\n <div class=\"fbmerge__status fbmerge__status--fb\">\n <svg \n class=\"fbmerge__status-img fbmerge__status-img--fb\" \n width=\"41px\" height=\"77px\" \n viewBox=\"0 0 41 77\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <path d=\"M501.307329,250.375956 L501.307329,236.589854 L513.189472,236.589854 L513.189472,226.423118 C513.189472,214.624501 520.382096,208.2 530.887822,208.2 C535.919994,208.2 540.245339,208.575456 541.505944,208.743161 L541.505944,221.073303 L534.219373,221.076725 C528.505996,221.076725 527.399465,223.79664 527.399465,227.788038 L527.399465,236.589854 L541.025958,236.589854 L539.251545,250.375956 L527.399465,250.375956 L527.399465,284.227885 L513.189472,284.227885 L513.189472,250.375956 L501.307329,250.375956 Z\" fill=\"#ffffff\" transform=\"translate(-501.000000, -208.000000)\"></path>\n </svg>\n </div>\n <div class=\"fbmerge__status fbmerge__status--lj\">\n <svg \n class=\"fbmerge__status-img fbmerge__status-img--lj\" \n width=\"82px\" height=\"84px\" \n viewBox=\"0 0 82 84\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <ellipse fill=\"#00B2ED\" cx=\"40.8747045\" cy=\"41.65\" rx=\"36.6824271\" ry=\"36.75\"></ellipse>\n <path d=\"M47.640062,58.94042 L61.6681208,61.84612 L58.7572829,47.73902 C53.7817484,49.92162 49.7948926,53.94242 47.640062,58.94042\" fill=\"#981658\"></path>\n <path d=\"M47.640062,58.94042 C49.7948926,53.94242 53.7817484,49.92162 58.7572829,47.73902 L61.6681208,61.84612 L47.640062,58.94042 Z\" fill=\"#00344B\"></path>\n <path d=\"M27.2679695,8.1179 L19.1545154,0 L19.1356501,0 C10.5701287,3.7583 3.70387707,10.6715 0,19.2843 L8.12463357,27.4134 C11.8257158,18.7999 18.6891726,11.8923 27.2602837,8.1312 L27.2735592,8.134 L27.2679695,8.1179 Z\" fill=\"#00B2ED\"></path>\n <path d=\"M7.68584187,26.9927 L7.68584187,26.9899 L37.7325926,57.0339 C41.4336748,48.4253 48.3048174,41.51 56.8682427,37.7517 L56.8731337,37.7517 L26.8375624,7.7028 L26.8242868,7.7 C18.2531757,11.4611 11.3897189,18.3687 7.68863672,26.9822 L7.68584187,26.9927 Z\" fill=\"#00344B\"></path>\n <path d=\"M58.9700287,47.5838092 C57.8019856,42.0097299 56.7485289,36.9790123 56.7485289,36.9790123 L56.7374399,36.9827087 C47.8810114,40.8675611 40.7729513,48.0014956 36.9398476,56.8985838 L47.4670214,59.1496543 C49.6996103,54.0043503 53.8358137,49.8311834 58.9700287,47.5838092\" fill=\"#FFFFFF\"></path>\n </svg>\n </div>\n </div>\n <!-- /statuses -->\n\n <!-- steps: 2 -->\n <form\n class=\"fbmerge__container\n fbmerge__elem\n fbmerge__elem--step2\"\n action=\"{{migration.loginLink}}\"\n method=\"post\"\n >\n <ul class=\"fbmerge__inputs-list\">\n <li class=\"fbmerge__inputs-item\">\n <label\n class=\"fbmerge__text-label\"\n for=\"fbmerge__login-username\"\n lj-ml=\"fbmerging.step2.form.login\"></label>\n <div class=\"fbmerge__input-wrapper\">\n <input\n class=\"fbmerge__text-input\"\n id=\"fbmerge__login-username\"\n name=\"user\"\n type=\"text\"\n ng-model=\"migration.step2.login\"\n >\n <span\n class=\"fbmerge__input-tooltip\"\n lj_ml=\"createaccount.error.username.inuse\"\n ></span>\n </div>\n </li>\n <li class=\"fbmerge__inputs-item\">\n <label\n class=\"fbmerge__text-label\"\n for=\"fbmerge__login-pass\"\n lj-ml=\"fbmerging.step2.form.password\"></label>\n <div class=\"fbmerge__input-wrapper\">\n <input\n class=\"fbmerge__text-input\"\n id=\"fbmerge__login-pass\"\n name=\"password\"\n type=\"password\"\n ng-model=\"migration.step2.password\"\n >\n <span\n class=\"fbmerge__input-tooltip\"\n lj_ml=\"createaccount.error.password.digits_only\"\n ></span>\n </div>\n </li>\n </ul>\n \n <div class=\"fbmerge__flatbutton-wrapper\">\n <button\n class=\"\n fbmerge__flatbutton\n flatbutton\n flatbutton--small\n \"\n ng-class=\"{\'flatbutton--active\': migration.step2.login && migration.step2.password}\"\n lj-ml=\"fbmerging.step2.form.entry\"\n ng-disabled=\"!migration.step2.login && !migration.step2.password\"\n ></button>\n </div>\n\n <small\n class=\"fbmerge__notice fbmerge__notice--step2\"\n lj-ml=\"fbmerging.step2.form.notice\"\n ></small>\n\n <a\n class=\"\n fbmerge__flatbutton\n fbmerge__flatbutton--fb\n flatbutton\n flatbutton--small\n \"\n ng-attr-title=\"{{migration.fbLoginTitle}}\"\n ng-href=\"{{migration.facebookLink}}\"\n >\n <span\n class=\"\n fbmerge__flatbutton-icon\n fbmerge__flatbutton-icon--fb\n \"\n lj-svg-icon=\"flaticon--facebook\"></span>\n <span\n class=\"\n fbmerge__flatbutton-text\n fbmerge__flatbutton-text--fb\">\n Facebook\n </span>\n </a>\n </form>\n <!-- /steps: 2 -->\n\n <!-- steps: 3 -->\n <div class=\"fbmerge__container\n fbmerge__elem\n fbmerge__elem--step3\">\n\n <div ng-if=\"migration.addr\">\n <p\n class=\"fbmerge__text fbmerge__text--step3\"\n lj-ml=\"fbmerging.step3.form.text\"\n ></p>\n <a\n class=\"\n fbmerge__flatbutton\n flatbutton\n flatbutton--small\n \"\n ng-href=\"{{migration.addr}}\"\n lj-ml=\"fbmerging.step3.form.allow\"\n ></a>\n </div>\n <div ng-if=\"!migration.addr\">\n <ul class=\"fbmerge__inputs-list\">\n <li class=\"fbmerge__inputs-item\">\n <label\n class=\"fbmerge__text-label\"\n for=\"fbmerge__create-username\"\n lj-ml=\"fbmerging.step2.form.login\"\n ></label>\n <div class=\"fbmerge__input-wrapper\">\n <input\n class=\"fbmerge__text-input\"\n id=\"fbmerge__create-username\"\n name=\"user\"\n type=\"text\"\n ng-model=\"migration.username\"\n ng-class=\"{\'fbmerge__text-input--error\': migration.step3Errors.username.unchecked}\"\n >\n <span\n class=\"fbmerge__input-tooltip\"\n ng-style=\"{\'display\': migration.step3Errors.username.text ? \'block\' : \'none\'}\"\n ng-bind-html=\"migration.step3Errors.username.text\"\n ></span>\n </div>\n <small\n class=\"fbmerge__notice fbmerge__notice--step3\"\n lj-ml=\"createaccount.tip.username\"\n ></small>\n </li>\n <li class=\"fbmerge__inputs-item\">\n <label\n class=\"fbmerge__text-label\"\n for=\"fbmerge__create-email\"\n lj-ml=\"fbmerging.step3.form.mail\"\n ></label>\n <div class=\"fbmerge__input-wrapper\">\n <input\n class=\"fbmerge__text-input\"\n id=\"fbmerge__create-email\"\n name=\"email\"\n type=\"text\"\n ng-model=\"migration.email\"\n ng-class=\"{\'fbmerge__text-input--error\': migration.step3Errors.email.unchecked}\"\n >\n <span\n class=\"fbmerge__input-tooltip\"\n ng-style=\"{\'display\': migration.step3Errors.email.text ? \'block\' : \'none\'}\"\n ng-bind-html=\"migration.step3Errors.email.text\"\n ></span>\n <small\n class=\"fbmerge__notice fbmerge__notice--step3\"\n lj-ml=\"createaccount.tip.email\"\n ></small>\n </div>\n </li>\n <li class=\"fbmerge__inputs-item\">\n <label\n class=\"fbmerge__text-label\"\n for=\"fbmerge__create-pass\"\n lj-ml=\"fbmerging.step2.form.password\"\n ></label>\n <div class=\"fbmerge__input-wrapper\">\n <input\n class=\"fbmerge__text-input\"\n id=\"fbmerge__create-pass\"\n name=\"password\"\n type=\"password\"\n ng-model=\"migration.password\"\n ng-class=\"{\'fbmerge__text-input--error\': migration.step3Errors.password.unchecked}\"\n >\n <span\n class=\"fbmerge__input-tooltip\"\n ng-style=\"{\'display\': migration.step3Errors.password.text ? \'block\' : \'none\'}\"\n ng-bind-html=\"migration.step3Errors.password.text\"\n ></span>\n </div>\n <small\n class=\"fbmerge__notice fbmerge__notice--step3\"\n lj-ml=\"fbmerging.step3.form.user_password\"\n ></small>\n </li>\n </ul>\n\n <input\n name=\"gender\"\n type=\"hidden\"\n ng-model=\"migration.gender\"\n >\n\n <div class=\"fbmerge__flatbutton-wrapper\">\n <a\n href=\"/identity/convert.bml\"\n target=\"_blank\"\n class=\"\n fbmerge__flatbutton\n flatbutton\n flatbutton--small\n \"\n ng-class=\"{\'flatbutton--active\': migration.convertationEnabled()}\"\n ng-click=\"migration.convertIdentity($event)\"\n lj-ml=\"fbmerging.step3.form.convert_but\"\n ng-disabled=\"!migration.convertationEnabled()\"\n ></a>\n </div>\n <small\n class=\"fbmerge__notice fbmerge__notice--step3\"\n lj-ml=\"fbmerging.step2.form.notice\"\n ></small>\n </div>\n </div>\n <!-- /steps: 3 -->\n\n <!-- steps: 4 -->\n <form class=\"fbmerge__container\n fbmerge__elem\n fbmerge__elem--step4\">\n <h3\n class=\"fbmerge__subtitle\"\n lj-ml=\"fbmerging.step4.form.title\"></h3>\n <ul class=\"fbmerge__options\">\n <li class=\"fbmerge__option\">\n <label class=\"fbmerge__option-label\">\n <input\n class=\"fbmerge__option-input\"\n type=\"radio\"\n name=\"period\"\n ng-model=\"migration.period\"\n ng-value=\"migration.week\"\n >\n <span\n class=\"fbmerge__option-text\"\n lj-ml=\"fbmerging.step4.form.week\"></span>\n </label>\n </li>\n <li class=\"fbmerge__option\">\n <label class=\"fbmerge__option-label\">\n <input\n class=\"fbmerge__option-input\"\n type=\"radio\"\n name=\"period\"\n ng-model=\"migration.period\"\n ng-value=\"migration.month\"\n checked\n >\n <span\n class=\"fbmerge__option-text\"\n lj-ml=\"fbmerging.step4.form.mounth\"></span>\n </label>\n </li>\n <li class=\"fbmerge__option\">\n <label class=\"fbmerge__option-label\">\n <input\n class=\"fbmerge__option-input\"\n type=\"radio\"\n name=\"period\"\n ng-model=\"migration.period\"\n ng-value=\"migration.halfYear\"\n >\n <span\n class=\"fbmerge__option-text\"\n lj-ml=\"fbmerging.step4.form.halfyear\"></span>\n </label>\n </li>\n <li class=\"fbmerge__option\">\n <label class=\"fbmerge__option-label\">\n <input\n class=\"fbmerge__option-input\"\n type=\"radio\"\n name=\"period\"\n ng-model=\"migration.period\"\n ng-value=\"0\"\n >\n <span\n class=\"fbmerge__option-text\"\n lj-ml=\"fbmerging.step4.form.all\"></span>\n </label>\n </li>\n <li class=\"fbmerge__option\">\n <label class=\"fbmerge__option-label\">\n <input\n class=\"fbmerge__option-input\"\n type=\"radio\"\n name=\"period\"\n ng-model=\"migration.period\"\n ng-value=\"1\"\n >\n <span\n class=\"fbmerge__option-text\"\n lj-ml=\"fbmerging.step4.form.nothing\"></span>\n </label>\n </li>\n <li class=\"fbmerge__option fbmerge__option--autoimport\">\n <label class=\"fbmerge__option-label\">\n <input\n class=\"fbmerge__option-input\"\n type=\"checkbox\"\n ng-model=\"migration.autoImport\"\n >\n <span\n class=\"fbmerge__option-text\"\n lj-ml=\"fbmerging.step4.form.autoimport\"></span>\n </label>\n </li>\n </ul>\n <div class=\"fbmerge__flatbutton-wrapper\">\n <button\n ng-click=\"migration.setPeriod()\"\n class=\"\n fbmerge__flatbutton\n flatbutton\n flatbutton--small\n \"\n lj-ml=\"fbmerging.step4.form.save\"\n ></button>\n </div>\n </form>\n <!-- /steps: 4 -->\n\n <!-- close button -->\n <span\n ng-click=\"migration.hide()\"\n class=\"fbmerge__close modal__close\">\n <span\n class=\"fbmerge__close-icon\"\n lj-svg-icon=\"flaticon--cross\"></span>\n </span>\n <!-- /close button -->\n </div>\n</div>\n\n';
LJ.injectStyle('/* >>> file start: stc/widgets/facebookmigration.css */\n.fbmerge{width:820px;min-height:410px;text-align:left;font:400 15px/1.4 ProximaNova,Helvetica,sans-serif!important;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fbmerge__elem--step1,.fbmerge__elem--step2,.fbmerge__elem--step3,.fbmerge__elem--step4,.fbmerge__elem--step5,.fbmerge__elem--step6,.fbmerge__elem--step7{display:none}.fbmerge__title{margin:73px 0 0!important;width:300px;font-size:28px;line-height:31px;font-weight:700;-webkit-font-feature-settings:\"kern\" off;font-feature-settings:\"kern\" off;font-variant:none;letter-spacing:inherit;word-spacing:normal;color:#FFF!important}.fbmerge__descr{position:absolute;box-sizing:border-box;top:0;left:0;padding-left:40px;width:50%;min-height:410px;-webkit-transition:opacity ease 1s;transition:opacity ease 1s;color:#FFF!important;z-index:2}.fbmerge__descr::after,.fbmerge__descr::before{content:\'\';display:table;clear:both}.fbmerge__container{position:relative;box-sizing:border-box;margin:0 0 0 auto;padding:0 50px 0 40px;width:50%;color:#4c4c4c!important}.fbmerge--step2 .fbmerge__container,.fbmerge--step3 .fbmerge__container,.fbmerge--step4 .fbmerge__container{padding-top:40px;padding-bottom:20px}.fbmerge__text{padding:0}.fbmerge__choice-buttons{min-width:174px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.fbmerge__choice-button{margin-bottom:10px}.fbmerge__choice-button:last-child{margin-bottom:0}.fbmerge__choice-button:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.fbmerge__choice-button--no-border{padding:8px 20px;background-color:transparent;border:0;outline:0;text-align:center;text-transform:uppercase;font-size:11px;line-height:12px;color:#fff!important;cursor:pointer}.fbmerge__choice-button--no-border:hover,.fbmerge__choice-button--no-border:visited{color:#fff!important}.fbmerge__statuses{position:absolute;top:0;bottom:0;left:0;width:100%;border-radius:5px;background-color:#1EB2EA;-webkit-transition:width ease .7s;transition:width ease .7s;z-index:1}.fbmerge__status--fb,.fbmerge__status--lj{box-sizing:border-box;position:absolute;border:3px solid #FFF;width:162px;height:162px;bottom:84px;border-radius:50%;overflow:hidden}.fbmerge__status--lj{left:564px;background-color:#FFF;box-shadow:0 0 0 7px #00B1ED inset;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:ease 1s;transition:ease 1s;-webkit-transition-property:border,bottom,left;transition-property:border,bottom,left}.fbmerge__status-img--lj{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(-45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(-45deg);transform:translateX(-50%) translateY(-50%) rotate(-45deg);-webkit-transition:all ease .7s;transition:all ease .7s}.fbmerge__status--fb{left:441px;-webkit-transition:all ease .7s;transition:all ease .7s}.fbmerge__status-img--fb{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);width:40px;height:76px;-webkit-transition:all ease .7s;transition:all ease .7s}.fbmerge--need-action .fbmerge__statuses{width:50%;border-radius:5px 0 0 5px}.fbmerge--need-action .fbmerge__status--lj{left:40px;bottom:48px}.fbmerge--need-action .fbmerge__status--fb{width:0;height:0;border-width:0}.fbmerge--need-action .fbmerge__status-img--fb{width:0;height:0}.fbmerge--need-action.fbmerge--loading .fbmerge__statuses{width:100%;border-radius:5px;-webkit-transition-duration:.5s;transition-duration:.5s}.fbmerge__sharing{position:absolute;left:40px;bottom:56px;margin:0;padding:0;line-height:0;list-style:none;font-size:0;opacity:0;-webkit-transition:opacity ease 1s;transition:opacity ease 1s;z-index:2}.fbmerge__sharing-item{display:inline-block;vertical-align:middle}.fbmerge__sharing-item+.fbmerge__sharing-item{margin-left:22px}.fbmerge__sharing-text{display:inline-block;width:90px;font-size:16px;line-height:18px;color:#FFF!important}.fbmerge__sharing-link{position:relative;display:inline-block;width:35px;height:35px;border:1px solid #FFF;border-radius:50%}.fbmerge__sharing-link:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.fbmerge__sharing-img{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.fbmerge--step5 .fbmerge__sharing,.fbmerge--step6 .fbmerge__sharing{opacity:1}.fbmerge--hide-sharing .fbmerge__sharing{display:none}.fbmerge__notice{display:block;margin-top:15px;font-size:11px;line-height:12px}.fbmerge__flatbutton-wrapper{margin:25px 0}.fbmerge__flatbutton{min-width:140px;box-sizing:border-box;padding-left:20px;padding-right:20px;border-width:2px;border-color:currentColor}.fbmerge__flatbutton[disabled]{background-color:transparent;color:#AAB7BB!important}.fbmerge__flatbutton:active,.fbmerge__flatbutton:focus,.fbmerge__flatbutton:hover{background-color:transparent;color:#00A2D9!important}.fbmerge__flatbutton--inverse{background-color:transparent;border-color:currentColor;color:#FFF!important}.fbmerge__flatbutton--inverse:active,.fbmerge__flatbutton--inverse:focus,.fbmerge__flatbutton--inverse:hover{color:#FFF!important}.fbmerge__flatbutton--fb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:37px 0 0;padding:0;font-size:16px}.fbmerge__flatbutton--fb,.fbmerge__flatbutton--fb:hover,.fbmerge__flatbutton--fb:link,.fbmerge__flatbutton--fb:visited{background:0 0;border:0;color:#4c4c4c!important}.fbmerge__flatbutton--fb:focus,.fbmerge__flatbutton--fb:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.fbmerge__flatbutton--fb:focus::before{content:none}.fbmerge__flatbutton-icon--fb{width:30px;height:30px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;vertical-align:middle;margin-right:5px;margin-top:-2px;border:2px solid #00A2D9;border-radius:50%;line-height:32px;box-sizing:border-box}.fbmerge__flatbutton-icon--fb .svgicon{height:16px;fill:#00A2D9}.fbmerge__inputs-list{margin:0;padding:0;list-style:none}.fbmerge__inputs-item{margin-bottom:23px}.fbmerge__inputs-item:last-child{margin-bottom:0}.fbmerge__input-wrapper{position:relative;margin:6px 0}.fbmerge__text-input{display:block;width:100%;box-sizing:border-box;border-width:0;border-bottom:1px solid #979797;outline:0;font-size:14px;line-height:1.4;font-weight:700;background:0 0;color:#00A2D9!important}.fbmerge__text-input--error{color:#d20922!important}.fbmerge__text-input+.fbmerge__text-label{margin-top:25px}.fbmerge__text-label+.fbmerge__text-input{margin-top:5px}.fbmerge__input-tooltip{display:none;margin-top:5px;font-size:11px;line-height:1.2;color:#d0021b!important}.fbmerge__container input:-webkit-autofill,.fbmerge__container input:-webkit-autofill:focus,.fbmerge__container input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px #fff inset}.fbmerge__subtitle,.fbmerge__text-label{display:block;margin:0;text-transform:uppercase;font-size:16px;line-height:18px;font-weight:600;color:inherit!important}.fbmerge__options{margin:18px 0 0;padding:0;list-style:none}.fbmerge__option{margin-bottom:15px}.fbmerge__option:last-child{margin-bottom:0}.fbmerge__option-input{display:none}.fbmerge__option-text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:14px;line-height:1.2;cursor:pointer}.fbmerge__option-text::before{content:\'\';display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:27px;height:27px;margin-right:15px;border:2px solid #C3D3D9;border-radius:50%}.fbmerge--step1:not(.fbmerge--loading) .fbmerge__elem--step1,.fbmerge--step2:not(.fbmerge--loading) .fbmerge__elem--step2,.fbmerge--step3:not(.fbmerge--loading) .fbmerge__elem--step3,.fbmerge--step4:not(.fbmerge--loading) .fbmerge__elem--step4,.fbmerge--step5:not(.fbmerge--loading) .fbmerge__elem--step5,.fbmerge--step6:not(.fbmerge--loading) .fbmerge__elem--step6{display:block}.fbmerge--step2 .fbmerge__status--lj,.fbmerge--step3 .fbmerge__status--lj{border-bottom-color:#008CC1;border-left-color:#008CC1}.fbmerge__option-input:checked+.fbmerge__option-text::before{border-color:#00A2D9;background-image:url(\'data:image/svg+xml;charset=UTF-8, %3Csvg%20width%3D%2214px%22%20height%3D%2210px%22%20viewBox%3D%220%200%2014%2010%22%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%3E%3Cg%20id%3D%22Group-2%22%20transform%3D%22translate%28-469.000000%2C%20-152.000000%29%22%20fill%3D%22none%22%20stroke-width%3D%222%22%3E%3Cpolyline%20points%3D%22471%20156.648053%20474.882762%20160%20480.961931%20154%22%20stroke%3D%22%2300B2ED%22%3E%3C/polyline%3E%3C/g%3E%3C/svg%3E\');background-position:50% 50%;background-repeat:no-repeat}.fbmerge__option-input[disabled]+.fbmerge__option-text{pointer-events:none;cursor:default}.fbmerge__option-input[disabled]:checked+.fbmerge__option-text::before{border-color:#C3D3D9!important;background-image:url(\'data:image/svg+xml;charset=UTF-8, %3Csvg%20width%3D%2214px%22%20height%3D%2210px%22%20viewBox%3D%220%200%2014%2010%22%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%3E%3Cg%20id%3D%22Group-2%22%20transform%3D%22translate%28-469.000000%2C%20-152.000000%29%22%20fill%3D%22none%22%20stroke-width%3D%222%22%3E%3Cpolyline%20points%3D%22471%20156.648053%20474.882762%20160%20480.961931%20154%22%20stroke%3D%22%23C3D3D9%22%3E%3C/polyline%3E%3C/g%3E%3C/svg%3E\');background-position:50% 50%;background-repeat:no-repeat}.fbmerge__option--autoimport{margin-top:30px}.fbmerge__close::after,.fbmerge__close::before{content:none}.fbmerge .flaticon--cross{width:20px;height:20px;fill:#FFF!important}.fbmerge--need-action .flaticon--cross{fill:#00A2D9!important}.fbmerge--step1 .fbmerge__title{margin-bottom:60px!important}.fbmerge--loading.fbmerge--step1 .fbmerge__status--fb,.fbmerge--loading.fbmerge--step1 .fbmerge__status--lj{width:0;height:0;border-width:0}.fbmerge--step1 .fbmerge__status--lj{-webkit-transition:ease .7s;transition:ease .7s;-webkit-transition-property:border,bottom,left,width,height;transition-property:border,bottom,left,width,height}.fbmerge--step1 .fbmerge__status--fb{-webkit-transition-delay:.3s;transition-delay:.3s}.fbmerge--step2 .fbmerge__status--lj{border-right-color:#008CC1}.fbmerge--step2 .fbmerge__flatbutton{min-width:140px}.fbmerge__text--step3{margin:0 0 30px;font-size:14px;line-height:17px;font-weight:700}.fbmerge--step3 .fbmerge__input-wrapper{margin-bottom:0}.fbmerge--step4 .fbmerge__status--lj{border-left-color:#008CC1}.fbmerge--step5 .fbmerge__status--fb{background-color:#FFF;box-shadow:0 0 0 7px #00B1ED inset}.modal.fbmerge--step5 .fbmerge__status-img--fb path{fill:#00B1ED!important}.fbmerge__text--step5{margin:13px 0 0;font-size:16px;line-height:18px}.fbmerge--step6 .fbmerge__status--fb{display:none}.fbmerge--step6 .fbmerge__status--lj{left:465px;bottom:60px;width:224px;height:224px;box-shadow:0 0 0 8px #00B1ED inset,0 0 0 11px #fff inset,0 0 0 21px #00B1ED inset;-webkit-transition:ease .5s;transition:ease .5s;-webkit-transition-property:left,bottom,width,height;transition-property:left,bottom,width,height}.fbmerge--step6 .fbmerge__status-img--lj{width:100px;height:100px;-webkit-transition:ease .5s;transition:ease .5s;-webkit-transition-property:width,height,top,left;transition-property:width,height,top,left}.fbmerge--step7:not(.fbmerge--loading) .fbmerge__elem--step7{display:block}.fbmerge--step7 .fbmerge__title{margin-bottom:60px!important}@media (max-width:850px){.fbmerge{width:660px}.fbmerge__status--fb{left:320px}.fbmerge__status--lj{left:441px}.fbmerge__title{margin:36px 0 0!important;width:270px}.fbmerge__sharing-item{margin-right:15px}.fbmerge__sharing-item:last-child{margin-right:0}.fbmerge__sharing-item+.fbmerge__sharing-item{margin-left:0}.fbmerge--step6 .fbmerge__status--lj{left:400px}}@media (max-width:680px){.body--fbmerge-opened{overflow:hidden;max-height:100%}.fbmerge{width:90%;height:auto;min-height:0;max-height:95%;overflow:auto}.fbmerge__statuses{display:none}.fbmerge__descr{position:relative;width:100%;min-height:0;padding:0 35px 0 20px;background-color:#00b1ed}.fbmerge__title{width:auto;margin-top:30px!important;margin-bottom:30px!important;padding:15px 0;font-size:25px;line-height:28px;text-align:left}.fbmerge--need-action .fbmerge__title{margin:0!important;font-size:18px;line-height:22px}.fbmerge--need-action .fbmerge__container,.fbmerge__container{width:100%;padding:25px}.fbmerge__notice{margin-top:10px}.fbmerge__close{z-index:100;top:15px;right:10px}.fbmerge--need-action .flaticon--cross{fill:#FFF!important}.fbmerge__choice-buttons{display:block;width:100%;padding-bottom:30px}.fbmerge__choice-button{display:inline-block;width:auto}.fbmerge__inputs-item{margin-bottom:20px}.fbmerge__text-label{margin-bottom:5px;font-size:14px;line-height:1}.fbmerge__input-wrapper{margin:0}.fbmerge__flatbutton-wrapper{margin:20px 0;text-align:center}.fbmerge__flatbutton--fb,.fbmerge__option--autoimport{margin-top:20px}.fbmerge__flatbutton-wrapper:last-child{margin-bottom:0}.fbmerge__option{margin-bottom:8px}.fbmerge__sharing{display:none;position:relative;left:auto;bottom:auto;padding:0 20px}.fbmerge__sharing-text{width:auto}.fbmerge--step6 .fbmerge__sharing{display:block}.fbmerge--hide-sharing .fbmerge__sharing{display:none}.fbmerge__elem--step1{text-align:center}.fbmerge--step5{padding-bottom:30px;background:#00b1ed}.fbmerge__text--step5{margin-bottom:20px}.fbmerge--step6{padding-bottom:50px;background:#00b1ed}}\n/* <<< file end: stc/widgets/facebookmigration.css */\n\n/*# sourceMappingURL=facebookmigration.css.map */\n');
//= require_ml fbmerging.step1.description.title
//= require_ml fbmerging.step1.description.agreement
//= require_ml fbmerging.step1.description.refusing
//= require_ml fbmerging.step2.description.title
//= require_ml fbmerging.step3.description.title
//= require_ml fbmerging.step3.description.title2
//= require_ml fbmerging.step4.description.title
//= require_ml fbmerging.step5.description.title
//= require_ml fbmerging.step5.description.text
//= require_ml fbmerging.step6.description.title
//= require_ml fbmerging.sharing.title
//= require_ml fbmerging.step2.form.login
//= require_ml fbmerging.step2.form.password
//= require_ml fbmerging.step2.form.entry
//= require_ml /login.bml.connect.facebook
//= require_ml fbmerging.step2.form.notice
//= require_ml fbmerging.step3.form.text
//= require_ml fbmerging.step3.form.allow
//= require_ml fbmerging.step2.form.login
//= require_ml fbmerging.step3.form.mail
//= require_ml fbmerging.step3.form.convert_but
//= require_ml fbmerging.step3.form.user_password
//= require_ml fbmerging.step4.form.title
//= require_ml fbmerging.step4.form.week
//= require_ml fbmerging.step4.form.mounth
//= require_ml fbmerging.step4.form.halfyear
//= require_ml fbmerging.step4.form.all
//= require_ml fbmerging.step4.form.nothing
//= require_ml fbmerging.step4.form.autoimport
//= require_ml fbmerging.step4.form.save
//= require_ml fbmerging.step5.sharing.title
//= require_ml fbmerging.step5.sharing.text
//= require_ml createaccount.tip.username
//= require_ml createaccount.tip.email
//= require_ml createaccount.error.username.inuse
//= require_ml createaccount.error.password.digits_only
//= require_ml fbmerging.step7.description.title
//= require_ml fbmerging.step7.description.sendmail
//= require_ml fbmerging.step7.description.options
!function(e){return e}(),function(){"use strict";function e(e,o,t){function r(e,o){var t={facebook:"fbsharing",twitter:"twsharing"};return t[o]?e+"?utm_source="+t[o]+"&utm_medium=social":e}function n(o){var t=LJ.ml("fbmerging.step5.sharing.title"),n=LJ.ml("fbmerging.step5.sharing.text",{journal_url:Site.remote.journal_url}),s=Site.remote.journal_url;if("livejournal"===o)return void e.open("/update.bml?event="+l(n)+"&subject="+l(t));var u=a[o]({title:t,text:n,link:r(s,o)});i(u)}function i(o){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=t.allowScrollbars||!1,n=r?1:0;e.open(o,"","left="+(u.width-630)/2+",top="+(u.height-440)/2+",toolbar=0,status=0,scrollbars="+n+",menubar=0,location=0,width=630,height=440")}var a,s={};moment().format("ZZ");s.share=n;var l=e.encodeURIComponent.bind(e),u=e.screen||{width:1e3,height:1e3};return a={facebook:function(e){var o=e.text,t=e.title,r=e.link;return"https://www.facebook.com/sharer.php?u="+l(r)+"&description="+l(o)+"&title="+l(t)},livejournal:function(e){var o=e.text,t=e.title,r=e.link;return"https://livejournal.com/update.bml?subject="+l(t)+"&event="+l('<a href="'+r+'">'+t+"</a> "+o)},twitter:function(e){var o=e.link,t=e.title;return"https://twitter.com/share?text="+l(t)+"&via=livejournalru&url="+l(o)}},s}function o(e){return""!==e&&angular.isDefined(e)}function t(){var e=LJ.Cookie.get(a);try{return angular.fromJson(e)}catch(o){return null}}function r(e){LJ.Cookie.setGlobal(a,angular.toJson(e),{expires:s})}function n(e,n,i,a,s,l){function u(o){e.$watch(function(){return c[o]},function(e,t){e!==t&&c.step3Errors[o]&&(c.step3Errors[o].unchecked=!1)})}var c=this,d=!1,m=!1,f=!1;c.hidden=!0;var g=t()||{};c.step=g.agreed||e.step>4?e.step:1,e.needEmailConfirm&&6===c.step&&(c.step=7),c.stepAfterSignIn=e.step,c.addr=e.addr,c.username=e.user,c.password,c.email=e.mail,c.gender=e.gender,c.needEmailConfirm=e.needEmailConfirm,c.loginLink=i.trustAsResourceUrl(e.loginLink),c.facebookLink=e.facebookLink,c.step2={},c.share=l.share,c.step3Errors={username:"",email:"",password:""},c.returnTo=e.returnTo,c.siteRoot=LJ.get("siteroot"),c.sendMailAction=i.trustAsResourceUrl(c.siteRoot+"/register.bml"),c.fbLoginTitle=LJ.ml("/login.bml.connect.facebook"),c.autoImport=!0,c.week=604800,c.month=2592e3,c.halfYear=15552e3,c.period=c.month,c.authAs=LJ.get("remoteUser"),u("username"),u("email"),u("password"),c.show=function(t){t&&(c.step=t,m=!0,c.autoImport=!o(e.noMigration)),angular.element("body").addClass("p-fader").addClass("body--fbmerge-opened"),c.hidden=!1},c.hide=function(){var e=t()||{};e.closed=!0,r(e),f&&a.location.reload(),c.hidden=!0,angular.element("body").removeClass("p-fader").removeClass("body--fbmerge-opened")},c.importStep=function(){c.loading=!0,n(function(){r({agreed:!0,closed:!1}),Site.remote?c.step=c.stepAfterSignIn:c.step=2,c.loading=!1},700)},c.setPeriod=function(){c.loading=!0,s.call("settings.set_fb_digest_status",{period:c.period,disable_auto_migration:!c.autoImport,silent:!0}).then(function(o){"ok"===o.status&&(m&&(f=!0),e.needEmailConfirm||d?(c.username&&(c.authAs=c.username),c.step=7):c.step++,c.loading=!1)})},c.convertIdentity=function(e){e.preventDefault(),c.loading=!0,s.call("signup.convert_identity_lite",{create:1,username:c.username,password:c.password,passwordconfirm:c.password,email:c.email,gender:"U",silent:!0}).then(function(e){"ok"===e.status&&(d=!0,c.step++,c.loading=!1),"error"===e.status&&(Object.keys(c.step3Errors).forEach(function(o){return e[o]?void(c.step3Errors[o]={text:i.trustAsHtml(e[o]),unchecked:!0}):void(c.step3Errors[o]="")}),c.loading=!1)})},c.convertationEnabled=function(){return c.username&&c.email&&c.password}}function i(e,r,i){function a(n,a,s,l){var u=o(n.showLater),c=t()||{},d=LiveJournal.parseGetArgs().fbmn,m=i[0].referrer,f=m&&m.match(/^https?:\/\/([^\/]+\.)?facebook\.com(\/|$)/i),g=d||f&&!c.closed&&!u;return g||u?(a.html(e(r.get("facebook_migration.tmpl"))(n)),u&&angular.element(".js-popup-shower").click(function(){l.show(4),n.$apply()}),void(g&&l.show())):void a.remove()}return{scope:{step:"=facebookMigrationStep",addr:"@facebookMigrationAddr",user:"@facebookMigrationUser",mail:"@facebookMigrationMail",gender:"@facebookMigrationGender",needEmailConfirm:"=facebookMigrationNeedEmailConfirm",loginLink:"@facebookMigrationLoginLink",facebookLink:"@facebookMigrationFacebookLink",returnTo:"@facebookMigrationReturnTo",showLater:"@facebookMigrationShowLater",noMigration:"@facebookMigrationDisableAutoMigration"},controllerAs:"migration",controller:n,link:a}}e.$inject=["$window","$location","Api"],i.$inject=["$compile","$templateCache","$document"],n.$inject=["$scope","$timeout","$sce","$window","Api","shareService"],angular.module("Migration.Facebook",["LJ.Api"]),angular.module("Migration.Facebook").config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1})}]).factory("shareService",e).directive("facebookMigration",i).controller("migrationController",n);var a="facebookMigrationStatus",s=14;angular.element(document).ready(function(){var e=angular.element("[facebook-migration]");if(e.length){var o=e.eq(0).scope();o||angular.bootstrap("[facebook-migration]",["Migration.Facebook"])}})}();
/* <<< file end: js/facebookMigration/migration.js */
//# map link was there [migration.js.map]
/* >>> file start: js/referral/mamydirectControl.js */
!function(){if(LJ.Util.runMamydirect=function(){},!LJ.get("remote")){LJ.Util.getWindow().ao_subid="Moneylink";var i=!1;LJ.Util.runMamydirect=function(){i=!0},LJ.Api.authInitPromise.then(function(){LJ.Api.call("site.settings").then(function(t){t.referral_substitution_enabled&&(LJ.Util.getWindow().ao_subid="Moneylink",LJ.Util.runMamydirect=function(){LJ.injectScript("//js.mamydirect.com/js/?h=R6USVIac")},i&&LJ.Util.runMamydirect())})})}}();
/* <<< file end: js/referral/mamydirectControl.js */
//# map link was there [mamydirectControl.js.map]
/* >>> file start: js/ljShareButton.js */
Site.page.template['angular/ljShareButton.ng.tmpl'] = '<span\n target=\"_blank\"\n class=\"b-sharethis-services-link\"\n ng-click=\"LJShareButtonCtrl.onClick()\"\n ng-class=\"{\n \'b-sharethis-services-link--reposted\': LJShareButtonCtrl.reposted,\n \'b-sharethis-services-link--disabled\': LJShareButtonCtrl.disabled(),\n \'b-sharethis-services-link--loading\': LJShareButtonCtrl.loading\n }\"\n>\n <span\n class=\"b-sharethis-services-link__icon-wrap\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svgicon flaticon flaticon--livejournal b-sharethis-services-link__icon\">\n <use ng-href=\"#flaticon--livejournal\" xlink:href=\"\"></use>\n </svg>\n </span>\n <span\n class=\"b-sharethis-services-link__title\"\n >{{title}}</span>\n</span>';
//= require js/core/angular/api.js
function LJShareButtonCtrl(t,e){var r=this;r.reposted=!1,r.loading=!0,e.call("repost.get_status",{url:t.entryUrl},function(t){r.reposted=!!t.reposted,r.loading=!1});var l=(t.entryUrl.match(/https?:\/\/([^\.]+)/)||[])[1],n=5===t.entryUrl.split("/").length;"users"===l&&n&&(l=t.entryUrl.split("/")[3]),l=l.replace("-","_"),r.disabled=function(){return LJ.get("preview")?!0:LJ.get("remoteUser")?LJ.get("remote_is_identity")?!0:LJ.get("remoteUser")===l:!0},r.onClick=function(){if(!r.disabled()){var l={url:t.entryUrl};r.reposted?e.call("repost.delete",l,function(){r.reposted=!1,LJ.Event.trigger("afterRepostDelete",{postURL:t.entryUrl})}):(l.timezone=LJ.Util.Date.timezone(),e.call("repost.create",l,function(){r.reposted=!0}))}}}function ljShareButtonDirective(){return{controller:LJShareButtonCtrl,controllerAs:"LJShareButtonCtrl",restrict:"A",scope:{entryUrl:"@ljShareButton",title:"@ljShareButtonTitle"},templateUrl:"ljShareButton.ng.tmpl",link:function(t,e,r){}}}LJShareButtonCtrl.$inject=["$scope","Api"],angular.module("LJShareButtonModule",["LJ.Api","LJ.Directives","LJ.Templates"]).directive("ljShareButton",ljShareButtonDirective);
/* <<< file end: js/ljShareButton.js */
//# map link was there [ljShareButton.js.map]
/* >>> file start: js/hashtag.js */
var _extends=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}return n};!function(n){return n}(),function(){var n={};n.tagsFromInput=function(n){return n.split("#").reduce(function(n,t,r){var e=0===r?t:"#"+t,a=n.charIndex+e.length,o=_extends({},n,{charIndex:a});if("#"!==e[0])return o;var g=/[\s\r\n]+[^]*$/,u=t.replace(g,"");if(!u)return o;var c=e.replace(g,"");return o.tags=n.tags.concat({tag:c,body:u,tagStartIndex:n.charIndex,tagEndIndex:n.charIndex+c.length}),o},{charIndex:0,tags:[]}).tags},n.firstGoodTagInInput=function(t){var r=arguments.length<=1||void 0===arguments[1]?3:arguments[1],e=n.tagsFromInput(t);return e&&e.length?e.filter(function(n){return n.body.length>=r})[0]:null},n.getTagNearCaret=function(t,r){var e=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],a=e.minBodyLength,o=void 0===a?3:a,g=n.tagsFromInput(t);return g&&g.length?g.filter(function(n){return n.body.length>=o&&r>n.tagStartIndex&&r<=n.tagEndIndex}).filter(function(n){var t=!n.body.replace(/[0-9]+/,"");return!t})[0]:null},LJ.define("LJ.Hashtag"),LJ.Hashtag=n}();
/* <<< file end: js/hashtag.js */
//# map link was there [hashtag.js.map]
/* >>> file start: js/widgets/angular/hints/inputHint.js */
var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};
Site.page.template['angular/widgets/inputHintPopup.ng.tmpl'] = '<div\n class=\"b-popup-lite\"\n ng-style=\"widget.getContainerStyle()\"\n>\n <span\n ng-repeat=\"suggestion in widget.suggestions\"\n ng-mousedown=\"widget.onSuggestionMouseDown($event, suggestion)\"\n ng-class=\"{\n \'b-popup-lite__button--selected\': widget.suggestionIsSelected($index)\n }\"\n class=\"b-popup-lite__button\"\n >{{suggestion}}</span>\n <span\n class=\"b-popup-lite__arrow\"\n ng-style=\"widget.getArrowStyle()\"\n ></span>\n</div>';
LJ.injectStyle('/* >>> file start: stc/popup/hint-popup.css */\n.b-popup-lite{font:400 14px/20px ProximaNova,Helvetica,sans-serif;color:#333;position:absolute;display:inline-block;box-sizing:border-box;min-width:160px;padding:7px 0;margin-top:.8em;border:1px solid #D4DDE1;box-shadow:0 0 1px rgba(0,0,0,.12),0 8px 12px rgba(0,0,0,.12);border-radius:6px;z-index:4;text-align:left;background-color:#FFF}.b-popup-lite__button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;padding:6px 15px;outline:0;border:0;text-align:inherit;text-decoration:none;-webkit-transition:background-color .15s;transition:background-color .15s;background-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;color:#333}.b-popup-lite__button--selected,.b-popup-lite__button:focus,.b-popup-lite__button:not(:disabled):hover{background-color:#F5F7F8}.b-popup-lite__arrow{font-size:16px;position:absolute;top:-.5em;left:1em;overflow:hidden;width:1em;height:.5em}.b-popup-lite__arrow::before{content:\"\";font-size:11.31px;position:absolute;left:0;bottom:0;display:block;box-sizing:border-box;width:1em;height:1em;border:1px solid #D4DDE1;-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-color:#FFF}\n/* <<< file end: stc/popup/hint-popup.css */\n\n/*# sourceMappingURL=hint-popup.css.map */\n');
!function(){function t(t,e,n,i,o,r){var u=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=t.angularController,n={};n.renderPopup=e.renderPopup,n.setWordCoordinates=e.setTargetRect,n.hideHints=e.hidePopup,n.isShown=e.isShown;var i="";return n.setContent=function(t){var n=t.word,o=t.hints;e&&n&&(i!==n&&e.resetSelection(),i=n,e.setSuggestions(o))},n.inputOnKeydown=function(t){if(e.isShown()&&e.hasData()){var i=40,o=38,r=13;t.keyCode===i?(e.adjustSelection(1),t.preventDefault()):t.keyCode===o?(e.adjustSelection(-1),t.preventDefault()):t.keyCode===r&&(LJ.Event.trigger("inputHint::hintActivated",{hint:e.suggestions[e.selectedHintIndex]}),n.hideHints(),t.preventDefault())}},n},l=function(){var t=i.$new(),e=angular.element("body"),n="<div input-hint></div>",l=0===e.closest("[ng-app]").length;return l&&(n=o("<div input-hint></div>")(t)),angular.element("body").append(n),r(function(t,e){LJ.Event.on("inputHint::angularControllerReady",function(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];n.controller||e();var i=u({angularController:n.controller});t(i)})})},p={},s={};return s.getInputHint=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=p[t.id];return e?r.resolve(e):(p[t.id]=l().then(function(e){return p[t.id]=e,e}),p[t.id])},s}function e(t){var e={};return e.getPositionData=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.targetRect,i=e.popupRect,o={popup:{left:0,top:0},arrow:{side:"top",left:0,top:0}};if(!n||!i)return o;var r=i.width/2,u=(n.left+n.right)/2;o.popup.left=n.right,o.popup.left=u-r,o.popup.right=o.popup.left+i.width,o.popup.top=n.bottom,o.arrow.left=r;var l=15,p=t[0].body.getBoundingClientRect(),s=p.width-l,a=Math.max(0,o.popup.right-s),c=Math.max(0,l-o.popup.left);return a>0&&!c?(o.popup.left-=a,o.arrow.left+=a,o):c>0&&!a?(o.popup.left+=c,o.arrow.left-=c,o):o},e}function n(t,e,n,i,o,r,u,l,p){var s=this;s.suggestions=[],s.selectedHintIndex=0,s.containerStyle={top:0,left:0,display:"none"};var a={baseWidth:16,apexHeight:8},c={},d=l.getPositionData(),g=p.resolve();s.getPopupRect=function(){var t=s.getPopupElement()[0];if(s.isShown())return t.getBoundingClientRect();var e={display:t.style.display,visibility:t.style.visibility};t.style.visibility="hidden",t.style.display="block";var n=t.getBoundingClientRect();return t.style.visibility=e.visibility,t.style.display=e.display,n},s.renderPopup=function(){return s.suggestions.length?void g.then(function(){var t=s.getPopupRect();d=l.getPositionData({targetRect:c,popupRect:t}),s.containerStyle.display="block",delete s.containerStyle.visibility,s.containerStyle.top=d.popup.top,s.containerStyle.left=d.popup.left}):void s.hidePopup()},s.setTargetRect=function(t){c=t},s.hidePopup=function(){n(function(){s.containerStyle.display="none"})},s.getPopupElement=function(){return o.find(".b-popup-lite")},s.adjustSelection=function(t){n(function(){return s.suggestions.length<2?void(s.selectedHintIndex=0):void(s.selectedHintIndex=(s.selectedHintIndex+t+s.suggestions.length)%s.suggestions.length)})},s.getContainerStyle=function(){return _extends({},s.containerStyle)},s.getArrowStyle=function(){return{left:d.arrow.left-a.baseWidth/2,right:"auto"}},s.resetSelection=function(){n(function(){s.selectedHintIndex=0})},s.onSuggestionMouseDown=function(t,e){t.preventDefault(),LJ.Event.trigger("inputHint::hintActivated",{hint:e}),s.hidePopup()},s.setSuggestions=function(t){s.suggestions=t,g=n(function(){})},s.suggestionIsSelected=function(t){return t===s.selectedHintIndex},s.styleForHintByIndex=function(t){return s.suggestionIsSelected(t)?{background:"#c5e7ff"}:null},s.isShown=function(){return"none"!==s.containerStyle.display},s.hasData=function(){return!!s.suggestions.length},i.on("mousedown",function(t){s.isShown()&&!angular.element(t.target).closest(o).length&&s.hidePopup()}),LJ.Event.trigger("inputHint::angularControllerReady",{controller:s})}function i(){return{controller:"inputHintCtrl",controllerAs:"widget",templateUrl:"inputHintPopup.ng.tmpl"}}t.$inject=["Api","$document","$window","$rootScope","$compile","$q"],n.$inject=["$scope","inputHintService","$timeout","$document","$element","$window","$log","inputHintPositioner","$q"],e.$inject=["$document"],angular.module("InputHintModule",[]),angular.module("InputHintModule").factory("inputHintService",t).controller("inputHintCtrl",n).directive("inputHint",i).factory("inputHintPositioner",e)}();
/* <<< file end: js/widgets/angular/hints/inputHint.js */
//# map link was there [inputHint.js.map]
/* >>> file start: js/lib/textareaCaretPosition.js */
!function(){function e(e,r,i){if(!o)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");var d=i&&i.debug||!1;if(d){var a=document.querySelector("#input-textarea-caret-position-mirror-div");a&&a.parentNode.removeChild(a)}var l=document.createElement("div");l.id="input-textarea-caret-position-mirror-div",document.body.appendChild(l);var p=l.style,f=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,h="INPUT"===e.nodeName;p.whiteSpace="pre-wrap",h||(p.wordWrap="break-word"),p.position="absolute",d||(p.visibility="hidden"),t.forEach(function(e){h&&"lineHeight"===e?p.lineHeight=f.height:p[e]=f[e]}),n?e.scrollHeight>parseInt(f.height)&&(p.overflowY="scroll"):p.overflow="hidden",i&&i.textareaStyle&&"overflow"in i.textareaStyle&&(p.overflow=i.textareaStyle.overflow),i&&i.adjustStyleObj&&(p=i.adjustStyleObj(p)),l.textContent=e.value.substring(0,r),h&&(l.textContent=l.textContent.replace(/\s/g," "));var s=document.createElement("span");s.textContent=e.value.substring(r)||".","string"==typeof i.tailSpanContent&&(s.textContent=i.tailSpanContent),l.appendChild(s);var u={top:s.offsetTop+parseInt(f.borderTopWidth),left:s.offsetLeft+parseInt(f.borderLeftWidth),height:parseInt(f.lineHeight)};return d?s.style.backgroundColor="#aaa":document.body.removeChild(l),u}var t=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],o="undefined"!=typeof window,n=o&&null!=window.mozInnerScreenX;"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=e:o&&(window.textareaCaretPosition={getCoordinates:e})}();
/* <<< file end: js/lib/textareaCaretPosition.js */
//# map link was there [textareaCaretPosition.js.map]
/* >>> file start: js/widgets/angular/hints/inputHintHelpers.js */
var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};
//= require js/widgets/angular/hints/inputHint.js
//= require js/lib/textareaCaretPosition.js
!function(){function t(t,e,n){var r={};return r.doStandardTextareaMount=function(r){if(r){var i=r.inputHintID,o=r.textarea,a=r.getTriggerWordNearCaret,d=r.getHintsForWord,l=r.decorateBeforeInsertion;if(o&&a)return e.getInputHint({id:i}).then(function(e){var i=angular.element(o),a=null,u=function(){var t=n[0].body.getBoundingClientRect(),e=i[0].getBoundingClientRect();return{left:e.left-t.left,top:e.top-t.top}},s=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.textareaCaretPosition,r=e.triggerWordData||a;if(!n||!r)return null;var d=t.getComputedStyle(i[0]),l=parseInt(d.lineHeight)||parseInt(d.fontSize),s={textareaStyle:{overflow:"auto"},adjustStyleObj:function(t){var e=LJ.Support.isMobile()&&LJ.Support.browser.safari;if(e){var n=3,r=t.padding,i=r.split(" ");if(2===i.length){var o=parseInt(i[1]),a=o+n,d=i[0]+" "+a+"px";t.padding=d}}}},g={start:null,end:null};g.start=n.getCoordinates(o,r.wordStartIndex,s);var f=null;""===o.value.substring(r.wordEndIndex)&&(f="");var c=_extends({},s,{tailSpanContent:f});g.end=n.getCoordinates(o,r.wordEndIndex,c);var p=u(),v={x:p.left-o.scrollLeft,y:p.top-o.scrollTop};return{left:v.x+g.start.left,right:v.x+g.end.left,top:v.y+g.start.top,bottom:v.y+g.start.top+l}},g=function(){var n=t.textareaCaretPosition;if(!n||o.selectionStart!==o.selectionEnd)return void e.hideHints();var i=r.getTriggerWordNearCaret(o.value,o.selectionStart);if(a=i,!i)return void e.hideHints();var l=i.word;return l?d(l).then(function(t){e.setContent({word:l,hints:t}),e.setWordCoordinates(s({triggerWordData:i})),e.renderPopup()}):void e.hideHints()},f=function(t){var n=t.hint;if(o.selectionStart!==o.selectionEnd)return void e.hideHints();var a=r.getTriggerWordNearCaret(o.value,o.selectionStart);if(!a)return void e.hideHints();var d=a.wordStartIndex,u=a.wordEndIndex,s=i.val(),g=s.substring(0,d),f=s.substring(u),c=n;l&&(c=l({beforeTriggerWord:g,hint:n,afterTriggerWord:f}));var p=[g,c,f].join("");i.val(p),o.selectionStart=g.length+c.length,o.selectionEnd=o.selectionStart};i.on("keydown",function(t){e.inputOnKeydown(t)}).on("input click",function(t){g({e:t})}).on("scroll",function(){if(e.isShown()){var t=s();if(t&&a&&a.word){var n=u(),r=n.top+i[0].getBoundingClientRect().height,o=t.bottom>r;if(o)return void e.hideHints();e.setWordCoordinates(t),e.renderPopup()}}}),angular.element(t).on("resize orientationchange",function(){e.hideHints()}),LJ.Event.on("inputHint::hintActivated",f)})}},r}t.$inject=["$window","inputHintService","$document"],angular.module("InputHintHelpersModule",["InputHintModule"]),angular.module("InputHintHelpersModule").factory("inputHintHelpersService",t)}();
/* <<< file end: js/widgets/angular/hints/inputHintHelpers.js */
//# map link was there [inputHintHelpers.js.map]
/* >>> file start: js/widgets/angular/hints/hashHint.js */
//= require js/hashtag.js
//= require js/core/angular/api.js
//= require js/widgets/angular/hints/inputHintHelpers.js
!function(){function t(t,n,e,r){var a={};a.doStandardTextareaMount=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return n.doStandardTextareaMount({inputHintID:"hashtag",textarea:t.textarea,getTriggerWordNearCaret:function(){var t=LJ.Hashtag.getTagNearCaret.apply(this,arguments);return t?{word:t.tag,wordStartIndex:t.tagStartIndex,wordEndIndex:t.tagEndIndex}:null},getHintsForWord:function(t){return/[\]\[\/\\\(\)]/.test(t)?r.resolve([]):e.call("hashtags.search",{journaltype:"P",query:t,size:8}).then(function(t){var n=t.tags||[],e=function(t,n,e){return e.indexOf(t)===n};return n.filter(e).map(function(t){return"#"+t})})}})};var i=function(){return LJ.Event.trigger("api::broadcast",{name:"hashHint",api:a})};return i(),LJ.Event.on("api::request",function(t){t&&"hashHint"===t.name&&i()}),a}t.$inject=["$window","inputHintHelpersService","Api","$q"],angular.module("HashHintModule",["LJ.Api","InputHintHelpersModule"]),angular.module("HashHintModule").factory("hashHintService",t)}();
/* <<< file end: js/widgets/angular/hints/hashHint.js */
//# map link was there [hashHint.js.map]
/* >>> file start: js/core/crossStorageClient.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){var e=LJ.Util.getWindow(),t={};LJ.define("LJ.Util.CrossStorage"),LJ.Util.CrossStorage=t;var n=void 0,o=function(){if(n)return n;var t=e.document.createElement("iframe");return t.style.cssText="display: none; width: 0; height: 0; border: 0;",t.frameBorder=0,t.src=LJ.get("statprefix")+("/??plain/crossStorageServ.html?&v="+LJ.get("v")),e.document.body.appendChild(t),n=new Promise(function(e){t.onload=function(){e(t)}})},r=function(t){var n=t.requestID;return new Promise(function(t){var o=function r(o){if(o.origin===LJ.get("statprefix")){var s=o.data||{};"object"===("undefined"==typeof s?"undefined":_typeof(s))&&"crossStorageServResponse"in s&&s.requestID===n&&(e.removeEventListener("message",r),t(s.crossStorageServResponse))}};e.addEventListener("message",o)})};t.getItem=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return o().then(function(n){var o=Date.now()+""+Math.floor(1e4*Math.random()),s={fn:"getItem",args:[e],source:"LJ.CrossStorage",requestID:o};return n.contentWindow.postMessage(s,"*"),r({requestID:o}).then(function(e){var n=e;if(t.parseJSON)try{n=JSON.parse(e)}catch(o){}return n})})},t.setItem=function(e,t){return o().then(function(n){var o={fn:"setItem",source:"LJ.CrossStorage",args:[e,t]};n.contentWindow.postMessage(o,"*")})}}();
/* <<< file end: js/core/crossStorageClient.js */
//# map link was there [crossStorageClient.js.map]
/* >>> file start: js/misc/newCommentsCounter.js */
//= require js/core/crossStorageClient.js
!function(){var r={};LJ.define("LJ.Misc.NewCommentsCounter"),LJ.Misc.NewCommentsCounter=r;var e=1e3,t="ljNewCommentsCounter",n=LJ.Util.CrossStorage,o=function(){return{counters:{},orderArr:[],v:.1}};r.getAllStoredData=function(){return n.getItem(t,{parseJSON:!0})};var u=function(r){return r.replace(/^https?:\/\//,"")};r.setCounter=function(){var c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],s=c.postURL,i=c.count;return r.getAllStoredData().then(function(r){var c=u(s),a=o();r&&(a=r),a.counters[c]=i;var d=a.orderArr.indexOf(c);d>-1&&(a.orderArr=a.orderArr.slice(0,d).concat(a.orderArr.slice(d+1))),a.orderArr.push(c);var l=a.orderArr.length-e;if(l>0){var f=a.orderArr.slice(0,l);a.orderArr=a.orderArr.slice(l),f.forEach(function(r){return delete a.counters[r]})}n.setItem(t,a)})},r.getCount=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.postURL,n=u(t);return r.getAllStoredData().then(function(r){if(!r||!r.counters)return Promise.reject();var e=r.counters;return"number"!=typeof e[n]?Promise.reject():e[n]})},r.createCounter=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.count,n=u(e.postURL);return r.getCount({postURL:n})["catch"](function(){r.setCounter({postURL:n,count:t})})}}();
/* <<< file end: js/misc/newCommentsCounter.js */
//# map link was there [newCommentsCounter.js.map]
/* >>> file start: js/misc/catSuggester.js */
//= require_ml post.category.caption
//= require_ml post.category.cancel
//= require_ml post.category.delete.label
!function(t){return t}(),function(){function t(t){function e(t,e,n,a){var r=this,c=[],i=e[0].hasAttribute("nglj-cat-suggester-load-data");r.fillCats=function(){e.find(".js--cat-item").toArray().forEach(function(t){c.push({humanName:t.dataset.humanName,accepted:!0})})},i?(r.list=Site.entry.categories_adjusted.map(function(t){return t.humanName=t.name,t}),r.canmanage=Site.remote_is_maintainer,r.text={title:LJ.ml("post.category.caption",{num:r.list.length}),cancel:LJ.ml("post.category.cancel"),"delete":LJ.ml("post.category.delete.label")},a(r.fillCats)):r.fillCats(),r.isShown=function(){return c.length>0},r.initCat=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c.push({humanName:t.humanName,accepted:!0})},r.catIsShown=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return t.humanName?c.filter(function(e){return e.humanName===t.humanName&&e.accepted}).length>0:!1};var u=function(){var t=c.filter(function(t){return t.accepted}).map(function(t){return t.humanName});n.call("entry.set_categories_adjusted",{journal:LJ.get("entry.journal"),ditemid:LJ.get("entry.ditemid"),categories:t})};r.rejectCat=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];t.humanName&&(c.filter(function(e){return e.humanName===t.humanName}).forEach(function(t){t.accepted=!1}),u())},r.getCancelledCats=function(){return c.filter(function(t){return!t.accepted})},r.reacceptAll=function(){c.forEach(function(t){t.accepted=!0}),u()}}return e.$inject=["$scope","$element","Api","$timeout"],{controller:e,controllerAs:"catSuggester"}}t.$inject=["$window"],angular.module("LJ.CategorySuggester",["LJ.Api"]),angular.module("LJ.CategorySuggester").directive("ngljCatSuggester",t)}();
/* <<< file end: js/misc/catSuggester.js */
//# map link was there [catSuggester.js.map]
/* >>> file start: js/misc/popups/anonSuggestion.js */
function _toConsumableArray(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}
//= require js/core/crossStorageClient.js
Site.page.template['angular/misc/anonSuggestion.ng.tmpl'] = '<div class=\"popup-suggestion js-anon-suggestion-block\" ng-if=\"directive.isBlockVisible\" ng-cloak>\n <div class=\"basepopup\">\n <div class=\"basepopup__group\">\n <div class=\"basepopup__title basepopup__title--size-16\" lj-ml=\"popup.suggestion.title\"></div>\n <div class=\"basepopup__content\">\n <p class=\"basepopup__text basepopup__text--light\" lj-ml=\"popup.suggestion.text\" lj-ml-resolve=\"{ link: \'{{directive.url}}/create/follow\' }\"></p>\n\n <div class=\"suggestion-unlogged\">\n <div class=\"suggestion-unlogged__col\">\n <a class=\"lightbutton lightbutton--big lightbutton--bold lightbutton--blue\" href=\"{{directive.url}}/create\" lj-ml=\"popup.suggestion.button.create\"></a>\n <a class=\"suggestion-unlogged__link js-login-link\" href=\"\" lj-ml=\"popup.suggestion.button.login\" ng-click=\"directive.showLoginForm()\" ></a>\n </div>\n <div class=\"suggestion-unlogged__pic\"></div>\n </div>\n\n </div>\n </div>\n <button class=\"basepopup__close js-closeLoginPopup\" type=\"button\" ng-click=\"directive.closePopup()\">\n <span class=\"basepopup__close-text\" lj-ml=\"popup.suggestion.button.close\"></span>\n <svg class=\"basepopup__close-icon svgicon\" width=\"16\" height=\"16\"><use xlink:href=\"#flaticon--cross\"/></svg>\n </button>\n </div>\n</div>';
//= require_ml popup.suggestion.button.close
//= require_ml popup.suggestion.button.create
//= require_ml popup.suggestion.button.login
//= require_ml popup.suggestion.text
//= require_ml popup.suggestion.title
!function(t){return t}(),function(){function t(){return{restrict:"A",templateUrl:"anonSuggestion.ng.tmpl",scope:{},controllerAs:"directive",controller:e}}function e(t,e){function n(t){var e=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],n=[].concat(_toConsumableArray(e));return t&&n.push(t),n.length<=o.maxLength?n.slice(0,o.maxLength):n.slice(n.length-o.maxLength)}this.url=LJ.get("siteroot");var o=this;o.maxLength=30,o.uniqCount=5,o.showLoginForm=function(){var n=angular.element(".b-loginform").attr("action"),o=t.location.href;angular.element(".b-loginform").attr("action",n+"&returnto="+o),e(LJ.Util.Action.login)},o.closePopup=function(){o.isBlockVisible=!1;var t=(new Date).getTime();LJ.Util.CrossStorage.setItem("unlogPopupLastShow",{time:t})},LJ.get("remote")||LJ.Util.CrossStorage.getItem("unlogSuggestions",{parseJSON:!0}).then(function(){var t=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],r=t||[],i="userid"in Site.current_journal,a=Site.current_journal.userid||null,g=n(a,r);i&&LJ.Util.CrossStorage.setItem("unlogSuggestions",g);var l=[].concat(_toConsumableArray(new Set(g)));g.length===o.maxLength&&l.length>=o.uniqCount&&!function(){var t=void 0;LJ.Util.CrossStorage.getItem("unlogPopupLastShow",{parseJSON:!0}).then(function(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];n=n||{},t=n&&+n.time||(new Date).getTime();var r=((new Date).getTime()-t)/864e5;(!Object.keys(n).length||r>=10)&&e(function(){o.isBlockVisible=!0})})}()})}angular.module("LJ.AnonSuggestion",[]).run([function(){var t=angular.element("div[suggestion-for-unlogged]");t[0]||angular.element("[ng-app]").append(angular.element("<div suggestion-for-unlogged></div>"))}]).directive("suggestionForUnlogged",t),e.$inject=["$window","$timeout"]}();
/* <<< file end: js/misc/popups/anonSuggestion.js */
//# map link was there [anonSuggestion.js.map]
/* >>> file start: js/widgets/angular/poll2019.js */
function service(e,t,n,o){var i={},r=!1,l=function(e){var t=arguments.length<=1||void 0===arguments[1]?0:arguments[1],n=null,i=[];return function(){var r;return(r=i).push.apply(r,arguments),o.cancel(n),new Promise(function(r){n=o(function(){var t=e.call(null,i);i=[],r(t)},t)})}},a=l(function(t){var n=t.map(function(e){return e.id});e.call("poll.get",{pollids:n}).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.polls;t.forEach(function(e){e.resolve(n[e.id])})})});i.fetchData=function(e){var t=void 0,n=new Promise(function(e){t=e}),o={id:e,resolve:t};return a(o),n};var s=function(e,o){r&&angular.element("div["+e+"]").remove();var i=angular.element("[ng-app]"),l=angular.element("<div "+e+'="params"></div>');angular.element("body").append(l);var a=n.$new();if(a.params=o,l.parents("[ng-app]").length)t(l)(a);else if(i){var s=i.injector();s.invoke(["$compile",function(e){e(l)(a)}])}r=!0};return i.getParticipants=function(t,n){var o={pollid:+t};return n&&(o.itemid=+n),e.call("poll.participants",o)},i.requestParticipantsPopupShow=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];s("ng-lj-poll-participants",e)},i.requestConfirmPopupShow=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];s("ng-lj-poll-confirm",e)},i.requestPollVote=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return e.call("poll.vote",t).then(function(){arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return e.call("poll.get",{pollid:t.pollid})})},i.requestCancelVote=function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return e.call("poll.cancel_vote",t).then(function(){return e.call("poll.get",{pollid:t.pollid})})},i.getSelectedIDs=function(e){return angular.isNumber(e)?e+"":angular.isArray(e)?e.filter(function(e){return e.selected}).map(function(e){return e.itid}).join(","):angular.isObject(e)?Object.entries(e).reduce(function(e,t){var n=_slicedToArray(t,2),o=n[0],i=n[1];return+i&&e.push(o),e},[]).join(","):void 0},i}function pollController(e,t,n,o,i,r,l,a,s,c){var u=this,p=o;u.selections={},u.pollid,u.type,u.voted=!1,u.pollResult={},u.question,u.title,u.resultsViewMode=!1,u.participants,u.votersCount,u.participantsInfo={},u.isDropdownTogglerShown=!1,u.isDraftView=LJ.get("entry.is_draft"),u.isDelayedPostPreview=LJ.get("entry.is_delayed"),u.disabled=u.isDraftView;var d=p.getSelectedIDs;t(function(){u.pollid?p.fetchData(u.pollid).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];t(function(){u.answers=e.items,u.pollResult=u.answers,u.isOpen=!+e.closed,u.isDropdownTogglerShown=e.is_author||!1,u.isAuthor=e.is_author,u.question=e.text||e.name,u.voted=e.items.some(function(e){return+e.selected}),u.whoviewValue=e.whoview_value,u.participantsPopupClickable="all"===u.whoviewValue||"none"===u.whoviewValue&&u.isAuthor,r.html(l(i.get("showForm.ng.tmpl"))(n))})}):!function(){var e=c(r.attr("params"))(n);t(function(){u.answers=e.answers,u.pollResult=u.answers,u.type=e.type,u.question=e.question,u.isOpen=!0,u.isDropdownTogglerShown=!1,u.disabled=e.isDraft,u.voted=!1,u.whoviewValue=e.whoview,r.html(l(i.get("showForm.ng.tmpl"))(n))})}()});var f=function(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];return e.reduce(function(e,t,n){return e.push({itid:t.itid,count:t.count,item:u.answers[n].item,percent:t.percent,percent_round:t.percent_round,selected:!!t.selected}),e},[])};u.unescape=function(e){if(e){var t=angular.element("<textarea />");return t.html(e.trim()),decodeURIComponent(t.text())}},u.showParticipants=function(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];p.requestParticipantsPopupShow({pollid:u.pollid,itemid:e,question:u.question,results:u.pollResult,presentationMode:e?"users":"answers"})},u.getVotersCount=function(){return u.votersCount};var v=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.polls[u.pollid];t(function(){u.pollResult=f(n.items),u.participants=u.pollResult,u.votersCount=+n.participants||0,u.voted=u.pollResult.some(function(e){return e.selected}),u.disabled=!1})};u.submitVote=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];u.disabled=!0;var t=d(u.selections),n=_extends({pollid:u.pollid,answers:t},e);p.requestPollVote(n).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];v(e)})["catch"](function(e){return console.error(e)})},u.close=function(){e.call("poll.close",{pollid:u.pollid}).then(function(){u.isOpen=!1})},u.reopen=function(){e.call("poll.open",{pollid:u.pollid}).then(function(){u.isOpen=!0})},u.onExtraDropdownToggleClick=function(){var e=r.find(".js--extra-dropdown-popup")[0];e.toggleAttribute("hidden")},a.on("click",function(e){if(!e.target.closest(".js--extra-dropdown")){var t=r.find(".js--extra-dropdown-popup")[0];t&&t.setAttribute("hidden",!0)}}),u.cancelAllVotes=function(){p.requestCancelVote({pollid:u.pollid,answers:d(u.pollResult)}).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];v(e)})},u.getIsSubmitShown=function(){return!u.voted&&u.isOpen&&!u.resultsViewMode},u.toggleResultsViewMode=function(){p.fetchData(u.pollid).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];t(function(){u.answers=e.items,u.pollResult=u.answers,u.isOpen=!+e.closed,u.isDropdownTogglerShown=e.is_author||!1,u.resultsViewMode=!u.resultsViewMode})})},u.formatNumber=function(e){var t=e-Math.floor(e);return t?+e:Math.floor(e)},u.getShowResultsBtn=function(){return u.isDraftView||u.isDelayedPostPreview?!1:!u.voted&&u.isOpen},LJ.Event.on("cancel::vote",function(e){p.requestCancelVote(e.params).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];v(e)})})}function participantsController(e,t,n,o){var i=this,r=e;i.isVisible=!0,i.isFilled=!1,i.presentationMode="users",i.participantsInfo={},i.MIN_VISIBLE_ITEMS_COUNT=3;var l=o.find("body");l.addClass("p-fader");var a=o.find(".b-fader"),s=angular.element(".polls-popup__text");i.usersListStyle={height:"calc(100% - "+s.clientHeight+"px - 26px)"},a.on("click",function(){t(function(){i.closePopup()})}),i.closePopup=function(){i.isVisible=!1,i.isFilled=!1,l.removeClass("p-fader")},o.on("keydown",function(e){"Escape"===e.key&&t(function(){i.closePopup()})});var c=function(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];return e.map(function(e){var t=_extends({},e,{values:e.values.map(function(e,t){return{val:e,visible:t<i.MIN_VISIBLE_ITEMS_COUNT}})});return e.values.length>i.MIN_VISIBLE_ITEMS_COUNT&&(t.shortView=!0,t.showToggler=!0),t})};t(function(){var e=n.params,o=e.pollid,l=e.itemid,a=e.question,s=e.results,u=e.presentationMode,p=l&&(s.find(function(e){return e.itid===l})||{}).item||"";t(function(){r.getParticipants(o,l).then(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.participants,n=void 0===t?{}:t;i.presentationMode=u;var o=n.map(function(e){var t=_extends({},e);return t.display_username=t.username,t.username=t.user,t.userhead_url=t.userhead,t}),r=s.map(function(e){return{answer:e.item,users:o.filter(function(t){return t.values.some(function(t){return t.itid===e.itid})})}});i.participants=c(o),i.answersRows=r,i.participantsInfo={count:o.length||0,question:decodeURIComponent(a),answerid:l,answer:p},i.isFilled=!0})["catch"](function(e){console.log(e)})}),i.getProfileURL=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return e.journal_base+"/profile"}}),i.toggleView=function(e){var t=i.participantsInfo.participants[e];angular.isUndefined(t.shortView)||(t.values=t.values.map(function(e,n){return n>i.MIN_VISIBLE_ITEMS_COUNT-1&&(e.visible=t.shortView),e}),t.shortView=!t.shortView)}}function confirmController(e,t,n,o){var i=this;i.isVisible=!0;var r=o.find("body");r.addClass("p-fader");var l=o.find(".b-fader");l.on("click",function(){e(function(){i.closePopup()})}),i.closePopup=function(){i.isVisible=!1,r.removeClass("p-fader")},o.on("keydown",function(t){"Escape"===t.key&&e(function(){i.closePopup()})}),i.cancelVote=function(){var e=t.params,n=e.selected,o=e.itid,l=e.pollid;if(n){var a={pollid:l,answers:o+""};LJ.Event.emit("cancel::vote",{params:a}),i.isVisible=!1,r.removeClass("p-fader")}}}function pollDirective(){return{scope:!0,controller:"ljPollCtrl",controllerAs:"pollCtrl"}}function participantsDirective(){return{link:function(e){},controller:"ljPollarticipantsCtrl",controllerAs:"participantsCtrl",templateUrl:"participants.ng.tmpl"}}function confirmDirective(){return{controller:"ljPollConfirmCtrl",controllerAs:"confirmCtrl",templateUrl:"confirm.ng.tmpl"}}service.$inject=["Api","$compile","$rootScope","$timeout"],pollController.$inject=["Api","$timeout","$scope","pollService","$templateCache","$element","$compile","$document","$rootScope","$parse"],participantsController.$inject=["pollService","$timeout","$scope","$document"],confirmController.$inject=["$timeout","$scope","pollService","$document"];var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_slicedToArray=function(){function e(e,t){var n=[],o=!0,i=!1,r=void 0;try{for(var l,a=e[Symbol.iterator]();!(o=(l=a.next()).done)&&(n.push(l.value),!t||n.length!==t);o=!0);}catch(s){i=!0,r=s}finally{try{!o&&a["return"]&&a["return"]()}finally{if(i)throw r}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();
//= require js/core/angular/api.js
//= require js/core/angular/ljUser.js
Site.page.template['Poll/post2017/show_results.tmpl'] = '<div\n class=\"poll\"\n ng-lj-poll\n ng-init=\"pollCtrl.voted = true; pollCtrl.type = \'<TMPL_VAR type>\'; pollCtrl.pollid = \'<TMPL_VAR pollid>\'; pollCtrl.votersCount=\'<TMPL_VAR participants>\'\"\n>\n\n <header class=\"poll__header\">\n <h2 class=\"poll__title\">\n <TMPL_VAR name>\n </h2>\n </header>\n\n <div class=\"poll__tip\">\n <p>\n <span>\n <TMPL_IF EXPR=\"type eq \'radio\'\">\n <TMPL_VAR expr=\"ml(\'post2017.poll.polltype.radio\')\">\n </TMPL_IF>\n <TMPL_IF EXPR=\"type eq \'check\'\">\n <TMPL_VAR expr=\"ml(\'post2017.poll.polltype.check\')\">\n </TMPL_IF>\n </span>\n </p>\n\n <p>\n <span>\n <TMPL_IF EXPR=\"whoview_value eq \'all\'\">\n <TMPL_VAR expr=\"ml(\'post2017.poll.whoview.all\')\">\n </TMPL_IF>\n <TMPL_IF EXPR=\"whoview_value eq \'none\'\">\n <TMPL_VAR expr=\"ml(\'post2017.poll.whoview.none\')\">\n </TMPL_IF>\n <TMPL_IF EXPR=\"whoview_value eq \'anon\'\">\n <TMPL_VAR expr=\"ml(\'post2017.poll.whoview.anon\')\">\n </TMPL_IF>\n </span>\n </p>\n </div>\n\n <div class=\"poll__content poll__content--loading\">\n <ul class=\"poll__list poll__list--results\">\n <li class=\"poll__item\">\n <span\n class=\"poll__item-fill\"\n style=\"width: 90%;\">\n </span>\n </li>\n <li class=\"poll__item\">\n <span\n class=\"poll__item-fill\"\n style=\"width: 30%;\">\n </span>\n </li>\n <li class=\"poll__item\">\n <span\n class=\"poll__item-fill\"\n style=\"width: 60%;\">\n </span>\n </li>\n </ul>\n\n <footer class=\"poll__content-footer\">\n <span\n class=\"\n poll__control\n poll__control--voters-counter\n \">\n <TMPL_VAR EXPR=\"ml(\'post2017.poll.x_people_voted_control\', \'count\', participants)\">\n </span>\n </footer>\n </div>\n</div>\n';
Site.page.template['angular/polls/showForm.ng.tmpl'] = '<header class=\"poll__header\">\n <h2\n class=\"poll__title\"\n ng-bind=\"pollCtrl.unescape(pollCtrl.question)\"\n ></h2>\n</header>\n\n<!-- Tip -->\n<div class=\"poll__tip\">\n <p>\n <span ng-if=\"pollCtrl.type === \'radio\'\" lj-ml=\"post2017.poll.polltype.radio\"></span>\n <span ng-if=\"pollCtrl.type === \'check\'\" lj-ml=\"post2017.poll.polltype.check\"></span>\n </p>\n\n <p>\n <span ng-if=\"pollCtrl.whoviewValue === \'all\'\" lj-ml=\"post2017.poll.whoview.all\"></span>\n <span ng-if=\"pollCtrl.whoviewValue === \'none\'\" lj-ml=\"post2017.poll.whoview.none\"></span>\n <span ng-if=\"pollCtrl.whoviewValue === \'anon\'\" lj-ml=\"post2017.poll.whoview.anon\"></span>\n </p>\n</div>\n\n<!-- Content -->\n<div\n class=\"poll__content\"\n ng-class=\"{\'poll__content--closed\': !pollCtrl.isOpen}\"\n >\n\n <!-- Before vote -->\n <ul\n class=\"poll__list poll__list--variants\"\n ng-if=\"!pollCtrl.voted && !pollCtrl.resultsViewMode && pollCtrl.isOpen\"\n >\n <li\n class=\"poll__item\"\n ng-repeat=\"answer in pollCtrl.answers track by $index\"\n >\n <label\n class=\"poll__item-label\"\n ng-class=\"{\n \'lightcheckbox lightcheckbox--no-pseudo lightcheckbox--right\': pollCtrl.type === \'check\',\n \'lightradio lightradio--no-pseudo lightradio--right\': pollCtrl.type === \'radio\'\n }\">\n <input\n class=\"poll__input lightradio__input\"\n ng-if=\"pollCtrl.type === \'radio\'\"\n type=\"radio\"\n name=\"pollradio{{pollCtrl.pollid}}\"\n ng-value=\"{{answer.itid}}\"\n ng-model=\"pollCtrl.selections\"\n ng-disabled=\"!pollCtrl.isOpen || pollCtrl.disabled\"\n />\n <input\n class=\"poll__input lightcheckbox__input\"\n ng-if=\"pollCtrl.type === \'check\'\"\n type=\"checkbox\"\n ng-model=\"pollCtrl.selections[answer.itid]\"\n ng-disabled=\"!pollCtrl.isOpen || pollCtrl.disabled\"\n />\n\n <span\n class=\"poll__label-text\"\n ng-class=\"{\n \'lightcheckbox__text\': pollCtrl.type === \'check\',\n \'lightradio__text\': pollCtrl.type === \'radio\'\n }\"\n >\n <span\n class=\"poll__label-control\"\n ng-class=\"{\n \'lightcheckbox__control\': pollCtrl.type === \'check\',\n \'lightradio__control\': pollCtrl.type === \'radio\'\n }\"\n ></span>\n <span ng-bind=\"pollCtrl.unescape(answer.item)\"></span>\n </span>\n </label>\n </li>\n </ul>\n\n <!-- After vote -->\n <ul\n class=\"poll__list poll__list--results\"\n ng-if=\"pollCtrl.voted || pollCtrl.resultsViewMode || !pollCtrl.isOpen\"\n >\n <li\n class=\"poll__item\"\n ng-repeat=\"answer in pollCtrl.pollResult track by $index\"\n ng-class=\"{\'poll__item--disabled\': pollCtrl.disabled}\"\n >\n <span\n class=\"poll__item-fill\"\n ng-if=\"answer.percent > 0\"\n ng-style=\"{\'width\': \'{{answer.percent}}%\'};\">\n </span>\n\n <div\n class=\"poll__item-content\">\n\n <span\n class=\"poll__item-percents\">{{pollCtrl.formatNumber(answer.percent)}}%</span>\n\n <span class=\"poll__item-text\">\n <span\n ng-bind=\"pollCtrl.unescape(answer.item)\"\n ng-class=\"{\'poll__item-text-content--has-offset\': +answer.count}\"\n class=\"poll__item-text-content\"\n ></span>&nbsp;<span\n class=\"poll__item-tick\"\n ng-if=\"answer.selected\"\n lj-svg-icon=\"flaticon--tick\"\n lj-svg-class=\"poll__item-checkicon\"></span>\n </span>\n\n <button\n class=\"\n poll__control\n poll__control--show-users\"\n type=\"button\"\n ng-if=\"+answer.count && pollCtrl.participantsPopupClickable\"\n ng-bind=\"answer.count\"\n ng-click=\"answer.count && pollCtrl.showParticipants(answer.itid); $event.stopPropagation();\"></button>\n <span\n class=\"\n poll__control\n poll__control--no-events\"\n ng-if=\"+answer.count && !pollCtrl.participantsPopupClickable\"\n ng-bind=\"answer.count\"\n ></span>\n </div>\n </li>\n </ul>\n\n <!-- Voters counter -->\n <footer class=\"poll__content-footer\">\n <span\n class=\"\n poll__control\n poll__control--voters-counter\n poll__control--no-events\n \"\n ng-if=\"+pollCtrl.votersCount > 0 && !pollCtrl.participantsPopupClickable\"\n lj-ml=\"post2017.poll.x_people_voted_control\"\n lj-ml-resolve=\"{count: +pollCtrl.votersCount}\"\n lj-ml-dynamic=\"pollCtrl.votersCount\"\n ></span>\n\n <button\n class=\"\n poll__control\n poll__control--voters-counter\n \"\n type=\"button\"\n ng-if=\"+pollCtrl.votersCount > 0 && pollCtrl.participantsPopupClickable\"\n lj-ml=\"post2017.poll.x_people_voted_control\"\n lj-ml-resolve=\"{count: +pollCtrl.votersCount}\"\n lj-ml-dynamic=\"pollCtrl.votersCount\"\n ng-click=\"pollCtrl.showParticipants()\"\n ></button>\n\n <button\n class=\"\n poll__control\n poll__control--submit\n lightbutton\n lightbutton--blue\"\n ng-click=\"pollCtrl.submitVote()\"\n ng-if=\"pollCtrl.getIsSubmitShown()\"\n lj-ml=\"post2017.poll.button.vote\" ng-disabled=\"pollCtrl.disabled\"></button>\n\n <button\n class=\"\n poll__control\n poll__control--cancel-vote\n lightbutton\n lightbutton--link\n \"\n ng-if=\"pollCtrl.voted && pollCtrl.isOpen\"\n type=\"button\"\n lj-ml=\"post2017.poll.cancel_vote\"\n ng-click=\"pollCtrl.cancelAllVotes()\"\n ></button>\n\n <span\n class=\"poll__closed-mark\"\n ng-if=\"!pollCtrl.isOpen\">\n\n <span\n lj-svg-icon=\"flaticon--exclamation-mark\"\n lj-svg-class=\"poll__exclamation-mark\"></span>\n <span lj-ml=\"post2017.poll.closed\"></span>\n </span>\n </footer>\n</div>\n\n<footer\n class=\"poll__footer\">\n <button\n class=\"\n lightbutton\n lightbutton--link\n poll__control\n poll__control--close-vote\"\n ng-if=\"pollCtrl.isOpen && pollCtrl.isAuthor\" lj-ml=\"poll.close\" ng-click=\"pollCtrl.close()\"></button>\n <button\n class=\"\n lightbutton\n lightbutton--link\n poll__control\n poll__control--close-vote\"\n ng-if=\"!pollCtrl.isOpen && pollCtrl.isAuthor\" lj-ml=\"poll.open\" ng-click=\"pollCtrl.reopen()\"></button>\n\n <button\n class=\"\n poll__control\n poll__control--results\n lightbutton\n lightbutton--link\"\n ng-click=\"pollCtrl.toggleResultsViewMode()\"\n ng-if=\"pollCtrl.getShowResultsBtn()\"\n lj-ml=\"{ \'post2017.poll.button.results_hide\': pollCtrl.resultsViewMode, \'post2017.poll.button.results_show\': !pollCtrl.resultsViewMode }\"\n lj-ml-dynamic=\"pollCtrl.resultsViewMode\"></button>\n\n</footer>\n';
Site.page.template['angular/polls/participants.ng.tmpl'] = '<div class=\"polls-popup-wrapper\" ng-if=\"participantsCtrl.isVisible\">\n <div class=\"basepopup basepopup--cross-outside polls-popup\">\n\n <div\n ng-if=\"!participantsCtrl.isFilled\"\n class=\"polls-popup__svgpreloader svgpreloader svgpreloader-30 svgpreloader-pseudo\"></div>\n\n <div class=\"basepopup__group polls-popup__group\" ng-if=\"participantsCtrl.isFilled\">\n <h1\n class=\"polls-popup__title\"\n ng-if=\"!participantsCtrl.participantsInfo.answer && participantsCtrl.participantsInfo.count\"\n lj-ml=\"post2017.poll.x_people_voted_control\"\n lj-ml-resolve=\"{count: participantsCtrl.participantsInfo.count}\"\n ></h1>\n <h1\n class=\"polls-popup__title\"\n ng-if=\"participantsCtrl.participantsInfo.answer && participantsCtrl.participantsInfo.count\"\n lj-ml=\"post2017.poll.x_people_voted_for_y\"\n lj-ml-resolve=\"{count: participantsCtrl.participantsInfo.count, answer: participantsCtrl.participantsInfo.answer}\"\n ></h1>\n\n <div class=\"basepopup__content polls-popup__content\">\n <p\n class=\"polls-popup__text\"\n lj-ml=\"post2017.poll.question_is_x\"\n lj-ml-resolve=\"{question: participantsCtrl.participantsInfo.question}\"\n lj-ml-dynamic=\"participantsCtrl.participantsInfo.question\"\n ></p>\n\n <!-- List by users -->\n <ul\n class=\"polls-popup__users\"\n ng-style=\"participantsCtrl.usersListStyle\"\n ng-if=\"participantsCtrl.presentationMode !== \'answers\'\">\n <li\n class=\"polls-popup__user\"\n ng-if=\"participantsCtrl.presentationMode === \'users\'\"\n ng-repeat=\"participant in participantsCtrl.participants track by $index\">\n <a\n ng-href=\"{{participantsCtrl.getProfileURL(participant)}}\"\n href=\"{{participantsCtrl.getProfileURL(participant)}}\"\n lj:user=\"{{participant.username}}\">\n <img\n class=\"polls-popup__userpic\"\n ng-src=\"{{participant.userpic}}\" />\n </a>\n\n <span\n class=\"polls-popup__username\"\n lj-user-dynamic=\"participant.username\"\n lj-user-dynamic-options=\"participant\"\n ></span>\n\n <div class=\"polls-popup__answers\">\n <ul\n class=\"polls-popup__answers-list\"\n ng-if=\"!participantsCtrl.participantsInfo.answerid\">\n <li\n class=\"polls-popup__answer\"\n ng-repeat=\"answer in participant.values track by $index\"\n ng-if=\"answer.visible\">\n <div\n class=\"polls-popup__answer-tip\"\n ng-if=\"false && participant.values.length > 1\"\n lj-ml=\"post2017.poll.x_answer_number\"\n lj-ml-resolve=\"{number: $index + 1}\"\n lj-ml-dynamic=\"$index\"></div>\n {{answer.val}}\n </li>\n </ul>\n\n <button\n class=\"\n poll__control\n poll__control--show-more-answers\n \"\n ng-if=\"false && participant.showToggler && !participantsCtrl.participantsInfo.answer\"\n ng-click=\"participantsCtrl.toggleView($index)\"\n lj-ml=\"{ \'post2017.poll.show_x_answers\': participant.shortView, \'post2017.poll.hide_x_answers\': !participant.shortView }\"\n lj-ml-resolve=\"{ count: participant.values.length - participantsCtrl.MIN_VISIBLE_ITEMS_COUNT} \"\n lj-ml-dynamic=\"participant.shortView\"></button>\n </div>\n </li>\n </ul>\n <!-- // List by users -->\n\n <!-- List by answers -->\n <div\n class=\"polls-popup__answers polls-popup__answers--mode-answers\"\n ng-if=\"participantsCtrl.presentationMode === \'answers\'\"\n >\n <ul class=\"polls-popup__answers-list polls-popup__answers-list--mode-answers\">\n <li\n class=\"polls-popup__answer polls-popup__answer--mode-answers\"\n ng-if=\"participant.users.length\"\n ng-repeat=\"participant in participantsCtrl.answersRows track by $index\">\n\n <div\n class=\"polls-popup__answer-text\"\n ng-bind=\"participant.answer\"></div>\n\n <div\n class=\"polls-popup__users polls-popup__users--inline\"\n ng-if=\"!participantsCtrl.participantsInfo.answerid\"\n >\n <span\n class=\"polls-popup__user polls-popup__user--inline\"\n ng-repeat=\"user in participant.users track by $index\"\n >\n <span\n class=\"polls-popup__username\"\n lj-user-dynamic=\"user.username\"\n lj-user-dynamic-options=\"user\"\n ></span>\n <span\n ng-if=\"$index < participant.users.length - 1\">,</span>\n </span>\n </div>\n </li>\n </ul>\n </div>\n <!-- // List by answers -->\n </div>\n </div>\n\n <button\n class=\"basepopup__close\"\n type=\"button\"\n lj-svg-icon=\"flaticon--cross\"\n lj-svg-class=\"basepopup__close-icon\"\n ng-click=\"participantsCtrl.closePopup()\"\n ></button>\n </div>\n</div>\n';
Site.page.template['angular/polls/confirm.ng.tmpl'] = '<div class=\"polls-popup-wrapper\" ng-if=\"confirmCtrl.isVisible\">\n <div class=\"basepopup basepopup--cross-outside polls-popup polls-popup--cancel-poll\">\n <div class=\"basepopup__group polls-popup__group\">\n <h1\n class=\"polls-popup__title\"\n lj-ml=\"post2017.poll.cancel_popup.title\"></h1>\n <div class=\"basepopup__content polls-popup__content\">\n <button class=\"b-flatbutton\" style=\"align-self: flex-end;\" ng-click=\"confirmCtrl.cancelVote()\">Yes</button>\n </div>\n </div>\n\n <button\n class=\"basepopup__close\"\n type=\"button\"\n lj-svg-icon=\"flaticon--cross\"\n lj-svg-class=\"basepopup__close-icon\"\n ng-click=\"confirmCtrl.closePopup()\"\n >\n </button>\n </div>\n</div>\n';
//= require_ml post2017.poll.polltype.radio
//= require_ml post2017.poll.polltype.check
//= require_ml post2017.poll.x_people_voted_control
//= require_ml post2017.poll.x_people_voted_for_y
//= require_ml post2017.poll.question_is_x
//= require_ml post2017.poll.show_x_answers
//= require_ml post2017.poll.hide_x_answers
//= require_ml post2017.poll.x_answer_number
//= require_ml post2017.poll.button.vote
//= require_ml poll.close
//= require_ml poll.open
//= require_ml post2017.poll.cancel_popup.title
//= require_ml post2017.poll.cancel_vote
//= require_ml post2017.poll.closed
//= require_ml post2017.poll.whoview.all
//= require_ml post2017.poll.whoview.none
//= require_ml post2017.poll.whoview.anon
//= require_ml post2017.poll.answer.revote_title
//= require_ml post2017.poll.button.results_show
//= require_ml post2017.poll.button.results_hide
angular.module("LJ.Poll2019",["LJ.User"]).factory("pollService",service).controller("ljPollCtrl",pollController).controller("ljPollarticipantsCtrl",participantsController).controller("ljPollConfirmCtrl",confirmController).directive("ngLjPoll",pollDirective).directive("ngLjPollParticipants",participantsDirective).directive("ngLjPollConfirm",confirmDirective);
/* <<< file end: js/widgets/angular/poll2019.js */
//# map link was there [poll2019.js.map]
/* >>> file start: js/tracking/postImmersTrack.js */
//= require js/node_modules/whatwg-fetch/fetch.js
!function(){var e=function(){return LJ&&LJ.Page&&LJ.Page.currentCounterURL?LJ.Page.currentCounterURL:Site.page.counter_url};e()&&setInterval(function(){var t=void 0;LJ&&LJ.Cookie&&(t=LJ.Cookie.get("ljprof"));var n=Math.round((new Date).getTime()/1e3),r=e()+"&ucrpp="+n;t&&(r=r+"&ljprof="+t),fetch(r,{}).then(function(){})["catch"](function(){})},3e4)}();
/* <<< file end: js/tracking/postImmersTrack.js */
//# map link was there [postImmersTrack.js.map]
/* >>> file start: js/pwa/index.js */
function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e};
//= require_ml pwa.warning.domain_changed
//= require_ml pwa.warning.private_entry
//= require_ml pwa.offline.warning.journal_nav
!function(e){return e}(),function(){LJ.define("LJ.PWA");var e=LJ.Support.isMobile()&&LJ.Support.isMac,t=(LJ.Support.isMobile()&&!LJ.Support.isMac,function(){var e=document.querySelectorAll(".poll"),t=Array.from(e).reduce(function(e,t){var r=t.dataset,a=r.pollId,n=r.pollType,o=(r.pollVotersCount,r.pollWhoviewValue),i=r.pollTitle,s=r.pollItems,l=s?JSON.parse(s)[0].items:[];return a&&(e[a]={pollid:a,name:i,type:n,whoview_value:o,items:l}),e},{});return t});LJ.PWA.switchDebugPWAMode=function(){return localStorage.getItem("debug.forcePWAMode")?(localStorage.removeItem("debug.forcePWAMode"),{modeIsEnabled:!1}):(localStorage.setItem("debug.forcePWAMode",1),{modeIsEnabled:!0})},LJ.PWA.getIsInPWA=function(){return window.matchMedia("(display-mode: standalone)").matches||localStorage.getItem("debug.forcePWAMode")},LJ.PWA.init=function(){try{var r=JSON.parse(LJ.get("journal.manifest")||"{}");if(r&&r.prefer_related_applications)return navigator.serviceWorker.getRegistrations().then(function(e){var t=e.find(function(e){return e.active.scriptURL.indexOf("serviceWorker/main.js")>-1});return t&&t.unregister(),Promise.resolve()});if(LJ.PWA.getIsInPWA()&&LJ.get("journal.liru_counter")){var a=document.createElement("div");a.innerHTML=LJ.get("journal.liru_counter"),document.body.append(a)}document.addEventListener("click",function(e){if("a"===e.target.tagName.toLowerCase()||e.target.closest("a")){var t=e.target.href||e.target.closest("a").href,r=t.match(/\S+\/\d+\.html/g),a=r&&-1===(Site.journal.public_entries||[]).indexOf(r[0]),n=e.target.closest(".j-header-w-journal-nav");a&&!navigator.onLine&&(e.preventDefault(),LJ.Messages.warning(LJ.ml("pwa.warning.private_entry"))),n&&!navigator.onLine&&(e.preventDefault(),LJ.Messages.warning(LJ.ml("pwa.offline.warning.journal_nav")))}});var n=LJ.Util.Link.parseURL(window.Location.href).queryObject||{};n.hasOwnProperty("adaptive")&&n.rfrom&&LJ.Messages.warning(LJ.ml("pwa.warning.domain_changed")),"serviceWorker"in navigator&&!function(){var r=Site,a=r.statprefix,n=function(){return[]};LJ.Page.getPostNodesData=LJ.Page.getPostNodesData||n;var o=function(){var e=LJ.Page.getPostNodesData().map(function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.postID,r=e.journalID,a=e.node;return{postID:t,journalID:r,cutNodesCount:[].concat(_toConsumableArray(a.querySelectorAll('[data-widget="ljcut"]'))).length}}),r={statprefix:a,version:Site.v,siteroot:Site.siteroot,journalObj:Site.journal,journal:Site.journal.id,cacheName:""+Site.journal.id,entryURLs:Site.journal.public_entries.join(","),extraPostData:e,authToken:Site.auth_token,polls:JSON.stringify(t()),systemUsername:Site.currentJournal};return r},i=function(){var t=o(),r=_extends({isPWA:!1,source:"S2",action:"notif::options",isIos:e},t);if(LJ.PWA.getIsInPWA()){r.isPWA=!0;var a=window.location.href,n=LJ.Util.Link.parseURL(a),i=n.queryObject;i.hasOwnProperty("adaptive")||(window.location.href=LJ.Util.Link.addQueryParams({sourceURL:a,queryParams:{adaptive:""}}))}navigator.serviceWorker.ready.then(function(e){e.active.postMessage(r)})},s=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=localStorage.getItem(Site.journal.id+"_journal_update_dttm")||+new Date,r=localStorage.getItem(Site.journal.id+"_static_version"),a=(new Date-t)/36e5,n=Site.v!==+r,i=o(),s=_extends({source:"S2",action:""},i);a>=24||e||n?(s=_extends({},s,{action:"fullUpdate"}),localStorage.setItem(s.journal+"_journal_update_dttm",+new Date),localStorage.setItem(s.journal+"_static_version",Site.v)):s.action="partialUpdate",navigator.serviceWorker.ready.then(function(e){e.active.postMessage(s)})};i(),s();var l=LJ.get("currentJournalBase"),c=LJ.get("domain");c&&-1===l.indexOf(c)&&(l="https://"+c),navigator.serviceWorker.register(l+"/??js/serviceWorker/main.js").then(function(e){console.log("Service Worker Registered",e)})["catch"](function(e){console.log("Service Worker Failed to Register",e)});var u=function(){var e=o(),t=_extends({source:"S2",action:"install"},e);navigator.serviceWorker.ready.then(function(e){e.active.postMessage(t)}),localStorage.setItem(t.journal+"_journal_update_dttm",+new Date),localStorage.setItem(t.journal+"_static_version",Site.v)};window.addEventListener("appinstalled",u),LJ.PWA.triggerInstall=u}()}catch(o){console.log(o)}}}();
/* <<< file end: js/pwa/index.js */
//# map link was there [index.js.map]
/* >>> file start: js/s2.js */
function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}
//= require js/jquery/jquery.calendarEvents.js
//= require js/discovery/directives.js
//= require js/core/angular/ljMemories.js
//= require js/core/angular/ljEmbed.js
//= require js/core/angular/share.js
//= require js/core/angular/ljRemoveRepost.js
//= require js/core/angular/ljTour.js
//= require js/core/angular/components/likeReaction/main.js
//= require js/widgets/likus.js
//= require js/widgets/discoverytimes.js
//= require js/feed/promoControl.js
//= require js/core/angular/api.js
//= require js/facebookMigration/migration.js
//= require js/referral/mamydirectControl.js
//= require js/ljShareButton.js
//= require js/widgets/angular/hints/hashHint.js
//= require js/misc/newCommentsCounter.js
//= require js/misc/catSuggester.js
//= require js/misc/popups/anonSuggestion.js
//= require js/widgets/angular/poll2019.js
//= require js/tracking/postImmersTrack.js
//= require js/pwa/index.js
!function(e){return e}(),function(e){"use strict";var t=["LJ.NotificationCenter","Discovery.Tags","LJ.Memories","LJ.Share","LJ.RemoveRepost","LJ.Tour","LJ.LikeReaction","LJ.Likus","LJ.Embed","LJ.DiscoveryTimes","LJ.Sale","LJ.PromoControl","LJ.Api","Migration.Facebook","LJShareButtonModule","HashHintModule","LJ.CategorySuggester","LJ.AnonSuggestion","LJ.Poll2019"],n=LJ.get("remote");LJ.Flags.isEnabled("loginform_v8")&&!n&&t.push("Login");var a=LJ.Util.getDocument(),r=LJ.Util.getWindow(),o=!1,i=void 0;a.addEventListener("DOMContentLoaded",function(){var e=!angular.element.find(".html-adaptive").length&&!angular.element.find(".html-s2-no-adaptive").length;if(e){var t=Array.from(a.querySelectorAll('meta[content*="width=device-width"]'),function(e){return e});t.length||a.documentElement.classList.add("html-s2-no-adaptive")}}),LJ.define("LJ.Page");var s=function(){if(LJ.PWA.getIsInPWA()){var e=document.querySelectorAll("iframe")||[];e.forEach(function(e){e.onload=function(){var t=e.contentWindow.document,n=t&&t.querySelector("a.i-ljuser-username");n&&(n.href=LJ.Util.Link.addQueryParams({sourceURL:n.href,queryParams:{adaptive:""}}))}})}};LJ.Page.getPostNodesData=function(){var e=[].concat(_toConsumableArray(a.querySelectorAll("article.entryunit, article.j-e, .post-asset, .entry.hentry")));return e.map(function(e){var t=void 0;e.dataset.itemid&&(t=e.dataset.itemid),t||!e.classList.contains("post-asset")&&!e.classList.contains("hentry")||(t=e.id.split("-")[2]);var n=""+Site.journal.id;try{var a=e.querySelector('[data-widget="ljcut"]');n=JSON.parse(a.dataset.widgetOptions).journalid}catch(r){}return{postID:t,journalID:n,node:e}})};var l=function(){return document.querySelector(".j-e-text, .entry-content, .asset-content")};angular.module("S2Layout",t).value("$anchorScroll",null).run(["hashHintService","$compile","$document",function(t,n,c){e("a:not([target])").attr("target","_self"),LJ.Util.runMamydirect(),LJ.PWA.init(),LJ.PWA.getIsInPWA()&&(c.find(".actions-entryunit__items a, .entryunit__title a").toArray().filter(function(e){return e.href.match(/\/[0-9]+.html/)}).forEach(function(e){e.href=LJ.Util.Link.addQueryParams({sourceURL:e.href,queryParams:{adaptive:""}})}),c.find(".ljuser.i-ljuser").toArray().forEach(function(t){var n=t.dataset.ljuser===LJ.get("journal.display_username");if(n){var a=e(t).find("a.i-ljuser-username");a.length&&(a[0].href=LJ.Util.Link.addQueryParams({sourceURL:a[0].href,queryParams:{adaptive:""}}))}}),c.find(".j-user-journal-title a, .entryunit__userpic a").toArray().forEach(function(e){e.href=LJ.Util.Link.addQueryParams({sourceURL:e.href,queryParams:{adaptive:""}})}),s());var u=a.querySelector("#comments");o=!!u,i=LJ.Object.resolve(LJ,"Misc.NewCommentsCounter"),o&&!function(){var e=LJ.get("replycount");i&&i.createCounter({postURL:r.location.host+r.location.pathname,count:e});var t=LJ.Function.debounce(function(){var n=u.getBoundingClientRect(),a=r.innerHeight;n.top<a&&(i&&i.setCounter({postURL:r.location.host+r.location.pathname,count:e}),r.removeEventListener("scroll",t))},200);r.addEventListener("scroll",t)}();var d=LJ.get("styleLayout");if("Air"===d){var f=Array.prototype.slice.call(a.querySelectorAll(".entryunit"));f.forEach(function(e){var t=void 0,n=void 0,a=void 0;try{t=e.querySelector(".entryunit__title a").attributes.href.value,n=e.querySelector(".actions-entryunit__item--comments .actions-entryunit__text"),a=parseInt(n.innerHTML)}catch(r){}t&&n&&a&&i.getCount({postURL:t}).then(function(e){var t=a+"",r=Math.max(0,a-e);r&&(t+=" (+"+r+")"),n.innerHTML=t})["catch"](function(){})})}if(0===angular.element("[ng-controller]").length&&!function(){var e=angular.element("[ng-app]"),t=void 0;LJ.Event.on("afterCommentExpand",function(){var a=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];t||(t=e.scope()),a.node&&t&&n&&n(a.node)(t)})}(),LJ.Event.on("ljcut:appendContent",function(e){var t=e.$content,a=angular.element("[ng-app]");t.find("[ng-lj-poll]").each(function(e,t){n(t)(a.scope())})}),LJ.get("entry.is_public")&&LJ.RCM.trackPostRead({postContentNode:l(),journalID:LJ.get("journal.id"),postID:LJ.get("entry.ditemid")}),LJ.PWA.getIsInPWA()){var h=function(){[].concat(_toConsumableArray(document.querySelectorAll(".actions-entryunit__item--reply"))).forEach(function(e){navigator.onLine?e.style.display="":e.style.display="none"})};h(),window.addEventListener("online",h),window.addEventListener("offline",h)}}]).config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1}).hashPrefix("hash_prefix_disabled"+Math.round(1e3*Math.random()))}]).controller("S2LayoutCtrl",["$scope","$compile",function(e,t){var n=angular.element("body");this.asideToggle=function(){n.toggleClass("js--sidebar-opened")},n.on("click",function(e){angular.element(e.target).parents(".js-sidebar").length||n.toggleClass("js--sidebar-opened",!1)}),this.isSidebarOpened=!1,this.toggleSidebar=function(){this.isSidebarOpened=!this.isSidebarOpened},LJ.Event.on("afterCommentExpand",function(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];n.node&&t(n.node)(e)})}]).directive("sidebarControlsPosition",["$timeout",function(t){return{link:function(n,a){function r(){p&&(o(),i(),l(),LJ.Support.isMobile()&&u())}function o(){0===h&&(h=parseInt(a.css("top"),10),w=f.height(),m=h-w),J=d.offset().top}function i(){if(p!==!1){var t={},a=e(window).scrollTop(),r="vertical",o=J-a,i=e(window).width(),s=e(window).height(),l=o+m;i>1.5*s&&400>s&&(r="horizontal"),0>o?l=30:"horizontal"===r&&(l=o+30),t.top=l,n.controlsTop=t}}function s(){o(),i(),n.$apply()}function l(){g.children().length&&c(g)}function c(){--y<0||(0===g.height()?t(c,C):(o(),i()))}function u(){if(!(--b<0)){var e=angular.element(".b-smartappbanner"),n=e.find(".b-smartappbanner-close");0===e.length?t(u,C):(o(),i(),n.on("click",function(){t(s,C)}))}}var d=angular.element(".js--journal-wrapper"),f=angular.element("#lj_controlstrip_new, .s-header"),h=0,m=0,p=a.is(":visible"),v=p,g=angular.element(".pagewide-wrapper"),L=g.find(".common-banner-close"),y=10,b=10,J=0,w=0,C=1500,_=LJ.Function.throttle(i,30);r(),e(window).on("scroll",_),n.$on("$destroy",function(){e(window).off("scroll",_)}),e(window).on("resize",function(){p=a.is(":visible"),v!==p&&(v=p,p&&(r(),n.$apply()))}),L.on("click",s)}}}]).directive("commentsResizeImages",[function(){return{link:function(t,n){function r(){var t=f.css("top"),n=2*parseFloat(t);b=e(window).width()-n,J=e(window).height()-n}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(!e.length)return!1;var t=["icon","reaction"],n=a.createElement("a");n.href=e[0].src;var r=(n.pathname||"").split("/");n=null;var o=t.some(function(e){return~r.indexOf(e)||~r.indexOf(e+"s")}),i=e[0].hasAttribute("width")&&e[0].hasAttribute("height");return o&&i}function i(){var t=e(this),n=t[0],a=t.width(),r=n.naturalWidth,i=(n.naturalHeight,t.width()*y),l=t.height()*y;if(r>a&&r>=i&&b>=i&&J>=l){if(t.hasClass(L))return;if(!o(t)){t.addClass(L);var c=e("<span>").addClass(g);t.wrap(c)}t.on("click",function(){s(this)})}else t.hasClass(L)&&(t.off(),t.unwrap(),t.removeClass(L));return t}function s(t){u.attr("src",e(t).attr("src")),e("body").addClass(v);var n=[0,0,u.width(),u.height()].join(" ");h[0].setAttribute("viewBox",n);var a=m[0].width.baseVal.value,r=u.width()-a-p,o=[r,p].join(",");m.attr("transform","translate("+o+")")}var l=n.find(".j-c-resize-images"),c=l.find("img"),u=e(".fullsize-image"),d=e(".fullsize-image-fader"),f=e(".fullsize-image-wrapper"),h=e(".fullsize-image-svg-glass"),m=e(".fullsize-image-close"),p=5,v="js--wrapper-shown",g="scaled-image-wrapper",L="img--scaled",y=1.5,b=e(window).width(),J=e(window).height();c.length>0&&(r(),c.map(i),h.on("click",function(){e("body").removeClass(v)}),d.on("click",function(){e("body").removeClass(v)}),e(window).on("resize",function(){r(),c.map(i)}))}}}]).directive("entryWidth",[function(){return{link:function(t,n){function a(){var t=r[0].clientWidth;i>=t?r.map(function(){e(this)[0].classList.add(o)}):r.map(function(){e(this)[0].classList.remove(o)})}var r=n.find(".post2017"),o="post2017--narrow",i=650;r.length&&(a(),e(window).resize(LJ.Function.debounce(a,50)))}}}]),LJ.Event.on("page_load",function(){var t=e(".sidebar-cal");e.fn.hasOwnProperty("inlineCalendar")&&(t.inlineCalendar({selectors:{month:".sbar-cal-nav-month",year:".sbar-cal-nav-year",prevMonth:".sbar-cal-nav-month .sbar-cal-nav-prev",nextMonth:".sbar-cal-nav-month .sbar-cal-nav-next",prevYear:".sbar-cal-nav-year .sbar-cal-nav-prev",nextYear:".sbar-cal-nav-year .sbar-cal-nav-next",monthLabel:".sbar-cal-nav-month .sbar-cal-month",yearLabel:".sbar-cal-nav-year .sbar-cal-year"},classNames:{current:"today",nextDisabled:"disabled",prevDisabled:"disabled"},dayRef:LJ.get("currentJournalBase")+"/%Y/%M/%D/",monthRef:LJ.get("currentJournalBase")+"/%Y/%M/",yearRef:LJ.get("currentJournalBase")+"/%Y/",endMonth:new Date,startAtSunday:!0}).on("daySelected",function(e){e.preventDefault()}),e.fn.hasOwnProperty("calendarEvents")&&t.calendarEvents({calendarType:"inlineCalendar"}))}),LJ.Event.on("page_load",function(){var t="hover",n=e(".sidebar dl"),a=e(".sidebar dt"),r=!1;0!==e(".sidebar-friendstimes").length&&(LJ.Support.touch?(a.on("touchstart",function(){e(this).parent().toggleClass(t).siblings().removeClass(t)}),n.on("touchstart",function(){r=!0}),e(document).on("touchstart",function(){r?r=!1:n.removeClass(t)})):n.on({mouseenter:function(){e(this).addClass("hover")},mouseleave:function(){e(this).removeClass("hover")}}))}),LJ.Event.on("page_load",function(){LJ.get("LJ_cmtinfo")&&(window.LJ_cmtinfo=LJ.get("LJ_cmtinfo")),e.fn.subjecticons&&e(".b-subjecticons").subjecticons(),e.fn.commentator&&e.fn.authtype&&e.fn.quotescreator&&e("#postform-wrapper").commentator({publicKey:LJ.get("captcha_public"),captchaContainerId:"captcha-container"}).authtype({forceStartupCaptcha:!!Number(LJ.get("need_captcha")),selectors:{authTypeRadios:".b-postform-login-{authType} .b-postform-login-radio"}}).quotescreator(),e.fn.placeholder&&e("#cookieusername").placeholder(),e(document.body).on("click","[data-s2-helper-scrollTop]",function(t){t.preventDefault(),e("body,html").animate({scrollTop:0},500)}),LJ.define("LJ.S2Comments"),LJ.S2Comments=!0}),e(function(){e("body").on("click",".b-lenta-msg-close",function(t){t.preventDefault(),LJ.Api.call("friendsfeed.close_friendsfeed_line",{},function(){e(".b-lenta-msg").remove(),e("body").addClass("b-lenta-msg-hidden")})})})}(jQuery);
/* <<< file end: js/s2.js */
//# map link was there [s2.js.map]
/* >>> file start: js/deprecated/dom.js */
function _textSpan(){return _textElements("span",arguments)}function _textDiv(){return _textElements("div",arguments)}function _textElements(t,e){for(var n=[],r=0;r<e.length;r++){var u=document.createElement(t);u.innerHTML=e[r],n.push(u)}return 1==n.length?n[0]:n}
/* <<< file end: js/deprecated/dom.js */
//# map link was there [dom.js.map]
/* >>> file start: js/ippu.js */
function changeOpac(e,t){var i=$(e);if(i&&i.style){var s=i.style;s&&(IPPU.isSafari()&&t>=100&&(t=99.99),s.filters&&(s.filters.alpha.opacity=100*t),s.opacity=t)}}IPPU=new Class(Object,{setFixedPosition:function(e){IPPU.isIE()||(this.fixedPosition=e,this.updateContent())},clickHandler:function(e){if(this.clickToClose&&this.visible()){e=Event.prep(e);var t=e.target;DOM.getAncestorsByClassName(t,"ippu",!0).length>0||this.cancel()}},setCancelledCallback:function(e){this.cancelledCallback=e},cancel:function(){this.cancelledCallback&&this.cancelledCallback(),this.hide()},setHiddenCallback:function(e){this.hiddenCallback=e},setupClickCapture:function(){if(this.visible()&&!this.clickHandlerSetup&&(this.clickToClose||this.modal)){if(this.clickHandlerFunc=this.clickHandler.bindEventListener(this),this.modal){if(this.overlay)return;this.overlay=document.createElement("div"),this.overlay.style.left="0px",this.overlay.style.top="0px",this.overlay.style.margin="0px",this.overlay.style.padding="0px",this.overlay.style.backgroundColor="#000000",this.overlay.style.zIndex="900",IPPU.isIE()?(this.overlay.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=50)",this.overlay.style.position="absolute",this.overlay.style.width=document.body.scrollWidth,this.overlay.style.height=document.body.scrollHeight):this.overlay.style.position="fixed",this.ele.parentNode.insertBefore(this.overlay,this.ele),this.updateOverlay(),DOM.addEventListener(this.overlay,"click",this.clickHandlerFunc)}else DOM.addEventListener(document,"click",this.clickHandlerFunc);this.clickHandlerSetup=!0}},updateOverlay:function(){if(this.overlay){var e=DOM.getClientDimensions();this.overlay.style.width=e.x-1+"px",IPPU.isIE()||(this.overlay.style.height=e.y-1+"px"),this.visibleOverlay?(this.overlay.backgroundColor="#000000",changeOpac(this.overlay,.5)):(this.overlay.backgroundColor="#FFFFFF",changeOpac(this.overlay,0))}},resizeHandler:function(e){this.updateContent()},removeClickHandlers:function(){if(this.clickHandlerSetup){DOM.removeEventListener(document,"click",this.clickHandlerFunc,!1),this.overlay&&(DOM.removeEventListener(this.overlay,"click",this.clickHandlerFunc,!0),this.overlay.parentNode.removeChild(this.overlay),this.overlay=void 0),this.clickHandlerFunc=void 0,this.clickHandlerSetup=!1}},setClickToClose:function(e){if(this.clickToClose=e,!this.clickHandlerSetup&&e&&this.visible()){var t=this.setupClickCapture.bind(this);window.setTimeout(t,100)}else!e&&this.clickHandlerSetup&&this.removeClickHandlers();this.updateContent()},setModal:function(e){var t=this.modal==e;e&&this.setClickToClose(!1),this.modal=e,t&&(this.removeClickHandlers(),this.updateContent())},setOverlayVisible:function(e){this.visibleOverlay=e,this.updateContent()},updateContent:function(){this.autoCenter(),this.updateTitlebar(),this.updateOverlay(),this.titlebar&&this.setTitlebarClass(this.titlebar.className);var e=this.setupClickCapture.bind(this);window.setTimeout(e,100),this.fixedPosition&&"fixed"!=this.ele.style.position?this.ele.style.position="fixed":this.fixedPosition||"fixed"!=this.ele.style.position||(this.ele.style.position="absolute")},getTitlebarElement:function(){return this.titlebar},setTitlebarClass:function(e){this.titlebar&&(this.titlebar.className=e)},setOverflow:function(e){this.ele&&(this.ele.style.overflow=e)},visible:function(){return this.shown},setTitlebar:function(e){if(this.showTitlebar=e,e){if(!this.titlebar){var t=document.createElement("div");if(!t)return;t.style.width="100%",this.title&&(t.innerHTML=this.title),this.ele.insertBefore(t,this.content),this.titlebar=t}}else this.titlebar&&(this.ele.removeChild(this.titlebar),this.titlebar=!1)},setTitle:function(e){this.title=e,this.updateTitlebar()},updateTitlebar:function(){this.showTitlebar&&this.titlebar&&this.title!=this.titlebar.innerHTML&&(this.titlebar.innerHTML=this.title)},addClass:function(e){DOM.addClassName(this.ele,e)},removeClass:function(e){DOM.removeClassName(this.ele,e)},setAutoCenterCallback:function(e){this.autoCenterCallback=e},autoCenter:function(){if(this.visible&&this.visible()){if(this.autoCenterCallback)return void this.autoCenterCallback(this);this.autoCenterX&&this.centerX(),this.autoCenterY&&this.centerY()}},center:function(){this.centerX(),this.centerY()},centerOnWidget:function(e,t,i){t=t||0,i=i||0,this.setAutoCenter(!1,!1),this.setAutoCenterCallback(null);var s=DOM.getAbsoluteDimensions(e),n=DOM.getAbsoluteDimensions(this.ele),l=s.absoluteRight-s.offsetWidth/2-n.offsetWidth/2+i,o=s.absoluteBottom-s.offsetHeight/2-n.offsetHeight/2+t;l=0>l?0:l,o=0>o?0:o,DOM.setLeft(this.ele,l),DOM.setTop(this.ele,o)},centerX:function(){if(this.visible&&this.visible()){var e=DOM.getClientDimensions(),t=e.x/2-this.ele.offsetWidth/2;if(!this.fixedPosition){var i=DOM.getWindowScroll();t+=i.left}DOM.setLeft(this.ele,t)}},centerY:function(){if(this.visible&&this.visible()){var e=DOM.getClientDimensions(),t=e.y/2-this.ele.offsetHeight/2;if(!this.fixedPosition){var i=DOM.getWindowScroll();t+=i.top}DOM.setTop(this.ele,t)}},setAutoCenter:function(e,t){return this.autoCenterX=e||!1,this.autoCenterY=t||!1,e||t?void this.autoCenter():void this.setAutoCenterCallback(null)},setDimensions:function(e,t){e+="",t+="",e.match(/^\d+$/)&&(e+="px"),t.match(/^\d+$/)&&(t+="px"),this.ele.style.width=e,this.ele.style.height=t},moveForward:function(e){e||(e=1),this.ele&&(this.ele.style.zIndex+=e)},moveBackward:function(e){e||(e=1),this.ele&&(this.ele.style.zIndex-=e)},setLocation:function(e,t){this.setLeft(e),this.setTop(t)},setTop:function(e){"string"!=typeof e&&(e+="px"),this.ele.style.top=e},setLeft:function(e){"string"!=typeof e&&(e+="px"),this.ele.style.left=e},getElement:function(){return this.ele},setContent:function(e){this.content.innerHTML=e},setContentElement:function(e){for(;this.content.firstChild;)this.content.removeChild(this.content.firstChild);!function(e){return e}(),this.content.appendChild(e)},setFadeIn:function(e){this.fadeIn=e},setFadeOut:function(e){this.fadeOut=e},setFadeSpeed:function(e){this.fadeSpeed=e},show:function(){if(this.shown=!0,this.fadeIn){var e=.01;changeOpac(this.ele,e)}document.body.appendChild(this.ele),this.ele.style.position="absolute",(this.autoCenterX||this.autoCenterY)&&this.center(),this.updateContent(),this.resizeHandlerFunc||(this.resizeHandlerFunc=this.resizeHandler.bindEventListener(this),DOM.addEventListener(window,"resize",this.resizeHandlerFunc,!1)),this.fadeIn&&this.fade("in"),this.hideSelects()},fade:function e(t,i){var s,n,l=10;if("in"==t)n=1/l,s=.1;else{if(this.ele.style.opacity){var o=parseFloat(this.ele.style.opacity);s=isFinite(o)?o:0}else s=.99;n=-1/l}var a=this.fadeSpeed;a||(a=1);var h=l/a*5;this.fadeMode=t;var r=this,e=function c(){return s+=n,r.fadeMode&&r.fadeMode!=t?void(i&&i.call(r,[])):.1>=s?(i&&i.call(r,[]),void(r.fadeMode=null)):s>=1?(i&&i.call(r,[]),void(r.fadeMode=null)):(changeOpac(r.ele,s),void window.setTimeout(c,h))};e()},hide:function(){this.visible()&&(this.fadeOut&&this.ele?this.fade("out",this._hide.bind(this)):this._hide())},_hide:function(){this.hiddenCallback&&this.hiddenCallback(),this.shown=!1,this.removeClickHandlers(),this.ele&&document.body.removeChild(this.ele),this.resizeHandlerFunc&&DOM.removeEventListener(window,"resize",this.resizeHandlerFunc),this.showSelects()},setAutoHideSelects:function(e){this.autoHideSelects=e,this.updateContent()},hideSelects:function(){if(this.autoHideSelects&&IPPU.isIE())for(var e,t=document.getElementsByTagName("select"),i=0;i<t.length;i++)e=t[i],e&&(DOM.getAncestorsByClassName(e,"ippu",!0).length>0||"hidden"!=e.style.visibility&&(e.style.visibility="hidden",this.hiddenSelects.push(e)))},showSelects:function(){if(this.autoHideSelects)for(var e;e=this.hiddenSelects.pop();)e.style.visibility=""},init:function(e){var t=document.createElement("div");this.ele=t,this.shown=!1,this.autoCenterX=!1,this.autoCenterY=!1,this.titlebar=null,this.title="",this.showTitlebar=!1,this.clickToClose=!1,this.modal=!1,this.clickHandlerSetup=!1,this.docOverlay=!1,this.visibleOverlay=!1,this.clickHandlerFunc=!1,this.resizeHandlerFunc=!1,this.fixedPosition=!1,this.autoCenterCallback=null,this.cancelledCallback=null,this.autoHideSelects=!1,this.hiddenCallback=null,this.fadeOut=!1,this.fadeIn=!1,this.hiddenSelects=[],this.fadeMode=null,t.style.position="absolute",t.style.top=0,t.style.zIndex="1000",DOM.addClassName(t,"ippu"),this.content=document.createElement("div"),this.content.innerHTML=e,this.ele.appendChild(this.content)}}),IPPU.center=function(e){e.centerX(),e.centerY()},IPPU.centerX=function(e){e.centerX()},IPPU.centerY=function(e){e.centerY()},IPPU.isIE=function(){var e=navigator.userAgent.toLowerCase();return-1!=e.indexOf("msie")},IPPU.isSafari=function(){var e=navigator.userAgent.toLowerCase();return-1!=e.indexOf("safari")};
/* <<< file end: js/ippu.js */
//# map link was there [ippu.js.map]
/* >>> file start: js/lj_ippu.js */
//= require js/deprecated/dom.js
//= require js/ippu.js
LJ_IPPU=new Class(IPPU,{init:function(e){e||(e=""),LJ_IPPU.superClass.init.apply(this,[]),this.uniqId=this.generateUniqId(),this.cancelThisFunc=this.cancel.bind(this),this.setTitle(e),this.setTitlebar(!0),this.setTitlebarClass("lj_ippu_titlebar"),this.addClass("lj_ippu"),this.setAutoCenterCallback(IPPU.center),this.setDimensions(514,"auto"),this.setFixedPosition(!0),this.setClickToClose(!0),this.setAutoHideSelects(!0)},setTitle:function(e){var t=" <div style='float:right; padding-right: 8px'><img src='"+Site.imgprefix+"/CloseButton.gif?v=7618' width='15' height='15' id='"+this.uniqId+"_cancel' /></div>"+e;LJ_IPPU.superClass.setTitle.apply(this,[t])},generateUniqId:function(){var e=new Date;return"lj_ippu_"+e.getHours()+e.getMinutes()+e.getMilliseconds()},show:function(){LJ_IPPU.superClass.show.apply(this);var e=this.setup_lj_ippu.bind(this);this.timerSetup=window.setTimeout(e,300)},setup_lj_ippu:function(e){var t=this.cancelThisFunc;$(this.uniqId+"_cancel").onclick=function(){t()}},hide:function(){clearInterval(this.timerSetup),LJ_IPPU.superClass.hide.apply(this)}}),LJ_IPPU.showNote=function(e,t,i,s){var n=document.createElement("div");return n.innerHTML=e,LJ_IPPU.showNoteElement(n,t,i,s)},LJ_IPPU.showErrorNote=function(e,t,i){return LJ_IPPU.showNote(e,t,i,"ErrorNote")},LJ_IPPU.showNoteElement=function(e,t,i,s){var n=new IPPU;n.init();var o=document.createElement("div");DOM.addClassName(o,"Inner"),o.appendChild(e),n.setContentElement(o),n.setTitlebar(!1),n.setFadeIn(!0),n.setFadeOut(!0),n.setFadeSpeed(4),n.setDimensions("auto","auto"),s||(s="Note"),n.addClass(s);var a;if(!t||(a=DOM.getAbsoluteDimensions(t))){var l=DOM.getClientDimensions();if(l){if(a){n.setAutoCenter(!1,!1),n.setLocation(a.absoluteLeft,a.absoluteBottom+4),n.show();var u=DOM.getAbsoluteDimensions(n.getElement());u.absoluteRight>l.x&&n.setLocation(l.x-u.offsetWidth-30,a.absoluteBottom+4)}else n.setAutoCenter(!0,!0),n.show();return n.setClickToClose(!0),n.moveForward(),void 0===i&&(i=5e3),i&&window.setTimeout(function(){n&&n.hide()},i),n}}},LJ_IPPU.textPrompt=function(e,t,i,s){s=s||{},e+="";var n=new LJ_IPPU(e),o=document.createElement("div");DOM.addClassName(o,"ljippu_textprompt"),t&&o.appendChild(_textDiv(t));var a=document.createElement("textarea");DOM.addClassName(a,"htmlfield"),a.cols=40,a.rows=5,o.appendChild(a);var l=document.createElement("div");DOM.addClassName(l,"submitbtncontainer");var u=document.createElement("input");DOM.addClassName(u,"submitbtn"),u.type="button",u.value="Insert",l.appendChild(u),o.appendChild(l),n.setContentElement(o),n.setAutoCenter(!0,!0),n.setDimensions(s.width||"60%","auto"),n.show(),a.focus(),DOM.addEventListener(u,"click",function(e){n.hide(),i&&i.apply(null,[a.value])})};
/* <<< file end: js/lj_ippu.js */
//# map link was there [lj_ippu.js.map]
/* >>> file start: js/esn.js */
//= require js/lj_ippu.js
//= require js/deprecated/dom.js
var ESN={};!function(t,e){e.initCheckAllBtns=function(){var e=t("ntypeids"),n=t("catids");e&&n&&(ntidList=e.value,catidList=n.value,ntidList&&catidList&&(e=ntidList.split(","),n=catidList.split(","),n.forEach(function(n){e.forEach(function(e){var r="SubscribeCheckbox-"+n+"-"+e,i=new CheckallButton;i.init({"class":r,button:t("CheckAll-"+n+"-"+e),parent:t("CategoryRow-"+n)})})})))},e.initTrackBtns=function(t){if(LJ.get("remote")){t=t||document;var n=DOM.getElementsByTagAndClassName(t,"img","TrackButton");n.forEach(function(t){t&&t.getAttribute&&(t.getAttribute("lj_subid")||t.getAttribute("lj_journalid"))&&(t.getAttribute("lj_dtalkid")&&!LJ.get("remote_can_track_threads")||DOM.addEventListener(t,"click",e.trackBtnClickHandler.bindEventListener(t)))})}},e.trackBtnClickHandler=function(t){var n=t.target;if(!n||"img"!=n.tagName.toLowerCase())return!0;Event.stop(t);var r={};["arg1","arg2","etypeid","newentry_etypeid","newentry_token","newentry_subid","journalid","subid","auth_token"].forEach(function(t){r[t]=n.getAttribute("lj_"+t)});var i=document.createElement("div"),a=_textDiv("Email me when");DOM.addClassName(a,"track_title"),i.appendChild(a);var o=function(t,e){var n=document.createElement("div"),r=document.createElement("input");r.type="checkbox",r.id="newentrytrack"+Unique.id();var a=document.createElement("label");return a.setAttribute("for",r.id),a.innerHTML=t,n.appendChild(r),n.appendChild(a),i.appendChild(n),r.checked=!!e,r};e.trackPopup&&(e.trackPopup.hide(),e.trackPopup=null);var u=document.createElement("input");u.type="button",u.value="Save Changes",DOM.addClassName(u,"track_savechanges");var s,c,d=Number(r.newentry_subid)?1:0,l=Number(r.subid)?1:0;n.getAttribute("lj_dtalkid")?c=o("someone replies in this comment thread",1):(s=o(n.getAttribute("lj_username")+" posts a new entry",d),c=o("someone comments on this post",l)),DOM.addEventListener(u,"click",function(){e.toggleSubscriptions(r,t,n,{newEntry:s?s.checked:!1,newComments:c.checked}),e.trackPopup&&e.trackPopup.hide()});var b=document.createElement("div");DOM.addClassName(b,"track_btncontainer"),i.appendChild(b),b.appendChild(u);var p=document.createElement("a");return p.href=n.parentNode.href,b.appendChild(p),p.innerHTML="More Options",DOM.addClassName(p,"track_moreopts"),e.trackPopup=new LJ_IPPU.showNoteElement(i,n,0),DOM.addEventListener(p,"click",function(t){return Event.stop(t),document.location.href=n.parentNode.href,e.trackPopup&&e.trackPopup.hide(),!1}),!1},e.toggleSubscriptions=function(t,n,r,i){if(t.subid=Number(t.subid),(t.subid&&!i.newComments||!t.subid&&i.newComments)&&e.toggleSubscription(t,n,r,"newComments"),t.newentry_subid=Number(t.newentry_subid),t.newentry_subid&&!i.newEntry||!t.newentry_subid&&i.newEntry){var a=new Object(t);a.subid=Number(r.getAttribute("lj_newentry_subid")),e.toggleSubscription(a,n,r,"newEntry")}},e.toggleSubscription=function(t,n,r,i){var a="",o={auth_token:"newEntry"==i?t.newentry_token:t.auth_token};if(Number(t.subid))a="delsub",o.subid=t.subid;else{a="addsub";var u;"newEntry"==i?(o.etypeid=t.newentry_etypeid,u=["journalid"]):u=["journalid","arg1","arg2","etypeid"],u.forEach(function(e){Number(t[e])&&(o[e]=parseInt(t[e]))})}o.action=a;var s={method:"POST",url:LiveJournal.getAjaxUrl("esn_subs"),data:HTTPReq.formEncoded(o)},c=function(t){if(!t)return LJ_IPPU.showNote("Error changing subscription",r);if(t.error)return LJ_IPPU.showNote(t.error,r);if(t.success){if(t.msg&&LJ_IPPU.showNote(t.msg,r),t.subscribed){t.subid&&r.setAttribute("lj_subid",t.subid),t.newentry_subid&&r.setAttribute("lj_newentry_subid",t.newentry_subid),r.setAttribute("title","Untrack This");var n=r.getAttribute("lj_dtalkid");n?e.updateThreadIcons(n,"on"):r.src=LJ.get("imgprefix")+"/btn_tracking.gif?v=17312"}else{"LJ::Event::JournalNewComment"==t.event_class?r.setAttribute("lj_subid",0):"LJ::Event::JournalNewEntry"==t.event_class&&r.setAttribute("lj_newentry_subid",0),r.setAttribute("title","Track This");var n=r.getAttribute("lj_dtalkid");if(n){for(var i,a="off",o=n;(i=e.getThreadParentBtn(o))&&(o=i.getAttribute("lj_dtalkid"));)if(Number(i.getAttribute("lj_subid"))){a="parent";break}e.updateThreadIcons(n,a)}else r.src=LJ.get("imgprefix")+"/btn_track.gif?v=17312"}t.auth_token&&r.setAttribute("lj_auth_token",t.auth_token),t.newentry_token&&r.setAttribute("lj_newentry_token",t.newentry_token)}};s.onData=c,s.onError=function(t){LJ_IPPU.showNote("Error: "+t)},HTTPReq.getJSON(s)},e.getThreadParentBtn=function(e){var n=LJ_cmtinfo[e+""];if(!n)return null;var r=n.parent;return r?t("lj_track_btn_"+r):null},e.updateThreadIcons=function(n,r){var i=t("lj_track_btn_"+n);if(i){var a=LJ_cmtinfo[n+""];if(a&&(!Number(i.getAttribute("lj_subid"))||"on"==r)){a.rc&&a.rc.length&&a.rc.forEach(function(t){window.setTimeout(function(){var n;switch(r){case"on":n="parent";break;case"off":n="off";break;case"parent":n="parent";break;default:alert("Unknown tracking state "+r)}e.updateThreadIcons(t,n)},300)});var o;switch(r){case"on":o="/btn_tracking.gif?v=17312";break;case"off":o="/btn_track.gif?v=17312";break;case"parent":o="/btn_tracking_thread.gif?v=17312";break;default:alert("Unknown tracking state "+r)}i.src=LJ.get("imgprefix")+o}}},jQuery(function(t){e.initCheckAllBtns(),e.initTrackBtns(),t("#settings_form").on("click","a.delete-group",function(e){var n=this.search.match(/delete_group=([-\d]+)/),r=n?n[1]:null;e.preventDefault(),r&&(t.post(location.href,{delete_group:r}),t(this).closest("tr").remove())})})}(DOM.getElement,ESN);
/* <<< file end: js/esn.js */
//# map link was there [esn.js.map]
/* >>> file start: js/jquery/jquery.lj.confirmbubble.js */
LJ.UI.registerTemplate('templates-Widgets-popupcontent', "<div class=\" b-popup-content {{if $data.options_centered}} b-popup-options-centered {{/if}} \" > {{if $data.show_header}} <div class=\"b-popup-content-header\"> <span> {{html $data.header_text}} </span> </div> {{/if}} <div class=\"b-popup-content-confirm\"> {{html $data.confirm_text}} </div> {{if $data.show_check}} <div class=\"b-popup-content-inner\"> <input id=\"b-popup-check\" type=\"checkbox\" class=\"b-popup-check\" > <label for=\"b-popup-check\" class=\"b-popup-check-text\" >{{html $data.check_text}}</label> </div> {{/if}} <div class=\"b-popup-submit-options\"> <button type=\"button\" class=\"b-popup-btn b-flatbutton b-flatbutton-simple\" >{{html $data.yes_text}}</button> <button type=\"button\" class=\"b-popup-cancel b-flatbutton b-flatbutton-simple b-flatbutton-neutral\" >{{html $data.no_text}}</button> </div> </div> ", 'JQuery.stat');
!function(t,e){t.widget("lj.confirmbubble",t.lj.basicWidget,{options:{selectors:{ok:".b-popup-btn",cancel:".b-popup-cancel",check:".b-popup-check"},templates:{content:"templates-Widgets-popupcontent"},confirm:jQuery.noop,confirmText:"",yesText:"",noText:"",checkText:"",headerText:"",showCheck:!1,showHeader:!1},_create:function(){t.lj.basicWidget.prototype._create.apply(this),this._content=this._tmpl("content",{confirm_text:this.options.confirmText,yes_text:this.options.confirmYes||LJ.ml("confirm.bubble.yes"),no_text:this.options.confirmNo||LJ.ml("confirm.bubble.no"),show_check:this.options.showCheck,show_header:this.options.showHeader,header_text:this.options.headerText,check_text:this.options.checkText}),this._bindControls(),this._content.bubble({showOn:"click",target:this.element}),this.options.showCheck&&this._content.find(this._s("ok")).attr("disabled",!0),Function.defer(this._content.bubble.bind(this._content,"show"))},_bindControls:function(){var e=this,o=this._content,i=o.find(this._s("ok")),n=this.options;t.lj.basicWidget.prototype._bindControls.apply(this),o.on("click",this._s("ok"),function(t){o.bubble("hide"),n.confirm()}).on("change",this._s("check"),function(e){t(this).attr("checked")?i.removeAttr("disabled"):i.attr("disabled",!0)}).on("click",this._s("cancel"),function(t){o.bubble("hide")}).on("bubblehide",function(t){e._trigger("hide")}).on("bubbleshow",function(t){e._trigger("show")})},show:function(){this._content.bubble("show")},hide:function(){this._content.bubble("hide")}})}(jQuery,this);
/* <<< file end: js/jquery/jquery.lj.confirmbubble.js */
//# map link was there [jquery.lj.confirmbubble.js.map]
/* >>> file start: js/jquery/jquery.lj.ljcut.js */
!function(t){return t}(),function(t){"use strict";var e=[];t.widget("lj.ljcut",t.lj.basicWidget,{options:{journalid:null,ditemid:null,cutid:null,placeholders:0,sticky:!1,selectors:{expand:".ljcut-link-expand",collapse:".ljcut-link-collapse",collapseLink:".ljcut-pseudolink-collapse",stickyLink:".b-sticky-cut-link"},classNames:{preloader:"ljcut-link-expanding",expanded:"ljcut-expanded","sticky-cut-visible":"b-sticky-cut-visible",cut:".b-sticky-cut"}},_create:function(){t.lj.basicWidget.prototype._create.apply(this),this._window=t(window),this.cut=t(this._cl("cut")),this._stickyCollapseHandler=this._collapse.bind(this),this.content=null,this._isMac=/Mac/.test(navigator.userAgent),this._isOpera=/Opera/.test(navigator.userAgent),this._collapseNode=t('<span class="ljcut-pseudolink"><span class="ljcut-decor"><span class="ljcut-pseudolink-collapse">{close}</span></span></span>'.supplant({close:this._ml("collapse")})),this._bindControls(),this._id=e.length,e[this._id]=!1},_bindControls:function(){var e=!1,i=[this._s("expand"),this._s("collapse")].join(", ");t.lj.basicWidget.prototype._bindControls.apply(this),this.element.on("click",this._s("expand"),this._expand.bind(this)),this.element.on("click",this._s("collapse"),this._collapse.bind(this)),this.element.on("touchstart",i,function(){e=!0}),this.element.on("touchmove",i,function(){e=!1}),this.element.on("touchend",i,function(i){e&&(t(i.target).trigger("click"),i.preventDefault())}),t(document).on("keydown",this._shortcuts.bind(this)),this._window.on("scroll",this._scrolling.bind(this))},_shortcuts:function(t){var e=this._isMac&&this._isOpera?t.metaKey:t.ctrlKey,i=t.altKey;if(e&&i){switch(t.which){case 61:case 187:this.expand();break;case 173:case 31:case 109:case 189:this.collapse()}t.preventDefault()}},_togglePreloader:function(t){this.element.toggleClass(this._cl("preloader"),t)},_toggleContent:function(e,i){var n,s=this;!this.locked()&&this.content&&(this._lock(),"function"!=typeof i&&(i=t.noop),this.element.toggleClass(s._cl("expanded"),e),e?this._showContent(i):(n=this.element.offset().top-30,this.element.is(":screenable")?this._hideContent(i):t("body,html").animate({scrollTop:n},300,function(){setTimeout(s._hideContent.bind(s,i),50)})))},_showContent:function(t){var e=this;this.content.show(50,function(){e._trigger("show",null,e),t(),e._unlock()})},_hideContent:function(t){var e=this;this.content.slideUp(50,function(){e._trigger("hide",null,e),t(),e._unlock()})},_requestContent:function(e){var i=this;this._lock(),this._togglePreloader(!0),LJ.Api.call("event.get_lj_cut",e,function(e){i.content=t("<div />",{html:e.text}).hide(),i.content.find("a:not([target])").attr("target","_self"),i.element.after(i.content),setTimeout(function(){LJ.Event.trigger("ljcut:appendContent",{$content:i.content,$node:i.element})},0),i._unlock(),i._togglePreloader(!1),i._toggleContent(!0,i._addHandlers.bind(i)),e.counter_image_url&&LJ.Stat.addCounter(e.counter_image_url)})},_addHandlers:function(){this.content.ljLikes(),LJ.Event.trigger("social:widgets:parse"),LJ.Event.trigger("social:newinsta:parse")},expand:function(){this.locked()||(this.content?this._toggleContent(!0):this._requestContent({journalid:this.options.journalid,ditemid:this.options.ditemid,cutid:this.options.cutid,placeholders:this.options.placeholders}))},collapse:function(){this.locked()||(this._toggleContent(!1),this._toggleStickyClass(!1))},_expand:function(t){return t.metaKey||t.ctrlKey?!0:(t.preventDefault(),void this.expand())},_collapse:function(t){return t.metaKey||t.ctrlKey?!0:(t.preventDefault(),e[this._id]=!1,void this.collapse())},_scrolling:function(){this._updateStickyCutState()},_updateStickyCutState:function(){var i,n,s,o,l,c,a;this._isExpanded()&&this.options.sticky&&this.content&&(i=this._window.height(),n=t(document).scrollTop(),s=this.content.height(),o=this.content.offset().top,l=o+s,a=this.element.find(this._s("collapse")),c=n>o&&l-i>n,e[this._id]=c,this._toggleStickyClass(c))},_toggleStickyClass:function(i){this.cut.toggleClass(this._cl("sticky-cut-visible"),e.indexOf(!0)>-1),i?t(document).on("click",this._s("stickyLink"),this._stickyCollapseHandler):t(document).off("click",this._s("stickyLink"),this._stickyCollapseHandler)},_addBottomCollapser:function(){return!this._bottomCloser&&this.options.sticky&&(this._bottomCloser=this._collapseNode.appendTo(this.content),this._bottomCloser.find(this._s("collapseLink")).on("click",this._bottomCloserClickHandler.bind(this))),this._bottomCloser},_bottomCloserClickHandler:function(){event.preventDefault(),this.collapse()},_isExpanded:function(){return this.element.hasClass(this._cl("expanded"))},_isCollapsed:function(){return!this._isExpanded()}})}(jQuery);
/* <<< file end: js/jquery/jquery.lj.ljcut.js */
//# map link was there [jquery.lj.ljcut.js.map]
/* >>> file start: js/fb-select-image.js */
jQuery(function(){function e(e,t){jQuery("<div>"+t+"</div>").find("img").each(function(){e.push(this.src)})}function t(e){g.close()}var i=$("repost_facebook"),s=$("repost_facebook_thumbnail"),a=$("select-fb-thumbnail"),n=$("select-fb-thumbnail-comments"),r=$("userpic_preview_image"),o=$("fbimg_select_window"),p=$("fbimg_select_window_nav"),l=a||n,c="nothumb",h="userpic";if(null!=l){var u={};u=a?{getText:function(){return window.switchedRteOn?CKEDITOR.instances.draft.getData():jQuery("#draft").val()},getUserPic:function(){return r?r.src:""}}:{getText:function(){var e=$("commenttext")||$("body");return e.value},getUserPic:function(){var e=jQuery("#userpics > [name=prop_picture_keyword]");if(0==e.length&&(e=jQuery("#prop_picture_keyword")),0==e.length)return"";var t=e.val();return t in userpicmap?userpicmap[t]:defaultpicurl||""}};var g={init:function(){this.opened=!1,this.page=1,this.totalImages=1,this.pager={prev:jQuery(p).children(".i-repost-nav-prev"),next:jQuery(p).children(".i-repost-nav-next"),counter:jQuery(p).children(".i-repost-nav-counter")},this.listWrapper=jQuery(o).children(".b-repost-pics-wrapper"),this.list=this.listWrapper.children(".b-repost-pics-items"),this.pagerSize=4,this.pagesNum=1,this.cellWidth=0,this.pager.prev.click(function(){g.changePage(-1)}),this.pager.next.click(function(){g.changePage(1)}),this.firstLi=this.list.children("span:first").click(function(){g.setPicture(c)})},setPicture:function(e){s.value=e,this.close()},updatePager:function(){p.style.display=this.totalImages<this.pagerSize?"none":"block",this.pager.prev[1==this.page?"addClass":"removeClass"]("i-repost-nav-prev-dis"),this.pager.next[this.page==this.pagesNum?"addClass":"removeClass"]("i-repost-nav-next-dis"),this.pager.counter.html(this.page+"/"+this.pagesNum)},makeListItem:function(e,t,i){var s=i?"b-repost-pics-active":"";return jQuery("<span>").addClass(s).append(jQuery("<img>").attr("src",e)).click(function(){g.setPicture(t)})},open:function(e){this.list.children("span:gt(0)").remove(),this.totalImages=e.length,this.page=1,0!=e.length&&-1!=jQuery.inArray(s.value,e)||s.value==h||s.value==c||(s.value="");var t=u.getUserPic();if(t.length>0){var i=t;this.makeListItem(i,h,h==s.value).appendTo(this.list),this.totalImages++}this.pagesNum=Math.ceil((this.totalImages+1)/this.pagerSize),this.totalImages>1&&""==s.value&&(s.value=e[0]);for(var a=1,n=0;n<e.length;++n)e[n]==s.value&&(a=Math.floor((n+1+(t.length>0?1:0))/this.pagerSize)+1),this.makeListItem(e[n],e[n],e[n]==s.value).appendTo(this.list);this.firstLi[this.totalImages<=1&&""==s.value||s.value==c?"addClass":"removeClass"]("b-repost-pics-active"),o.style.display="block",this.opened=!0,this.firstLi.each(function(){g.cellWidth=this.offsetWidth+this.offsetLeft});var r=this.pagerSize>this.totalImages?this.cellWidth*(this.totalImages+1)+"px":"";this.listWrapper.css("width",r),this.changePage(a-1)},changePage:function(e){this.page+=e,this.page=this.page<1?1:this.page>this.pagesNum?this.pagesNum:this.page;var t=-this.cellWidth*(this.page-1)*this.pagerSize;this.list.css("left",t+"px"),this.updatePager()},close:function(){o.style.display="none",this.opened=!1}};g.init(),o.onmousedown=function(e){e=e||window.event,e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},l.onmousedown=function(e){e=e||window.event,g.opened&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},l.onclick=function(s){s=s||window.event;var a=[];null!==i.getAttribute("disabled")&&i.getAttribute("disabled")!==!1||(g.opened?t():(a.length=0,e(a,u.getText()),g.open(a),setTimeout(function(){DOM.addEventListener(document,"mousedown",t,!1)},0))),s.preventDefault?s.preventDefault():s.returnValue=!1}}});
/* <<< file end: js/fb-select-image.js */
//# map link was there [fb-select-image.js.map]
/* >>> file start: js/misc/tempImageChecker.js */
//= require_ml message.warnings.temporary_url_insertion
LJ.define("LJ.Misc"),LJ.Misc.checkForTempImageURLs=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.event,t=e.string,a="";if(t)a=t;else if(n)try{var r=n.originalEvent||n;a=r.clipboardData.getData("text/plain")}catch(i){console.log("Could not parse text content from pasted text")}var s=a.match(/https?:\/\/[^\s'"\r\n]+/g)||[],o=s.filter(function(e){return e.indexOf("imgprx.livejournal.net/")>0?!0:e.indexOf("downloader.disk.yandex.ru/")>0?!0:e.indexOf("fna.fbcdn.net/")>0});return o.length&&LJ.Messages&&LJ.Messages.add({body:LJ.ml("message.warnings.temporary_url_insertion"),type:"warning"}),o};
/* <<< file end: js/misc/tempImageChecker.js */
//# map link was there [tempImageChecker.js.map]
/* >>> file start: js/common/comments.js */
//= require js/misc/tempImageChecker.js
//= require_ml blocked.content.comment.warning
!function(){function e(e){var t=-1!==e[0].type.indexOf("image"),n=e[0].size/1e6>=LJ.GlobalConfig.photoUploadMaxSize,o=document.querySelector(".js-commentform-preloader");if(e||t||!n)return new Promise(function(t,n){o.classList.remove("svgpreloader-wrapper--hidden");var a=new FormData;a.append("name",e[0].name),a.append("form_auth",LJ.get("guid")),a.append("file",e[0]),fetch(location.protocol+"//"+location.host+"/up",{method:"post",body:a}).then(function(e){return e.json()}).then(function(e){"error"===e.status&&n(e),o.classList.add("svgpreloader-wrapper--hidden"),t(e)})})}function t(t){var n=t.clipboardData||t.nativeEvent.clipboardData;if(n.files.length){var o=n.files;e(o).then(function(e){var n=angular.element(t.target),o='<img src="'+e.url+'" alt="image" />';n.surroundSelectedText?n.surroundSelectedText(o,""):n[0].setRangeText&&n[0].setRangeText(o)})["catch"](function(e){LJ.Messages.add({type:"error",body:e.message})})}}function n(){var e=document.querySelector(".b-loginform form").getAttribute("action"),t=window.location.href;document.querySelector(".b-loginform form").setAttribute("action",e+"&returnto="+t+"#statShare"),setTimeout(LJ.Util.Action.login)}var o=void 0;LJ.Event.on("commentField::init",function(e){var o=e.node;o&&o.addEventListener("paste",function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],o=e.clipboardData||e.nativeEvent.clipboardData;if(o.files.length){if(!LJ.get("remote"))return LJ.Messages.onLinkClick(function(e){"showLoginPopup"===e.target.dataset.action&&(e.preventDefault(),n())}),LJ.Messages.add({type:"warning",body:"<div>"+LJ.ml("blocked.content.comment.warning",{aopts:' href="" data-action="showLoginPopup"'})+"</div>"}),void e.preventDefault();t(e);var a=LJ.Object.resolve(LJ,"Misc.checkForTempImageURLs")||function(){};a({event:e})}})}),LJ.Event.on("comment::submit::success",function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.postURL;o=LJ.Object.resolve(LJ,"Misc.NewCommentsCounter"),t&&o&&o.getCount({postURL:t}).then(function(e){o.setCounter({postURL:t,count:e+1})})["catch"](function(){})})}();
/* <<< file end: js/common/comments.js */
//# map link was there [comments.js.map]
/* >>> file start: js/quickreply.js */
//= require js/common/comments.js
QuickReply={lastDiv:"qrdiv",reply:function(e,r,t){var a="ljqrt"+e,i="ljcmt"+e,l=$("parenttalkid"),u=$("replyto"),o=$("dtid"),d=$("qrdiv"),n=$(a),c=$("qrformdiv"),v=$("qrform"),s=$("subject");if(!(l&&u&&o&&d&&n&&v&&c&&s))return!0;l.value=r,o.value=e,u.value=r,"qrdiv"==QuickReply.lastDiv?d.style.display="block":QuickReply.lastDiv!=e;var p=$("comments"),i=$(i);return p&&-1!==p.className.indexOf("entry-comments-s1")&&i?i.appendChild(d):(n.parentNode.insertBefore(d,n),QuickReply._scrollForm()),QuickReply.lastDiv=a,s.value&&s.value!=s.defaultValue&&"Re: "!=s.value.substr(0,4)||(s.value=t,s.defaultValue=t),c.className=n.className||"",!1},more:function(){var e=$("qrform_hidden"),r=$("basepath"),t=$("dtid"),a=$("parenttalkid");return e&&r&&t&&a?(t.value>0&&a.value>0?e.action=r.value+"replyto="+t.value+"#add_comment":e.action=r.value+"mode=reply#add_comment",e.submit(),!1):!1},submit:function e(){var r=$("submitmoreopts"),e=$("submitpost");if(!r||!e)return!1;e.disabled=!0,r.disabled=!0;var t=$("dtid");Number(t.value)||(t.value=0);var a=$("qrform_hidden");return a.action=Site.siteroot+"/talkpost_do.bml",a.submit(),!1},check:function(){var e=$("qrform_hidden");if(!e)return!0;var r=e.body.value.length;return r>4300?(alert("Sorry, but your comment of "+r+" characters exceeds the maximum character length of 4300. Please try shortening it and then post again."),!1):!0},save:function(){var e=$("qrform_hidden");if(!e)return!1;var r=$("do_spellcheck"),t=$("prop_picture_keyword");return $("saved_body").value=e.body.value,$("saved_subject").value=$("subject").value,$("saved_dtid").value=$("dtid").value,$("saved_ptid").value=$("parenttalkid").value,r&&($("saved_spell").value=r.checked),t&&($("saved_upic").value=t.selectedIndex),!1},restore:function(){setTimeout(function(){var e=$("saved_body"),r=$("saved_dtid"),t=$("saved_subject"),a="",i=$("qrform_hidden");if(e&&""!=e.value&&i&&r){t&&(a=t.value),QuickReply.reply(r.value,parseInt($("saved_ptid").value,10),a),i.body.value=e.value;var l=$("prop_picture_keyword");l&&(l.selectedIndex=$("saved_upic").value)}},100)},cloneForm:function(e){var r=jQuery("#qrform"),t=r.find("input"),a=r.find("textarea, select"),i=jQuery("#qrform_hidden");(i.length?i.empty():jQuery('<form id="qrform_hidden" name="qrform" method="POST">')).hide().append(t.clone()).append(a.clone().each(function(e,r){jQuery(r).val(a.eq(e).val())})).appendTo("body"),QuickReply[e]()&&QuickReply.submit()},userpicSelect:function(){var e=new UserpicSelect;e.init(),e.setPicSelectedCallback(function(e,r){var t=$("prop_picture_keyword");if(t){var a=t.options;r.forEach(function(e){for(var r=0;r<a.length;r++){var i=a[r];if(i.value==e)return void(t.selectedIndex=r)}})}}),e.show()},_scrollForm:function(){var e=jQuery("html, body"),r=jQuery(window).scrollTop(),t=r+jQuery(window).height(),a=jQuery("#qrform"),i=a.offset().top,l=i+a.height();(i>r||t>i||l>r||t>l)&&(e.animate({scrollTop:i},"300"),a.find("textarea").focus())}},jQuery(QuickReply.restore),DOM.addEventListener(window,"unload",QuickReply.save),function(){var e=LJ.Util.getDocument(),r=e.querySelector("textarea#body");r&&LJ.Event.trigger("commentField::init",{node:r})}();
/* <<< file end: js/quickreply.js */
//# map link was there [quickreply.js.map]
/* >>> file start: js/md5.js */
function array(t){for(i=0;i<t;i++)this[i]=0;this.length=t}function integer(t){return t%4294967296}function shr(t,e){return t=integer(t),e=integer(e),t-2147483648>=0?(t%=2147483648,t>>=e,t+=1073741824>>e-1):t>>=e,t}function shl1(t){return t%=2147483648,t&!0?(t-=1073741824,t*=2,t+=2147483648):t*=2,t}function shl(t,e){t=integer(t),e=integer(e);for(var n=0;e>n;n++)t=shl1(t);return t}function and(t,e){t=integer(t),e=integer(e);var n=t-2147483648,r=e-2147483648;return n>=0?r>=0?(n&r)+2147483648:n&e:r>=0?t&r:t&e}function or(t,e){t=integer(t),e=integer(e);var n=t-2147483648,r=e-2147483648;return n>=0?r>=0?(n|r)+2147483648:(n|e)+2147483648:r>=0?(t|r)+2147483648:t|e}function xor(t,e){t=integer(t),e=integer(e);var n=t-2147483648,r=e-2147483648;return n>=0?r>=0?n^r:(n^e)+2147483648:r>=0?(t^r)+2147483648:t^e}function not(t){return t=integer(t),4294967295-t}function F(t,e,n){return or(and(t,e),and(not(t),n))}function G(t,e,n){return or(and(t,n),and(e,not(n)))}function H(t,e,n){return xor(xor(t,e),n)}function I(t,e,n){return xor(e,or(t,not(n)))}function rotateLeft(t,e){return or(shl(t,e),shr(t,32-e))}function FF(t,e,n,r,i,o,a){return t=t+F(e,n,r)+i+a,t=rotateLeft(t,o),t+=e}function GG(t,e,n,r,i,o,a){return t=t+G(e,n,r)+i+a,t=rotateLeft(t,o),t+=e}function HH(t,e,n,r,i,o,a){return t=t+H(e,n,r)+i+a,t=rotateLeft(t,o),t+=e}function II(t,e,n,r,i,o,a){return t=t+I(e,n,r)+i+a,t=rotateLeft(t,o),t+=e}function transform(t,e){var n=0,r=0,o=0,a=0,u=transformBuffer;for(n=state[0],r=state[1],o=state[2],a=state[3],i=0;i<16;i++)for(u[i]=and(t[4*i+e],255),j=1;j<4;j++)u[i]+=shl(and(t[4*i+j+e],255),8*j);n=FF(n,r,o,a,u[0],S11,3614090360),a=FF(a,n,r,o,u[1],S12,3905402710),o=FF(o,a,n,r,u[2],S13,606105819),r=FF(r,o,a,n,u[3],S14,3250441966),n=FF(n,r,o,a,u[4],S11,4118548399),a=FF(a,n,r,o,u[5],S12,1200080426),o=FF(o,a,n,r,u[6],S13,2821735955),r=FF(r,o,a,n,u[7],S14,4249261313),n=FF(n,r,o,a,u[8],S11,1770035416),a=FF(a,n,r,o,u[9],S12,2336552879),o=FF(o,a,n,r,u[10],S13,4294925233),r=FF(r,o,a,n,u[11],S14,2304563134),n=FF(n,r,o,a,u[12],S11,1804603682),a=FF(a,n,r,o,u[13],S12,4254626195),o=FF(o,a,n,r,u[14],S13,2792965006),r=FF(r,o,a,n,u[15],S14,1236535329),n=GG(n,r,o,a,u[1],S21,4129170786),a=GG(a,n,r,o,u[6],S22,3225465664),o=GG(o,a,n,r,u[11],S23,643717713),r=GG(r,o,a,n,u[0],S24,3921069994),n=GG(n,r,o,a,u[5],S21,3593408605),a=GG(a,n,r,o,u[10],S22,38016083),o=GG(o,a,n,r,u[15],S23,3634488961),r=GG(r,o,a,n,u[4],S24,3889429448),n=GG(n,r,o,a,u[9],S21,568446438),a=GG(a,n,r,o,u[14],S22,3275163606),o=GG(o,a,n,r,u[3],S23,4107603335),r=GG(r,o,a,n,u[8],S24,1163531501),n=GG(n,r,o,a,u[13],S21,2850285829),a=GG(a,n,r,o,u[2],S22,4243563512),o=GG(o,a,n,r,u[7],S23,1735328473),r=GG(r,o,a,n,u[12],S24,2368359562),n=HH(n,r,o,a,u[5],S31,4294588738),a=HH(a,n,r,o,u[8],S32,2272392833),o=HH(o,a,n,r,u[11],S33,1839030562),r=HH(r,o,a,n,u[14],S34,4259657740),n=HH(n,r,o,a,u[1],S31,2763975236),a=HH(a,n,r,o,u[4],S32,1272893353),o=HH(o,a,n,r,u[7],S33,4139469664),r=HH(r,o,a,n,u[10],S34,3200236656),n=HH(n,r,o,a,u[13],S31,681279174),a=HH(a,n,r,o,u[0],S32,3936430074),o=HH(o,a,n,r,u[3],S33,3572445317),r=HH(r,o,a,n,u[6],S34,76029189),n=HH(n,r,o,a,u[9],S31,3654602809),a=HH(a,n,r,o,u[12],S32,3873151461),o=HH(o,a,n,r,u[15],S33,530742520),r=HH(r,o,a,n,u[2],S34,3299628645),n=II(n,r,o,a,u[0],S41,4096336452),a=II(a,n,r,o,u[7],S42,1126891415),o=II(o,a,n,r,u[14],S43,2878612391),r=II(r,o,a,n,u[5],S44,4237533241),n=II(n,r,o,a,u[12],S41,1700485571),a=II(a,n,r,o,u[3],S42,2399980690),o=II(o,a,n,r,u[10],S43,4293915773),r=II(r,o,a,n,u[1],S44,2240044497),n=II(n,r,o,a,u[8],S41,1873313359),a=II(a,n,r,o,u[15],S42,4264355552),o=II(o,a,n,r,u[6],S43,2734768916),r=II(r,o,a,n,u[13],S44,1309151649),n=II(n,r,o,a,u[4],S41,4149444226),a=II(a,n,r,o,u[11],S42,3174756917),o=II(o,a,n,r,u[2],S43,718787259),r=II(r,o,a,n,u[9],S44,3951481745),state[0]+=n,state[1]+=r,state[2]+=o,state[3]+=a}function init(){for(count[0]=count[1]=0,state[0]=1732584193,state[1]=4023233417,state[2]=2562383102,state[3]=271733878,i=0;i<digestBits.length;i++)digestBits[i]=0}function update(t){var e;e=and(shr(count[0],3),63),count[0]<4294967288?count[0]+=8:(count[1]++,count[0]-=4294967296,count[0]+=8),buffer[e]=and(t,255),e>=63&&transform(buffer,0)}function finish(){var t,e=new array(8),n=0,r=0,i=0;for(n=0;4>n;n++)e[n]=and(shr(count[0],8*n),255);for(n=0;4>n;n++)e[n+4]=and(shr(count[1],8*n),255);for(r=and(shr(count[0],3),63),i=56>r?56-r:120-r,t=new array(64),t[0]=128,n=0;i>n;n++)update(t[n]);for(n=0;8>n;n++)update(e[n]);for(n=0;4>n;n++)for(j=0;j<4;j++)digestBits[4*n+j]=and(shr(state[n],8*j),255)}function hexa(t){var e="0123456789abcdef",n="",r=t;for(hexa_i=0;hexa_i<8;hexa_i++)n=e.charAt(Math.abs(r)%16)+n,r=Math.floor(r/16);return n}function MD5(t){var e,n,r,o,a,u,S;for(init(),r=0;r<t.length;r++)e=t.charAt(r),update(ascii.lastIndexOf(e));for(finish(),o=a=u=S=0,i=0;i<4;i++)o+=shl(digestBits[15-i],8*i);for(i=4;i<8;i++)a+=shl(digestBits[15-i],8*(i-4));for(i=8;i<12;i++)u+=shl(digestBits[15-i],8*(i-8));for(i=12;i<16;i++)S+=shl(digestBits[15-i],8*(i-12));return n=hexa(S)+hexa(u)+hexa(a)+hexa(o)}function teste(){testOk||(document.test.o1.value=MD5(document.test.i1.value),document.test.o2.value=MD5(document.test.i2.value),document.test.o3.value=MD5(document.test.i3.value),document.test.o4.value=MD5(document.test.i4.value),document.test.o5.value=MD5(document.test.i5.value),document.test.o6.value=MD5(document.test.i6.value),document.test.o7.value=MD5(document.test.i7.value),testOk=!0)}var state=new array(4),count=new array(2);count[0]=0,count[1]=0;var buffer=new array(64),transformBuffer=new array(16),digestBits=new array(16),S11=7,S12=12,S13=17,S14=22,S21=5,S22=9,S23=14,S24=20,S31=4,S32=11,S33=16,S34=23,S41=6,S42=10,S43=15,S44=21,ascii="01234567890123456789012345678901 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",testOk=!1;
/* <<< file end: js/md5.js */
//# map link was there [md5.js.map]
/* >>> file start: js/thread_expander.js */
Expander=function(){this.__caller__,this.url,this.id,this.stored_caller,this.iframe,this.is_S1},Expander.Collection={},Expander.make=function(t,e,n,i){var r=(new Expander).set({__caller__:t,url:e.replace(/#.*$/,""),id:n,is_S1:!!i});r.get()},Expander.prototype.set=function(t){for(var e in t)this[e]=t[e];return this},Expander.prototype.getCanvas=function(t,e){return e.document.getElementById("ljcmt"+t)},Expander.prototype.parseLJ_cmtinfo=function(t,e){var n,i,r={},a=t.LJ_cmtinfo;if(!a)return!1;for(i in a)/^\d*$/.test(i)&&(n=this.getCanvas(i,t))&&(r[i]={info:a[i],canvas:n},"function"==typeof e&&e(i,r[i]));return r},Expander.prototype.loadingStateOn=function(){this.stored_caller=this.__caller__.cloneNode(!0),this.__caller__.setAttribute("already_clicked","already_clicked"),this.__caller__.onclick=function(){return!1},this.__caller__.style.color="#ccc"},Expander.prototype.loadingStateOff=function(){this.__caller__&&(this.__caller__.removeAttribute("already_clicked","already_clicked"),this.__caller__.parentNode&&this.__caller__.parentNode.replaceChild(this.stored_caller,this.__caller__));var t=this;window.setTimeout(function(){t.killFrame()},100)},Expander.prototype.killFrame=function(){document.body.removeChild(this.iframe)},Expander.prototype.isFullComment=function(t){return!!Number(t.info.full)},Expander.prototype.killDuplicate=function(t){var e,n,i,r;for(var a in t)/^\d*$/.test(a)&&(r=t[a].canvas,n=r.id,e=n.replace(/_$/,""),i=document.getElementById(e),null!=i?r.parentNode.removeChild(r):(r.id=e,window.ContextualPopup&&ContextualPopup.searchAndAdd(r),window.setupAjax&&setupAjax(r),window.ESN&&ESN.initTrackBtns(r)))},Expander.prototype.getS1width=function(t){var e,n;n=t.getElementsByTagName("img");for(var i=0;i<n.length;i++)if(e=n[i],/dot\.gif$/.test(e.src)){if(e.width)return Number(e.width);break}return!1},Expander.prototype.setS1width=function(t,e){var n,i;i=t.getElementsByTagName("img");for(var r=0;r<i.length;r++)if(n=i[r],/dot\.gif$/.test(n.src)){n.setAttribute("width",e);break}},Expander.prototype.onLoadHandler=function(t){var e=t.contentDocument||t.contentWindow;e=e.document||e;var n=this,i=e.defaultView||e.parentWindow,r={},a=this.parseLJ_cmtinfo(window);this.parseLJ_cmtinfo(i,function(t,e){if(t in a&&(a[t].canvas.id=a[t].canvas.id+"_",r[t]=a[t],!n.isFullComment(a[t])&&n.isFullComment(e)||t===n.id)){var i;n.is_S1&&(i=n.getS1width(a[t].canvas)),a[t].canvas.innerHTML=e.canvas.innerHTML,n.is_S1&&i!==!1&&n.setS1width(a[t].canvas,i),LJ_cmtinfo[t].full=1,LJ_cmtinfo[t].expanded=1}});return this.killDuplicate(r),this.loadingStateOff(),!0},Expander.prototype.toString=function(){return"__"+this.id+"__"},Expander.prototype.get=function(){if(this.__caller__.getAttribute("already_clicked"))return!1;this.loadingStateOn();var t;return t=document.createElement("iframe"),t.onload=function(e){return function(){e.onLoadHandler(t)}}(this),t.style.height="1px",t.style.width="1px",t.style.display="none",t.src=this.url,t.id=this.id,document.body.appendChild(t),this.iframe=t,!0};
/* <<< file end: js/thread_expander.js */
//# map link was there [thread_expander.js.map]
/* >>> file start: js/thread_expander.ex.js */
ExpanderEx=function(){this.__caller__,this.url,this.id,this.stored_caller,this.is_S1},ExpanderEx.Collection={},ExpanderEx.ReqCache={},ExpanderEx.make=function(e,t,n,r,a){var o=(new ExpanderEx).set({__caller__:t,url:n.replace(/#.*$/,""),id:r,is_S1:!!a});o.get(),jQuery.event.fix(e).preventDefault()},ExpanderEx.collapse=function(e,t,n,r,a){var o=(new ExpanderEx).set({__caller__:t,url:n.replace(/#.*$/,""),id:r,is_S1:!!a});o.collapseThread(),jQuery.event.fix(e).preventDefault()},ExpanderEx.prototype.set=function(e){for(var t in e)this[t]=e[t];return this},ExpanderEx.prototype.getCanvas=function(e,t){return t.document.getElementById("ljcmt"+e)},ExpanderEx.prototype.parseLJ_cmtinfo=function(e,t){var n,r,a={},o=e.LJ_cmtinfo;if(!o)return!1;for(r in o)/^\d*$/.test(r)&&(n=this.getCanvas(r,e))&&(a[r]={info:o[r],canvas:n},"function"==typeof t&&t(r,a[r]));return a},ExpanderEx.preloadImg=function(){(new Image).src=Site.imgprefix+"/preloader-s.gif?v=9673"},ExpanderEx.prototype.addPreloader=function(){this.loader=new Image,this.loader.src=Site.imgprefix+"/preloader-s.gif?v=9673",this.loader.className="i-exp-preloader",this.__caller__.parentNode.appendChild(this.loader)},ExpanderEx.prototype.removePreloader=function(){this.loader&&(this.loader.parentNode&&this.loader.parentNode.removeChild(this.loader),delete this.loader)},ExpanderEx.prototype.loadingStateOn=function(){this.addPreloader(),this.stored_caller=this.__caller__.cloneNode(!0),this.__caller__.setAttribute("already_clicked","already_clicked"),this.__caller__.onclick=function(){return!1},this.__caller__.style.color="#ccc"},ExpanderEx.prototype.loadingStateOff=function(){this.__caller__&&(this.__caller__.removeAttribute("already_clicked","already_clicked"),this.__caller__.parentNode&&this.__caller__.parentNode.replaceChild(this.stored_caller,this.__caller__),this.removePreloader())},ExpanderEx.prototype.killFrame=function(){document.body.removeChild(this.iframe)},ExpanderEx.prototype.isFullComment=function(e){return!!Number(e.info.full)},ExpanderEx.prototype.expandThread=function(e){function t(t){for(var n,r=t+1;r<e.length;++r){if(n=e[r].state,"expanded"===n)return!1;if("collapsed"===n)return!0}return!1}this.loadingStateOff();for(var n,r,a=0;a<e.length;++a)if("deleted"===e[a].state&&(LJ_cmtinfo[e[a].thread].is_deleted=!0),e[a].thread in LJ_cmtinfo&&(!e[a].state||"expanded"===e[a].state)){n=e[a].thread,r=ExpanderEx.prepareCommentBlock(jQuery(e[a].html),n,t(a));var o=LiveJournal.CommentManager.updateCell(n,r);n in ExpanderEx.Collection||(ExpanderEx.Collection[n]=o)}for(var a=0;a<e.length;++a)n=e[a].thread,LJ_cmtinfo[n].parent=this.id,e[a].state&&"expanded"===e[a].state&&this.initCommentBlock(jQuery("#ljcmt"+n)[0],n);return!0},ExpanderEx.prototype.collapseThread=function(e){var t=e||this.id;this.collapseBlock(t);for(var n=LJ_cmtinfo[t].rc,r=0;r<n.length;++r)this.collapseThread(n[r])},ExpanderEx.prototype.collapseBlock=function(e){e in ExpanderEx.Collection&&(LiveJournal.CommentManager.updateCell(e,ExpanderEx.Collection[e]),this.initCommentBlock(LiveJournal.CommentManager.getCell(e)[0],e,!0),delete ExpanderEx.Collection[e])},ExpanderEx.prototype.initCommentBlock=function(e,t,n){n?(LJ_cmtinfo[t].full=LJ_cmtinfo[t].oldvars.full,LJ_cmtinfo[t].expanded=LJ_cmtinfo[t].oldvars.expanded,delete LJ_cmtinfo[t].oldvars):(LJ_cmtinfo[t].oldvars={full:LJ_cmtinfo[t].full||0,expanded:LJ_cmtinfo[t].expanded||0},LJ_cmtinfo[t].full=1,LJ_cmtinfo[t].expanded=1),window.ContextualPopup&&ContextualPopup.searchAndAdd(e),window.ESN&&ESN.initTrackBtns(e),LJ.Event.trigger("afterCommentExpand",{node:e,id:t})},ExpanderEx.prototype.toString=function(){return"__"+this.id+"__"},ExpanderEx.prototype.get=function(){if(this.__caller__.getAttribute("already_clicked"))return!1;this.loadingStateOn();var e=this;return setTimeout(function(){LiveJournal.CommentManager.getThreadJSON(e.id,function(t){e.expandThread(t),ExpanderEx.ReqCache[e.id]=t},!1,!1,!0)},0),!0},ExpanderEx.prepareCommentBlock=function(e,t,n){return this.showExpandLink(t,e,n),e},ExpanderEx.showExpandLink=function(e,t,n){var r,a,o="#expand_"+e,i="#collapse_"+e;LJ_cmtinfo[e].has_link>0?(n?(r=i,a=o):(r=o,a=i),t.find(a).css("display","")):r=i+","+o,t.find(r).css("display","none")},ExpanderEx.preloadImg();
/* <<< file end: js/thread_expander.ex.js */
//# map link was there [thread_expander.ex.js.map]
/* >>> file start: js/commentmanage.js */
//!= require js/livejournal.js
function setStyle(e,t,n){if(document.getElementById){var o=document.getElementById(e);o&&o.style&&(o.style[t]=n)}}function setInner(e,t){if(document.getElementById){var n=document.getElementById(e);n&&(n.innerHTML=t)}}function hideElement(e){if(document.getElementById){var t=document.getElementById(e);t&&(t.style.display="none")}}function setAttr(e,t,n){if(document.getElementById){var o=document.getElementById(e);o&&o.setAttribute(t,n)}}function multiformSubmit(e,t){var n=e.mode.value;if(!n)return alert(t.no_action),!1;if("all:"!==n.substring(0,4)){for(var o=-1,r=!1;e[++o];)if("selected_"===e[o].name.substring(0,9)&&e[o].checked){r=!0;break}return r?"delete"===n||"deletespam"===n?confirm(t.conf_delete):void 0:(alert(t.no_comments),!1)}}function getLocalizedStr(e,t){return LJ.ml(e,t)}function hsv_to_rgb(e,t,n){if(0===t)return n*=255,[n,n,n];e*=6;var o=Math.floor(e),r=e-o,i=n*(1-t),a=n*(1-t*r),l=n*(1-t*(1-r));return n=Math.floor(255*n+.5),l=Math.floor(255*l+.5),i=Math.floor(255*i+.5),a=Math.floor(255*a+.5),0===o?[n,l,i]:1===o?[a,n,i]:2===o?[i,n,l]:3===o?[i,a,n]:4===o?[l,i,n]:[n,i,a]}function deleteComment(e,t){t=t||"delete";var n,o,r,i,a=""!==Site.currentJournal?Site.currentJournal:window.LJ_cmtinfo.journal,l=$("ljdelopts"+e),d=$("ljcmt"+e),m=0,c=LiveJournal.getAjaxUrl("delcomment")+"?mode=js&journal="+a+"&id="+e,u="confirm=1";l&&"delete"===t?(l.ban&&l.ban.checked&&(u+="&ban=1"),l.spam&&l.spam.checked&&(u+="&spam=1"),l.delthread&&l.delthread.checked&&(u+="&delthread=1",n=!0),l.delauthor&&l.delauthor.checked&&(u+="&delauthor=1",o=!0),l.deleverywhere&&l.deleverywhere.checked&&(u+="&deleverywhere=1")):"markAsSpam"===t&&(o=n=!0,u+="&ban=1&spam=1&delauthor=1"),u+="&lj_form_auth="+decodeURIComponent(window.LJ_cmtinfo.form_auth);var s={url:c,data:u,method:"POST",onData:function(e){r=!!e,i=!r},onError:function(t){t.indexOf("alert")<0&&alert("Error deleting "+e),i=!0}};HTTPReq.getJSON(s);var p=function f(){var t=hsv_to_rgb(0,Math.cos((m+1)/2),1);m+=3.14159/5;var a="rgb("+t[0]+","+t[1]+","+t[2]+")";if(d.style.border="2px solid "+a,i)d.style.border="";else if(r){if(removeComment(e,n),o&&""!==window.LJ_cmtinfo[e].u)for(var l in window.LJ_cmtinfo)window.LJ_cmtinfo[l].u!==window.LJ_cmtinfo[e].u||window.LJ_cmtinfo[l].is_deleted||removeComment(l,!1)}else window.setTimeout(f,50)};window.setTimeout(p,5)}function removeComment(e,t){if("iframe"!==LiveJournal.CommentManager.getState()){var n=e;LiveJournal.CommentManager.getThreadJSON(n,function(e){LiveJournal.CommentManager.processThreadJSON(e,function(e,t,o){window.LJ_cmtinfo[n].u===window.LJ_cmtinfo[e].u&&(t=ExpanderEx.prepareCommentBlock(t,e),LiveJournal.CommentManager.updateCell(e,t),o.is_deleted&&e in ExpanderEx.Collection&&delete ExpanderEx.Collection[e])})},!0)}else{var o=document.getElementById("ljcmt"+e);if(o){o.style.display="none";var r=window.userhook_delete_comment_ARG;r&&r(e)}}if(t)for(var i=window.LJ_cmtinfo[e],a=0;a<i.rc.length;a++)removeComment(i.rc[a],!0)}function createDeleteFunction(e,t,n){return n=n||"delete",function(o){o=jQuery.event.fix(o||window.event),o.stopPropagation(),o.preventDefault();var r=0;if(o.shiftKey)return r=1,deleteComment(t,n),!0;if(!window.LJ_cmtinfo)return!0;var i=window.LJ_cmtinfo[t],a=window.LJ_cmtinfo[t].u,l=window.LJ_cmtinfo.remote;if(!i||!l)return!0;var d=window.LJ_cmtinfo.canAdmin,m=1===Site.remote_is_maintainer&&""!==i.u?"comment.mark.spam.":"comment.mark.spam2.";if("markAsSpam"===n)return window.ctrlPopup||(window.ctrlPopup=jQuery('<div class="b-popup-ctrlcomm" />').delegate("input.spam-comment-button","click",function(){window.ctrlPopup.bubble("hide")})),window.ctrlPopup.html('<div class="b-popup-group"><div class="b-popup-row b-popup-row-head"><strong>'+getLocalizedStr(m+"title",{username:a})+'</strong></div><div class="b-popup-row">'+getLocalizedStr(m+"subject",{username:a})+'</div><div class="b-popup-row"><input type="button" class="spam-comment-button" onclick="deleteComment('+t+", '"+n+'\');" value="'+getLocalizedStr(m+"button",{username:a})+'"></div><div>',e,o,"spamComment"+t).bubble().bubble("show",e),!0;if("delete"===n){var c,u=['<form id="ljdelopts'+t+'"><div class="b-popup-group"><div class="b-popup-row b-popup-row-head"><strong>'+getLocalizedStr("comment.delete.q",{username:a})+"</strong></div>"];""!==i.username&&i.username!==l&&d&&(c="ljpopdel"+t+"ban",u.push('<div class="b-popup-row"><input type="checkbox" name="ban" id="'+c+'"> <label for="'+c+'">'+getLocalizedStr("comment.ban.user",{username:a})+"</label></div>")),i.rc&&i.rc.length&&d&&(c="ljpopdel"+t+"thread",u.push('<div class="b-popup-row"><input type="checkbox" name="delthread" id="'+c+'"> <label for="'+c+'">'+getLocalizedStr("comment.delete.all.sub",{username:a})+"</label></div>")),i.username===l&&(c="ljpopdel"+t+"author",u.push('<div class="b-popup-row"><input type="checkbox" name="delauthor" id="'+c+'"> <label for="'+c+'">'+getLocalizedStr("comment.delete.all.my")+"</label></div>")),""!==i.username&&i.username!==l&&d&&(c="ljpopdel"+t+"author",u.push('<div class="b-popup-row"><input type="checkbox" name="delauthor" id="'+c+'"> <label for="'+c+'">'+getLocalizedStr("comment.delete.all.author",{author:a})+"</label></div>"),c="ljpopdel"+t+"everywhere",LJ.Flags.isEnabled("superban_step2")&&u.push('<div class="b-popup-row"><input type="checkbox" name="deleverywhere" id="'+c+'"> <label for="'+c+'"> '+getLocalizedStr("comment.delete.all.everywhere",{author:a})+"</label></div>")),u.push('<div class="b-popup-row"><input class="delete-comment-button" type="button" value="'+getLocalizedStr("comment.delete",{username:a})+'" onclick="deleteComment('+t+');" /></div></div><div class="b-bubble b-bubble-alert b-bubble-noarrow"><i class="i-bubble-arrow-border"></i><i class="i-bubble-arrow"></i>'+getLocalizedStr("comment.delete.no.options",{username:a})+"</div></form>"),window.delPopup||(window.delPopup=jQuery('<div class="b-popup-delcomm" />').delegate("input.delete-comment-button","click",function(){window.delPopup.bubble("hide")}));var s,p,f=function(e){return e.length>0&&e.attr("checked")};window.delPopup.bind("bubbleshow",function(){s=jQuery("#ljpopdel"+t+"author"),p=jQuery("#ljpopdel"+t+"everywhere")}).delegate("input[type=checkbox]","click",function(){this===p[0]&&f(p)&&s.attr("checked",!0),this!==s[0]||f(s)||p.attr("checked",!1)}),window.delPopup.html(u.join(" ")).bubble().bubble("show",e)}else"unspam"===n&&deleteComment(t,n)}}function poofAt(e){var t=document.createElement("div");t.style.position="absolute",t.style.background="#FFF",t.style.overflow="hidden";var n=1,o=e.y,r=e.x,i=5,a=5;document.body.appendChild(t);var l=function d(){n-=.15,i+=10,a+=10,o-=5,r-=5,.1>=n?t.parentNode.removeChild(t):(t.style.left=r+"px",t.style.top=o+"px",t.style.height=a+"px",t.style.width=i+"px",t.style.filter="alpha(opacity="+Math.floor(100*n)+")",t.style.opacity=n,window.setTimeout(d,20))};l()}function updateLink(e,t,n){e.href=t.newurl;var o=window["userhook_"+t.mode+"_comment_ARG"],r=0;n&&n.src&&n.src===t.oldimage&&(n.src=t.newimage,r=1),o&&(o(t.id),r=1),r||(e&&e.style&&(e.style.display="none"),n&&n.style&&(n.style.dispay="none"))}function createModerationFunction(control,dItemid,action){action=action||"screen";var comUser=window.LJ_cmtinfo[dItemid].u;return function(e){function sendModerateRequest(){var t="unspam"===action?"spamcomment":"talkscreen",n=control.href.replace(new RegExp(".+"+t+".bml"),LiveJournal.getAjaxUrl(t)),o={confirm:"Y",lj_form_auth:decodeURIComponent(window.LJ_cmtinfo.form_auth)};"unspam"===action&&(n+="&jsmode=1"),hourglass=jQuery(e).hourglass()[0],jQuery.post(n,o,function(e){if(tsInProg[dItemid]=0,"unspam"===action){if(e=jQuery.parseJSON(e),e.result)return removeEmptyMarkup(dItemid),hourglass.hide(),!0;alert(e.errormsg)}if("iframe"!==LiveJournal.CommentManager.getState())handleNew();else{var t=checkRcForNoCommentsPage(e);handleIframe(t)}})}function handleNew(){var e,t,n,o=dItemid,r=!(!window.LJ_cmtinfo[o].oldvars||!window.LJ_cmtinfo[o].full),i=function(o){LiveJournal.CommentManager.processThreadJSON(o,function(o,r){if(window.LJ_cmtinfo[o].full){if(e=!("oldvars"in window.LJ_cmtinfo[o]),!e)for(n=window.LJ_cmtinfo[o].rc,t=0;t<n.length;++t)window.LJ_cmtinfo[n[t]].full||window.LJ_cmtinfo[n[t]].is_deleted||(e=!0);r||removeEmptyMarkup(o);var i=ExpanderEx.prepareCommentBlock(r,o,e);LiveJournal.CommentManager.updateCell(o,i)}}),hourglass.hide(),poofAt(pos)};LiveJournal.CommentManager.getThreadJSON(o,function(e){r&&window.LJ_cmtinfo[o].oldvars.full?LiveJournal.CommentManager.getThreadJSON(o,function(t){ExpanderEx.Collection[o]=ExpanderEx.prepareCommentBlock(jQuery("<div>"+t[0].html+"</div>"),o,!0).html(),i(e)},!0,!0):i(e)},!1,!r)}function handleIframe(ids){jQuery.ajax({url:location.href,type:"GET",dataType:"html",complete:function complete(res,status){if("success"===status||"notmodified"===status){var nodes=jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/gi,"")).find(ids).each(function(){var id=this.id.replace(/[^0-9]/g,"");if(window.LJ_cmtinfo[id].expanded){var expand=this.innerHTML.match(/Expander\.make\(.+?\)/)[0];(function(){eval(expand)}).apply(document.createElement("a"))}else jQuery("#"+this.id).replaceWith(this)});hourglass.hide(),poofAt(pos)}}})}function checkRcForNoCommentsPage(json){function mapComms(e){for(var t,n=-1;t=window.LJ_cmtinfo[e].rc[++n];)window.LJ_cmtinfo[t].full&&(commsArray.push(t),mapComms(String(t)))}var commsArray=[dItemid],ids;if(window.LJ_cmtinfo[dItemid].rc)/mode=(un)?freeze/.test(control.href)&&mapComms(dItemid),ids="#ljcmt"+commsArray.join(",#ljcmt");else{var rpcRes;if(eval(json),updateLink(control,rpcRes,control.getElementsByTagName("img")[0]),!document.getElementById("ljcmtbar"+dItemid))return hourglass.hide(),void poofAt(pos);ids="#ljcmtbar"+dItemid}return ids}e=jQuery.event.fix(e||window.event);var pos={x:e.pageX,y:e.pageY},modeParam=LiveJournal.parseGetArgs(location.href).mode,hourglass;return e.stopPropagation(),e.preventDefault(),sendModerateRequest(),!1}}function removeEmptyMarkup(e){jQuery("#ljcmt"+e).remove()}function LJ_Mul(e,t){return parseInt(e,10)*parseInt(t,10)}function LJ_JoinURL(e){var t=[].slice.call(arguments,1).join("&");return e+=e.indexOf("?")>-1?"&":"?",e+t}function LJ_Concat(){return[].slice.call(arguments,0).join("")}window.getLocalizedStr=getLocalizedStr;var tsInProg={};!function(e,t){t.LiveJournal.CommentManager=function(){this.bindLinks()},LiveJournal.CommentManager.prototype.bindLinks=function(){e("body").delegate("a","click",function(e){var n,o,r=/id=(\d+)/,i=this;if(-1!==i.href.indexOf("talkscreen.bml")){if(n=r.exec(i.href),!n)return;if(o=n[1],!document.getElementById("ljcmt"+o))return;if(t.LJ_cmtinfo&&createModerationFunction(i,o)(e),!LJ.Flags.isEnabled("recent_comments_v5"))return}else if(-1!==i.href.indexOf("delcomment.bml")){if(t.LJ_cmtinfo&&t.LJ_cmtinfo.disableInlineDelete)return;if(n=r.exec(i.href),!n)return;if(o=n[1],!document.getElementById("ljcmt"+o))return;var a=-1!==i.href.indexOf("spam=1")?"markAsSpam":"delete";if(!LJ.Flags.isEnabled("recent_comments_v5"))return;createDeleteFunction(i,o,a)(e)}else{if(-1===i.href.indexOf("spamcomment.bml"))return;if(n=r.exec(i.href),!n)return;if(o=n[1],!document.getElementById("ljcmt"+o))return;createModerationFunction(i,o,"unspam")(e)}e.preventDefault(),e.stopPropagation()})};t.LiveJournal.CommentManager;t.LiveJournal.CommentManager.getState=function(){return t.LJ_cmtinfo.use_old_thread_expander?"iframe":"old"},LiveJournal.CommentManager.updateCell=function(t,n){var o=e("#ljcmt"+t),r=e("<div></div>").append(o.clone());return o.replaceWith(e(n).filter("#ljcmt"+t)),r.html()},LiveJournal.CommentManager.getCell=function(t){return e("#ljcmt"+t)},LiveJournal.CommentManager.getThreadJSON=function(e,n,o){var r=location.href.match(/\/(\d+).html/)[1],i=LiveJournal.parseGetArgs(location.href).mode,a={journal:Site.currentJournal,itemid:r,thread:e,depth:t.LJ_cmtinfo[e].depth};o&&(a.single="1"),i&&(a.mode=i);var l=LiveJournal.parseGetArgs(location.href);l&&l.style&&"mine"===l.style&&(a.style="mine");var d=LiveJournal.getAjaxUrl("get_thread");jQuery.get(LiveJournal.constructUrl(d,a),n,"json")},LiveJournal.CommentManager.processThreadJSON=function(n,o){for(var r,i,a=0;a<n.length;++a)n[a].thread in t.LJ_cmtinfo&&(r={},r.is_deleted="deleted"===n[a].state,r.is_deleted&&(t.LJ_cmtinfo[n[a].thread].is_deleted=!0),i=e(n[a].html).filter("#ljcmt"+n[a].thread),o(n[a].thread,i,r))},e(function(){new LiveJournal.CommentManager})}(jQuery,window);
/* <<< file end: js/commentmanage.js */
//# map link was there [commentmanage.js.map]
/* >>> file start: js/ljwidget.js */
LJWidget=new Class(Object,{updateContent:function(t){t||(t={}),this._show_frame=t.showFrame,t.method&&(method=t.method),t._widget_update=1,this.doAjaxRequest(t)&&this.hilightFrame()},getWidget:function(){return $(this.widgetId)},doPost:function(t){t||(t={}),this._show_frame=t.showFrame;var e={},i=this.widgetClass;i="Widget["+i.replace(/::/g,"_")+"]_";for(var a in t){var r=a;a.match(/^Widget\[/)||"lj_form_auth"==a||a.match(/^_widget/)||(r=i+a),e[r]=t[a]}e._widget_post=1,this.doAjaxRequest(e)},doPostAndUpdateContent:function(t){t||(t={}),t._widget_update=1,this.doPost(t)},postForm:function(t){if(!t)return!1;for(var e={},i=0;i<t.elements.length;i++){var a=t.elements[i],r=a.name,o=a.value;e[r]=o}this.doPost(e)},init:function(t,e,i){LJWidget.superClass.init.apply(this,arguments),this.widgetId=t,this.widgetClass=e,this.authToken=i},hilightFrame:function(){if(1==this._show_frame&&!this._frame){var t=this.getWidget();if(t){var e=t.parentNode;if(e){var i=document.createElement("fieldset");i.style.borderColor="red";var a=document.createElement("legend");a.innerHTML="Updating...",i.appendChild(a),e.appendChild(i),i.appendChild(t),this._frame=i}}}},removeHilightFrame:function(){if(1==this._show_frame){var t=this.getWidget();if(t&&this._frame){var e=this._frame.parentNode;e&&(e.appendChild(t),e.removeChild(this._frame),this._frame=null)}}},method:"POST",endpoint:"widget",requestParams:{},doAjaxRequest:function(t){if(t||(t={}),this._ajax_updating)return!1;this._ajax_updating=!0,t._widget_id=this.widgetId,t._widget_class=this.widgetClass,t.auth_token=this.authToken,$("_widget_authas")&&(t.authas=$("_widget_authas").value);var e={method:this.method,data:HTTPReq.formEncoded(t),url:LiveJournal.getAjaxUrl(this.endpoint),onData:this.ajaxDone.bind(this),onError:this.ajaxError.bind(this)};for(var i in t)e[i]=t[i];return HTTPReq.getJSON(e),!0},ajaxDone:function(t){if(this._ajax_updating=!1,this.removeHilightFrame(),t._widget_body&&t._widget_body.match(/ajax:.[^"]+/)&&(this.authToken=t._widget_body.match(/ajax:.[^"]+/)[0]),t.auth_token&&(this.authToken=t.auth_token),t.errors&&""!=t.errors)return this.ajaxError(t.errors);if(t.error)return this.ajaxError(t.error);if(this.onData&&this.onData(t),t._widget_body){var e=this.getWidget();if(!e)return;e.innerHTML=t._widget_body,this.onRefresh&&this.onRefresh()}},ajaxError:function(t){this._ajax_updating=!1,this.skipError||(this.onError?this.onError(t):LiveJournal.ajaxError(t))}}),LJWidget.widgets=[];
/* <<< file end: js/ljwidget.js */
//# map link was there [ljwidget.js.map]
/* >>> file start: js/ljwidget_ippu.js */
//= require js/ljwidget.js
//= require js/lj_ippu.js
LJWidgetIPPU=new Class(LJWidget,{init:function(t,e){var i=t.title,n=t.widgetClass,s=t.authToken,a=t.nearElement,l=t.not_view_close,d=t.popupClass;e||(e={}),this.reqParams=e;var o=new LJ_IPPU(i,a);this.ippu=o;var h=document.createElement("div");h.id="LJWidgetIPPU_"+Unique.id(),o.setContentElement(h),d&&this.ippu.ele.classList.add(d),t.width&&t.height&&o.setDimensions(t.width,t.height),t.overlay&&(IPPU.isIE()?(this.ippu.setModal(!0),this.ippu.setOverlayVisible(!0),this.ippu.setClickToClose(!1)):(this.ippu.setModal(!0),this.ippu.setOverlayVisible(!0))),t.center&&o.center(),o.show(),l&&(o.titlebar.getElementsByTagName("img")[0].style.display="none");var u=document.createElement("div");u.style.fontSize="1.5em",u.style.fontWeight="bold",u.style.margin="5px",u.style.textAlign="center",u.innerHTML="Loading...",this.loadingText=u,h.appendChild(u);var r=[h.id,n,s];LJWidgetIPPU.superClass.init.apply(this,r);var g=this;return o.setCancelledCallback(function(){g.cancel&&g.cancel()}),n?(this.widgetClass=n,this.authToken=s,this.title=i,this.nearEle=a,window.setInterval(this.animateLoading.bind(this),20),this.loaded=!1,this.loadContent(),this):null},animateCount:0,animateLoading:function(t){var e=this.loadingText;if(this.loaded||!e)return void window.clearInterval(t);this.animateCount+=.05;var i=(Math.sin(this.animateCount)+1)/2*255,n=Math.round(i).toString(16);1==n.length&&(n="0"+n),n+=n+n,e.style.color="#"+n,this.ippu.center()},doAjaxRequest:function(t){t||(t={}),t._widget_ippu=1,document.getElementById("LJ__Setting__InvisibilityGuests_invisibleguests_self")&&(t["Widget[IPPU_SettingProd]_LJ__Setting__InvisibilityGuests_invisibleguests"]=1==document.getElementById("LJ__Setting__InvisibilityGuests_invisibleguests_self").checked?1:1==document.getElementById("LJ__Setting__InvisibilityGuests_invisibleguests_anon").checked?2:0),LJWidgetIPPU.superClass.doAjaxRequest.apply(this,[t])},close:function(){this.ippu.hide()},loadContent:function(){var t=this.reqParams;this.updateContent(t)},method:"POST",onData:function(t){this.loaded=!0},render:function(t){}});
/* <<< file end: js/ljwidget_ippu.js */
//# map link was there [ljwidget_ippu.js.map]
/* >>> file start: js/jquery/jquery.lj.itemlist.js */
!function(t){t.widget("lj.itemList",t.lj.basicWidget,{options:{classNames:{hover:"ljappippu_share_person_hover",lastItem:"ljappippu_share_person_last"},selectors:{last:":last",item:"li"},onNewElement:function(t){return t},onSelect:function(t){},items:[]},_create:function(){if(this.items={},this._length=0,this.options.items.length>0){for(var t=0;t<this.options.items.length;++t)this.add(this.options.items[t]);this.updateLast()}},add:function(s,e){if(!this.hasItem(s)){var e=e||this.options.onNewElement(s);if(e.length){var i=this.options.hoverClass;e.unbind(".itemList"),i&&e.bind("mouseover.itemList",function(){t(this).addClass(i)}).bind("mouseout.itemList",function(){t(this).removeClass(i)}),e.bind("click.itemList",s,this.options.onSelect),this.element[0]!=e[0].parentNode&&this.element.append(e),this.items[s]=e,this._length++}}},hasItem:function(t){return t in this.items},updateLast:function(){if(this.options.classNames.lastItem){this._lastItem&&this._lastItem.removeClass(this.options.classNames.lastItem);var t=this.element.children(this.options.selectors.last);t.size()>0?(this._lastItem=t,this._lastItem.addClass(this.options.classNames.lastItem)):this._lastItem=null}},nodes:function(){var t=jQuery();for(var s in this.items)this.items.hasOwnProperty(s)&&(t=t.add(this.items[s]));return t.length>0?t:null},remove:function(t){this.hasItem(t)&&(this.items[t].unbind(".itemList").remove(),delete this.items[t],this._length--)},empty:function(){for(var t in this.items)this.remove(t)},length:function(){return this._length},item:function(t){return this.items[t]||jQuery()}})}(jQuery);
/* <<< file end: js/jquery/jquery.lj.itemlist.js */
//# map link was there [jquery.lj.itemlist.js.map]
/* >>> file start: js/apps.js */
//= require js/ljwidget_ippu.js
//= require js/jquery/jquery.lj.itemlist.js
var appManager=function(e){return{CONFIG:{globalLJVarName:"LiveJournal",accessRequestElemId:"appPopup_accessRequest",accessSubmitElemId:"appPopup_accessSubmit",accessCancelElemId:"appPopup_accessCancel",accessTitleElemId:"appPopup_accessTitle",accessDescElemId:"appPopup_accessDesc"},init:function(i){var t=this.CONFIG;e.extend(t,i);var s=this.quiz.elems;s.container=e("#"+t.accessRequestElemId),s.submit=e("#"+t.accessSubmitElemId),s.cancel=e("#"+t.accessCancelElemId),s.title=e("#"+t.accessTitleElemId),s.desc=e("#"+t.accessDescElemId),s.buttons=s.submit.add(s.cancel).removeAttr("disabled"),s.userAccessField=s.container.find("input[name=user_access]"),s.idField=s.container.find("input[name=id]"),s.actionField=s.container.find("input[name=action]"),s.extraField=s.container.find("input[name=extra]"),s.userAccessCheckboxes=s.container.find("input[name=user_access_cb]"),this.queryArgs=window[t.globalLJVarName].parseGetArgs(window.location.href),this.action=this.queryArgs.act,this.extra=this.queryArgs.extra||"",this.returnTo=this.queryArgs["return"]||"",this.bindEvents(),this.startDialog()},startDialog:function(){this.quiz.appId=this.queryArgs.id,this.quiz.elems.formToSend=this.quiz.elems.container,this.quiz.action=this.action,this.quiz.extra=this.extra,this.quiz.returnTo=this.returnTo,this.quiz.start()},bindEvents:function(){var e=this;this.quiz.elems.submit.click(function(i){i.preventDefault(),e.quiz.sendResults()}),this.quiz.elems.userAccessCheckboxes.change(function(){var i=e.quiz.elems.userAccessCheckboxes,t=[];i.filter(":checked").each(function(){t.push(this.value)}),e.quiz.results=t.join(",")}).change(),this.quiz.elems.cancel.click(function(i){i.preventDefault(),e.quiz.stop()})},quiz:{appsUrl:"/games",appsSettingsUrl:"/manage/settings/?cat=userapps",appId:"",action:"",elems:{},results:[],start:function(){},stop:function(){this.action="cancel",this.cancelAction()},cancelAction:function(){this.returnTo.length>0&&"settings"==this.returnTo?document.location=this.appsSettingsUrl:document.location=this.appsUrl},sendResults:function(){this.elems.buttons.attr("disabled","disabled"),this.elems.userAccessField.val(this.results),this.elems.idField.val(this.appId),this.elems.actionField.val(this.action),this.elems.extraField.val(this.extra),this.elems.formToSend.submit()}}}}(jQuery),recipientsSelector=function(e){function i(){this._friends=[],this._visibleArr=[],this._needRebuild=!0}function t(e){if(!(0>=e)){var i=s(e);if(!i)return 1===e?c.itemList("empty"):t(e-1),void n();d=e,c.itemList("empty");for(var r=0;r<i.length;++r)c.itemList("add",i[r]);c.itemList("updateLast"),n()}}function s(e){var i,t;if(0===u.perPage?(i=0,t=p.getVisibleLength()):(i=(e-1)*u.perPage,t=e*u.perPage),i>=p.getVisibleLength())return!1;for(var s,n=[],r=i;t>r&&(s=p.getVisibleFriend(r),s);++r)n.push(s.username);return 0===n.length?!1:n}function n(){if(0!==u.perPage){var e=Math.ceil(p.getVisibleLength()/u.perPage);el.counterTotal.html(e),el.counterCurrent.html(d||0),el.firstLink[0===e||1===d?"addClass":"removeClass"](u.firstLinkDis),el.lastLink[0===e||d===e?"addClass":"removeClass"](u.lastLinkDis),el.prevLink[0===e||1===d?"addClass":"removeClass"](u.prevLinkDis),el.nextLink[0===e||d===e?"addClass":"removeClass"](u.nextLinkDis)}}function r(){t(d)}function a(){el.firstLink.mousedown(function(e){t(1),e.preventDefault()}),el.lastLink.mousedown(function(e){var i=Math.ceil(p.getVisibleLength()/u.perPage);t(i),e.preventDefault()}),el.prevLink.mousedown(function(e){t(d-1),e.preventDefault()}),el.nextLink.mousedown(function(e){t(d+1),e.preventDefault()})}function l(e){p.filterFriends(e),t(d)}var o={perPage:20,personsContainerSelector:".ljappippu_share_persons",personsTpl:"#ljappippu_share_person",firstLink:".i-qotd-nav-first",lastLink:".i-qotd-nav-last",prevLink:".i-qotd-nav-prev",nextLink:".i-qotd-nav-next",firstLinkDis:"i-qotd-nav-first-dis",lastLinkDis:"i-qotd-nav-last-dis",prevLinkDis:"i-qotd-nav-prev-dis",nextLinkDis:"i-qotd-nav-next-dis",counterCurrent:".i-pages-current",counterTotal:".i-pages-total",onSelect:function(e){}};i.prototype._rebuildVisible=function(){this._visibleArr=[];for(var e=0;e<this._friends.length;++e)this._friends[e].visible&&this._friends[e].filtered&&this._visibleArr.push(this._friends[e]);this._needRebuild=!1},i.prototype.add=function(e,i){this._friends.push({username:e,visible:i,filtered:!0}),i&&this._visibleArr.push(this._friends)},i.prototype.setVisible=function(e,i){var t=this.getFriend(e);return t&&t.username===e?t.visible!=i?(t.visible=i,this._needRebuild=!0,!0):!1:void 0},i.prototype.getVisibleLength=function(){return this._needRebuild&&this._rebuildVisible(),this._visibleArr.length},i.prototype.getVisibleFriend=function(i){return this._needRebuild&&this._rebuildVisible(),i>=0&&i<this._visibleArr.length?e.extend({},this._visibleArr[i]):null},i.prototype.getFriend=function(e){for(var i=0;i<this._friends.length;++i)if(this._friends[i].username===e)return this._friends[i];return null},i.prototype.filterFriends=function(e){e=e||"";for(var i,t,s=0;s<this._friends.length;++s)t=this._friends[s],i=t.filtered,t.filtered=e.length>0?-1!==t.username.indexOf(e):!0,i!==t.filtered&&(this._needRebuild=!0);this._needRebuild&&this._rebuildVisible()};var u,c,d,p;return{init:function(s){u=e.extend({},o,s),el={firstLink:e(u.firstLink),lastLink:e(u.lastLink),prevLink:e(u.prevLink),nextLink:e(u.nextLink),counterCurrent:e(u.counterCurrent),counterTotal:e(u.counterTotal),personsContainer:e(u.personsContainer),personsTpl:e(u.personsTpl)},c=e(".ljappippu_share_persons").itemList({classNames:{hover:"ljappippu_share_person_hover"},onNewElement:function(e){return el.personsTpl.tmpl({username:e})},onSelect:function(e){var i=e.data;u.onSelect(p.getFriend(i)),p.setVisible(i,!1)&&r(),e.preventDefault()}}),p=new i;for(var n=0;n<u.friends.length;++n)p.add(u.friends[n].display_name,!u.friends[n].selected);a(),t(1)},add:function(e){p.setVisible(e,!0)&&r()},filter:function(e){l(e)}}}(jQuery);
/* <<< file end: js/apps.js */
//# map link was there [apps.js.map]
/* >>> file start: js/apps/appcontainer.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gadgets=window.gadgets||{},shindig=window.shindig||{},osapi=window.osapi||{},livejournal=window.livejournal||{};gadgets.util=gadgets.util||{},gadgets.util.makeClosure=function(e,t){for(var n=[],i=2,r=arguments.length;r>i;++i)n.push(arguments[i]);return function(){for(var i=n.slice(),r=0,a=arguments.length;a>r;++r)i.push(arguments[r]);return t.apply(e,i)}},gadgets.util.makeEnum=function(e){var t,n,i={};for(t=0;n=e[t];++t)i[n]=n;return i},gadgets.util=gadgets.util||{},function(){gadgets.util.createElement=function(e){var t;if(!document.body||document.body.namespaceURI)try{t=document.createElementNS("http://www.w3.org/1999/xhtml",e)}catch(n){}return t||document.createElement(e)},gadgets.util.createIframeElement=function(e){var t=gadgets.util.createElement("iframe");try{var n,i,r=["<","iframe"],a=e||{};for(i in a)a.hasOwnProperty(i)&&(r.push(" "),r.push(i),r.push('="'),r.push(gadgets.util.escapeString(a[i])),r.push('"'));r.push("></"),r.push("iframe"),r.push(">"),n=r.join("");var s=gadgets.util.createElement(n);s&&(!t||s.tagName==t.tagName&&s.namespaceURI==t.namespaceURI)&&(t=s)}catch(o){}n=t,e=e||{};for(var d in e)e.hasOwnProperty(d)&&(n[d]=e[d]);return t},gadgets.util.getBodyElement=function(){if(document.body)return document.body;try{var e=document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","body");if(e&&1==e.length)return e[0]}catch(t){}return document.documentElement||document}}(),gadgets.util=gadgets.util||{},gadgets.util.attachBrowserEvent=function(e,t,n,i){"undefined"!=typeof e.addEventListener?e.addEventListener(t,n,i):"undefined"!=typeof e.attachEvent?e.attachEvent("on"+t,n):gadgets.warn("cannot attachBrowserEvent: "+t)},gadgets.util.removeBrowserEvent=function(e,t,n,i){e.removeEventListener?e.removeEventListener(t,n,i):e.detachEvent?e.detachEvent("on"+t,n):gadgets.warn("cannot removeBrowserEvent: "+t)},gadgets.util=gadgets.util||{},function(){var e=[];gadgets.util.registerOnLoadHandler=function(t){e.push(t)},gadgets.util.runOnLoadHandlers=function(){for(var t=0,n=e.length;n>t;++t)e[t]()}}(),gadgets.util=gadgets.util||{},function(){function e(e,t){return String.fromCharCode(t)}var t={0:!1,10:!0,13:!0,34:!0,39:!0,60:!0,62:!0,92:!0,8232:!0,8233:!0,65282:!0,65287:!0,65308:!0,65310:!0,65340:!0};gadgets.util.escape=function(e,t){if(!e)return e;if("string"==typeof e)return gadgets.util.escapeString(e);if("array"==typeof e)for(var n=0,i=e.length;i>n;++n)e[n]=gadgets.util.escape(e[n]);else if("object"===("undefined"==typeof e?"undefined":_typeof(e))&&t){n={};for(i in e)e.hasOwnProperty(i)&&(n[gadgets.util.escapeString(i)]=gadgets.util.escape(e[i],!0));return n}return e},gadgets.util.escapeString=function(e){if(!e)return e;for(var n,i,r=[],a=0,s=e.length;s>a;++a)n=e.charCodeAt(a),i=t[n],i===!0?r.push("&#",n,";"):i!==!1&&r.push(e.charAt(a));return r.join("")},gadgets.util.unescapeString=function(t){return t?t.replace(/&#([0-9]+);/g,e):t}}(),gadgets.util=gadgets.util||{},function(){var e=null;gadgets.util.getUrlParameters=function(t){var n="undefined"==typeof t;if(null!==e&&n)return e;var i={};t=t||document.location.href;var r=t.indexOf("?"),a=t.indexOf("#");t=(-1===a?t.substr(r+1):[t.substr(r+1,a-r-1),"&",t.substr(a+1)].join("")).split("&"),r=window.decodeURIComponent?decodeURIComponent:unescape,a=0;for(var s=t.length;s>a;++a){var o=t[a].indexOf("=");if(-1!==o){var d=t[a].substring(0,o);o=t[a].substring(o+1),o=o.replace(/\+/g," ");try{i[d]=r(o)}catch(g){}}}return n&&(e=i),i}}(),gadgets.util.getUrlParameters(),gadgets.util=gadgets.util||{},function(){function e(e){t=e["core.util"]||{}}var t={},n={};gadgets.config&&gadgets.config.register("core.util",null,e),gadgets.util.getFeatureParameters=function(e){return"undefined"==typeof t[e]?null:t[e]},gadgets.util.hasFeature=function(e){return"undefined"!=typeof t[e]},gadgets.util.getServices=function(){return n}}(),window.JSON&&window.JSON.parse&&window.JSON.stringify&&(gadgets.json=function(){function e(e){return this[e]}var t=/___$/;return{parse:function(e){try{return window.JSON.parse(e)}catch(t){return!1}},stringify:function(n){function i(t){return r.call(this,t,e)}var r=window.JSON.stringify,a=Array.prototype.toJSON&&'"[{\\"x\\": 1}]"'===r([{x:1}])?i:r;try{return a(n,function(e,n){return t.test(e)?void 0:n})}catch(s){return null}}}}()),window.JSON&&window.JSON.parse&&window.JSON.stringify||(gadgets.json=function(){function a(e){return 10>e?"0"+e:e}function b(e){var t,n,i;switch(t=/[\"\\\x00-\x1f\x7f-\x9f]/g,"undefined"==typeof e?"undefined":_typeof(e)){case"string":return t.test(e)?'"'+e.replace(t,function(e){var t=c[e];return t?t:(t=e.charCodeAt(),"\\u00"+Math.floor(t/16).toString(16)+(t%16).toString(16))})+'"':'"'+e+'"';case"number":return isFinite(e)?String(e):"null";case"boolean":case"null":return String(e);case"object":if(!e)return"null";if(t=[],"number"==typeof e.length&&!e.propertyIsEnumerable("length")){for(i=e.length,n=0;i>n;n+=1)t.push(b(e[n])||"null");return"["+t.join(",")+"]"}for(n in e)/___$/.test(n)||e.hasOwnProperty(n)&&"string"==typeof n&&(i=b(e[n]))&&t.push(b(n)+":"+i);return"{"+t.join(",")+"}"}return""}Date.prototype.toJSON=function(){return[this.getUTCFullYear(),"-",a(this.getUTCMonth()+1),"-",a(this.getUTCDate()),"T",a(this.getUTCHours()),":",a(this.getUTCMinutes()),":",a(this.getUTCSeconds()),"Z"].join("")};var c={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return{stringify:b,parse:function parse(d){return/^[\],:{}\s]*$/.test(d.replace(/\\["\\\/b-u]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))?eval("("+d+")"):!1}}}()),gadgets.json.flatten=function(e){var t={};if(null===e||void 0===e)return t;for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];null===i||void 0===i||(t[n]="string"==typeof i?i:gadgets.json.stringify(i))}return t},gadgets.log=function(){function e(e,t){n>e||!i||(2===e&&i.warn?i.warn(t):3===e&&i.error?i.error(t):i.log&&i.log(t))}var t=function(t){e(1,t)};gadgets.warn=function(t){e(2,t)},gadgets.error=function(t){e(3,t)},gadgets.setLogLevel=function(e){n=e},t.INFO=1,t.WARNING=2,t.NONE=4;var n=1,i=window.console?window.console:window.opera?window.opera.postError:void 0;return t}(),window.gadgets.config||(gadgets.config=function(){function e(t,n){for(var i in n)n.hasOwnProperty(i)&&("object"===_typeof(t[i])&&"object"===_typeof(n[i])?e(t[i],n[i]):t[i]=n[i])}function t(){var e=document.scripts||document.getElementsByTagName("script");if(!e||0==e.length)return null;var t;if(a.u)for(var n=0;!t&&n<e.length;++n){var i=e[n];i.src&&0==i.src.indexOf(a.u)&&(t=i)}return t||(t=e[e.length-1]),t.src?t:null}function n(e){var t="";if(3==e.nodeType||4==e.nodeType)t=e.nodeValue;else if(e.innerText)t=e.innerText;else if(e.innerHTML)t=e.innerHTML;else if(e.firstChild){for(t=[],e=e.firstChild;e;e=e.nextSibling)t.push(n(e));t=t.join("")}return t}function i(i){var r=t();if(r){var s;r=n(r);try{s=new Function("return ("+r+"\n)")()}catch(o){}if("object"===("undefined"==typeof s?"undefined":_typeof(s)))s=s;else{try{s=new Function("return ({"+r+"\n})")()}catch(d){}s="object"===("undefined"==typeof s?"undefined":_typeof(s))?s:{}}a.f&&1==a.f.length&&(s[a.f[0]]||(r={},r[a.f[0]]=s,s=r)),e(i,s),(s=window.___cfg)&&e(i,s)}}function r(e){for(var t in s)if(s.hasOwnProperty(t))for(var n=s[t],i=0,r=n.length;r>i;++i)e(t,n[i])}var a,s={},o={};return{register:function(e,t,n,i){var r=s[e];r||(r=[],s[e]=r),r.push({validators:t||{},callback:n,callOnUpdate:i})},get:function(e){return e?o[e]||{}:o},init:function(t,n){a=window.___jsl||{},e(o,t),i(o),e(o,window.___config||{}),r(function(e,t){var i=o[e];if(i&&!n){var r,a=t.validators;for(r in a)if(a.hasOwnProperty(r)&&!a[r](i[r]))throw Error('Invalid config value "'+i[r]+'" for parameter "'+r+'" in component "'+e+'"')}t.callback&&t.callback(o)})},update:function(t,n){var i=[];r(function(e,r){(t.hasOwnProperty(e)||n&&o&&o[e])&&r.callback&&r.callOnUpdate&&i.push(r.callback)}),o=n?{}:o||{},e(o,t);for(var a=0,s=i.length;s>a;++a)i[a](o)}}}()),gadgets.io=function(){function a(){var e;if("undefined"!=typeof shindig&&shindig.xhrwrapper&&shindig.xhrwrapper.createXHR)return shindig.xhrwrapper.createXHR();if("undefined"!=typeof ActiveXObject)return(e=new ActiveXObject("Msxml2.XMLHTTP"))||(e=new ActiveXObject("Microsoft.XMLHTTP")),e;if("undefined"!=typeof XMLHttpRequest||window.XMLHttpRequest)return new window.XMLHttpRequest;throw"no xhr available"}function b(e,t){if(4!==e.readyState)return!0;try{if(200!==e.status){var n=""+e.status;return e.responseText&&(n=n+" "+e.responseText),t({errors:[n],rc:e.status,text:e.responseText}),!0}}catch(i){return t({errors:[i.number+" Error not specified"],rc:i.number,text:i.description}),!0}return!1}function c(t,n,i,r){b(r,n)||n(e(i,{body:r.responseText}))}function d(j,m,l,o){if(!b(o,m)){o=o.responseText;var r=o.indexOf(k)+k.length;r<k.length||(o=o.substr(r),o=eval("("+o+")"),o=o[j],o.oauthState&&(h=o.oauthState),o.st&&shindig.auth.updateSecurityToken(o.st),m(e(l,o)))}}function e(e,t){var n={text:t.body,rc:t.rc||200,headers:t.headers,oauthApprovalUrl:t.oauthApprovalUrl,oauthError:t.oauthError,oauthErrorText:t.oauthErrorText,oauthErrorTrace:t.oauthErrorTrace,oauthErrorUri:t.oauthErrorUri,oauthErrorExplanation:t.oauthErrorExplanation,errors:[]};if(n.rc<200||n.rc>=400)n.errors=[n.rc+" Error"];else if(n.text)switch(n.rc>=300&&n.rc<400&&(e.CONTENT_TYPE="TEXT"),e.CONTENT_TYPE){case"JSON":case"FEED":n.data=gadgets.json.parse(n.text),n.data||(n.errors.push("500 Failed to parse JSON"),n.rc=500,n.data=null);break;case"DOM":var i;"undefined"!=typeof ActiveXObject?(i=new ActiveXObject("Microsoft.XMLDOM"),i.async=!1,i.validateOnParse=!1,i.resolveExternals=!1,i.loadXML(n.text)?n.data=i:(n.errors.push("500 Failed to parse XML"),n.rc=500)):(i=(new DOMParser).parseFromString(n.text,"text/xml"),"parsererror"===i.documentElement.nodeName?(n.errors.push("500 Failed to parse XML"),n.rc=500):n.data=i);break;default:n.data=n.text}return n}function f(e,t,n,i,r,s,o,d){var g=a();if(0==t.indexOf("//")&&(t=document.location.protocol+t),g.open(r,t,!0),n&&(g.onreadystatechange=gadgets.util.makeClosure(null,o,e,n,s,g)),null!==i){e="application/x-www-form-urlencoded","string"==typeof d&&(e=d,d={}),d=d||{},d["Content-Type"]||(d["Content-Type"]=e);for(var c in d)g.setRequestHeader(c,d[c])}g.send(i)}var i={},h,k="throw 1; < don't be evil' >";return gadgets.config.register("core.io",null,function(e){i=e["core.io"]||{}}),{makeRequest:function(t,n,r){r=r||{};var a,s,o=r.METHOD||"GET",g=r.REFRESH_INTERVAL;r.AUTHORIZATION&&"NONE"!==r.AUTHORIZATION?(a=r.AUTHORIZATION.toLowerCase(),s=shindig.auth.getSecurityToken()):"GET"===o&&void 0===g&&(g=3600);var c=!0;"undefined"!=typeof r.OWNER_SIGNED&&(c=r.OWNER_SIGNED);var u=!0;"undefined"!=typeof r.VIEWER_SIGNED&&(u=r.VIEWER_SIGNED);var p=r.HEADERS||{};"POST"!==o||p["Content-Type"]||(p["Content-Type"]="application/x-www-form-urlencoded");var l=gadgets.util.getUrlParameters();if(s={url:t,httpMethod:o,headers:gadgets.io.encodeValues(p,!1),postData:r.POST_DATA||"",authz:a||"",st:s||"",contentType:r.CONTENT_TYPE||"TEXT",numEntries:r.NUM_ENTRIES||"3",getSummaries:!!r.GET_SUMMARIES,signOwner:c,signViewer:u,gadget:l.url,container:l.container||l.synd||"default",bypassSpecCache:gadgets.util.getUrlParameters().nocache||"",getFullHeaders:!!r.GET_FULL_HEADERS},"oauth"===a||"signed"===a||"oauth2"===a){gadgets.io.oauthReceivedCallbackUrl_&&(s.OAUTH_RECEIVED_CALLBACK=gadgets.io.oauthReceivedCallbackUrl_,gadgets.io.oauthReceivedCallbackUrl_=null),s.oauthState=h||"";for(var m in r)r.hasOwnProperty(m)&&(0!==m.indexOf("OAUTH_")&&"code"!==m||(s[m]=r[m]))}a=i.jsonProxyUrl.replace("%host%",document.location.host);e:{if(gadgets.io.preloaded_&&"GET"===s.httpMethod)for(m=0;m<gadgets.io.preloaded_.length;m++)if((c=gadgets.io.preloaded_[m])&&c.id===s.url){delete gadgets.io.preloaded_[m],200!==c.rc?n({rc:c.rc,errors:[c.rc+" Error"]}):(c.oauthState&&(h=c.oauthState),n(e(r,{body:c.body,rc:c.rc,headers:c.headers,oauthApprovalUrl:c.oauthApprovalUrl,oauthError:c.oauthError,oauthErrorText:c.oauthErrorText,oauthErrorTrace:c.oauthErrorTrace,oauthErrorUri:c.oauthErrorUri,oauthErrorExplanation:c.oauthErrorExplanation,errors:[]}))),m=!0;break e}m=!1}m||("GET"===o&&g>0?(o="?refresh="+g+"&"+gadgets.io.encodeValues(s),f(t,a+o,n,null,"GET",r,d)):f(t,a,n,gadgets.io.encodeValues(s),"POST",r,d))},makeNonProxiedRequest:function(e,t,n,i){n=n||{},f(e,e,t,n.POST_DATA,n.METHOD,n,c,i)},clearOAuthState:function(){h=void 0},encodeValues:function(e,t){var n,i=!t,r=[],a=!1;for(n in e)e.hasOwnProperty(n)&&!/___$/.test(n)&&(a?r.push("&"):a=!0,r.push(i?encodeURIComponent(n):n),r.push("="),r.push(i?encodeURIComponent(e[n]):e[n]));return r.join("")},getProxyUrl:function(e,t){var n=i.proxyUrl;if(!n)return n;var r=t||{},a=r.REFRESH_INTERVAL;void 0===a&&(a="3600");var s=gadgets.util.getUrlParameters();return r=r.rewriteMime?"&rewriteMime="+encodeURIComponent(r.rewriteMime):"",n=n.replace("%url%",encodeURIComponent(e)).replace("%host%",document.location.host).replace("%rawurl%",e).replace("%refresh%",encodeURIComponent(a)).replace("%gadget%",encodeURIComponent(s.url)).replace("%container%",encodeURIComponent(s.container||s.synd||"default")).replace("%rewriteMime%",r),0==n.indexOf("//")&&(n=window.location.protocol+n),n}}}(),gadgets.io.RequestParameters=gadgets.util.makeEnum(["METHOD","CONTENT_TYPE","POST_DATA","HEADERS","AUTHORIZATION","NUM_ENTRIES","GET_SUMMARIES","GET_FULL_HEADERS","REFRESH_INTERVAL","OAUTH_SERVICE_NAME","OAUTH_USE_TOKEN","OAUTH_TOKEN_NAME","OAUTH_REQUEST_TOKEN","OAUTH_REQUEST_TOKEN_SECRET","OAUTH_RECEIVED_CALLBACK"]),gadgets.io.MethodType=gadgets.util.makeEnum(["GET","POST","PUT","DELETE","HEAD"]),gadgets.io.ContentType=gadgets.util.makeEnum(["TEXT","DOM","JSON","FEED"]),gadgets.io.AuthorizationType=gadgets.util.makeEnum(["NONE","SIGNED","OAUTH","OAUTH2"]),gadgets.rpctx=gadgets.rpctx||{},gadgets.rpctx.wpm||(gadgets.rpctx.wpm=function(){function e(e,t,n){"undefined"!=typeof window.addEventListener?window.addEventListener(e,t,n):"undefined"!=typeof window.attachEvent&&window.attachEvent("on"+e,t)}function t(e){var t=gadgets.json.parse(e.data);if(t&&t.f){var i=gadgets.rpc.getTargetOrigin(t.f);r&&("undefined"!=typeof e.origin?e.origin!==i:e.domain!==/^.+:\/\/([^:]+).*/.exec(i)[1])||n(t,e.origin)}}var n,i,r=!0;return{getCode:function(){return"wpm"},isParentVerifiable:function(){return!0},init:function(a,s){return gadgets.config.register("rpc",null,function(e){"true"===String((e?e.rpc:{}).disableForceSecure)&&(r=!1)}),n=a,i=s,e("message",t,!1),i("..",!0),!0},setup:function(e){return i(e,!0),!0},call:function(e,t,n){var i=gadgets.rpc.getTargetOrigin(e),r=gadgets.rpc._getTargetWin(e);return i?window.setTimeout(function(){r.postMessage(gadgets.json.stringify(n),i)},0):gadgets.error("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message"),!0}}}()),gadgets.rpctx=gadgets.rpctx||{},gadgets.rpctx.nix||(gadgets.rpctx.nix=function(){function e(){var o=a[".."];if(!o)if(++s>i)gadgets.warn("Nix transport setup failed, falling back..."),t("..",!1);else{if(!o&&window.opener&&"GetAuthToken"in window.opener&&(o=window.opener,o.GetAuthToken()==gadgets.rpc.getAuthToken(".."))){var d=gadgets.rpc.getAuthToken("..");return o.CreateChannel(window[n]("..",d),d),a[".."]=o,window.opener=null,void t("..",!0)}window.setTimeout(function(){e()},r)}}var t,n="GRPC____NIXVBS_get_wrapper",i=10,r=500,a={},s=0;return{getCode:function(){return"nix"},isParentVerifiable:function(){return!1},init:function(e,i){if(t=i,"unknown"!=typeof window[n]){window.GRPC____NIXVBS_handle_message=function(t){window.setTimeout(function(){e(gadgets.json.parse(t))},0)},window.GRPC____NIXVBS_create_channel=function(e,n,i){gadgets.rpc.getAuthToken(e)===i&&(a[e]=n,t(e,!0))};var r="Class GRPC____NIXVBS_wrapper\n Private m_Intended\nPrivate m_Auth\nPublic Sub SetIntendedName(name)\n If isEmpty(m_Intended) Then\nm_Intended = name\nEnd If\nEnd Sub\nPublic Sub SetAuth(auth)\n If isEmpty(m_Auth) Then\nm_Auth = auth\nEnd If\nEnd Sub\nPublic Sub SendMessage(data)\n GRPC____NIXVBS_handle_message(data)\nEnd Sub\nPublic Function GetAuthToken()\n GetAuthToken = m_Auth\nEnd Function\nPublic Sub CreateChannel(channel, auth)\n Call GRPC____NIXVBS_create_channel(m_Intended, channel, auth)\nEnd Sub\nEnd Class\nFunction "+n+"(name, auth)\nDim wrap\nSet wrap = New GRPC____NIXVBS_wrapper\nwrap.SetIntendedName name\nwrap.SetAuth auth\nSet "+n+" = wrap\nEnd Function";try{window.execScript(r,"vbscript")}catch(s){return!1}}return!0},setup:function(t,i){if(".."===t)return e(),!0;try{var r=document.getElementById(t),a=window[n](t,i);r.contentWindow.opener=a}catch(s){return!1}return!0},call:function(e,t,n){try{a[e]&&a[e].SendMessage(gadgets.json.stringify(n))}catch(i){return!1}return!0}}}()),window.gadgets.rpc||(gadgets.rpc=function(){function e(e,t){if(!C[e]){var n=x;t||(n=D),C[e]=n;for(var i=S[e]||[],r=0;r<i.length;++r){var a=i[r];a.t=v[e],n.call(e,a.f,a)}S[e]=[]}}function t(){function e(){k=!0}j||("undefined"!=typeof window.addEventListener?window.addEventListener("unload",e,!1):"undefined"!=typeof window.attachEvent&&window.attachEvent("onunload",e),j=!0)}function n(e,n,i,r,a){v[n]&&v[n]===i||(gadgets.error("Invalid auth token. "+v[n]+" vs "+i),N(n,M)),a.onunload=function(){w[n]&&!k&&(N(n,L),gadgets.rpc.removeReceiver(n))},t(),r=gadgets.json.parse(decodeURIComponent(r))}function i(t,n){if(t&&"string"==typeof t.s&&"string"==typeof t.f&&t.a instanceof Array)if(v[t.f]&&v[t.f]!==t.t&&(gadgets.error("Invalid auth token. "+v[t.f]+" vs "+t.t),N(t.f,M)),"__ack"===t.s)window.setTimeout(function(){e(t.f,!0)},0);else{if(t.c&&(t.callback=function(e){gadgets.rpc.call(t.f,"__cb",null,t.c,e)}),n){var i=r(n);t.origin=n;var a=t.r;a&&r(a)==i||(a=n),t[f]=a}i=(m[t.s]||m[""]).apply(t,t.a),t.c&&"undefined"!=typeof i&&gadgets.rpc.call(t.f,"__cb",null,t.c,i)}}function r(e){if(!e)return"";e=e.toLowerCase(),0==e.indexOf("//")&&(e=window.location.protocol+e),-1==e.indexOf("://")&&(e=window.location.protocol+"//"+e);var t=e.substring(e.indexOf("://")+3),n=t.indexOf("/");-1!=n&&(t=t.substring(0,n)),e=e.substring(0,e.indexOf("://")),n="";var i=t.indexOf(":");if(-1!=i){var r=t.substring(i+1);t=t.substring(0,i),("http"===e&&"80"!==r||"https"===e&&"443"!==r)&&(n=":"+r)}return e+"://"+t+n}function a(e){if("/"==e.charAt(0)){var t=e.indexOf("|"),n=t>0?e.substring(1,t):e.substring(1);return e=t>0?e.substring(t+1):null,{id:n,origin:e}}return null}function s(e){if("undefined"==typeof e||".."===e)return window.parent;var t=a(e);return t?window.top.frames[t.id]:(e=String(e),(t=window.frames[e])?t:(t=document.getElementById(e))&&t.contentWindow?t.contentWindow:null)}function o(e,t){if(w[e]!==!0){"undefined"==typeof w[e]&&(w[e]=0);var n=s(e);if((".."===e||null!=n)&&x.setup(e,t)===!0)return void(w[e]=!0);w[e]!==!0&&w[e]++<10?window.setTimeout(function(){o(e,t)},500):(C[e]=D,w[e]=!0)}}function d(e){return(e=y[e])&&"/"===e.substring(0,1)&&(e="/"===e.substring(1,2)?document.location.protocol+e:document.location.protocol+"//"+document.location.host+e),e}function g(e,t,n){/http(s)?:\/\/.+/.test(t)||(0==t.indexOf("//")?t=window.location.protocol+t:"/"==t.charAt(0)?t=window.location.protocol+"//"+window.location.host+t:-1==t.indexOf("://")&&(t=window.location.protocol+"//"+t)),y[e]=t,"undefined"!=typeof n&&(_[e]=!!n)}function c(e,t){t=t||"",v[e]=String(t),o(e,t)}function u(e){e=(e.passReferrer||"").split(":",2),R=e[0]||"none",O=e[1]||"origin"}function p(t){"true"===String(t.useLegacyProtocol)&&(x=gadgets.rpctx.ifpc,x.init(i,e))}function l(e,t){function n(n){n=n?n.rpc:{},u(n);var i=n.parentRelayUrl||"";i=r(T.parent||t)+i,g("..",i,"true"===String(n.useLegacyProtocol)),p(n),c("..",e)}!T.parent&&t?n({}):gadgets.config.register("rpc",null,n)}function h(e,t,n){if(".."===e)l(n||T.rpctoken||T.ifpctok||"",t);else e:{var i=null;if("/"!=e.charAt(0)){if(!gadgets.util)break e;if(i=document.getElementById(e),!i)throw Error("Cannot set up gadgets.rpc receiver with ID: "+e+", element not found.")}i=i&&i.src,t=t||gadgets.rpc.getOrigin(i),g(e,t),t=gadgets.util.getUrlParameters(i),c(e,n||t.rpctoken)}}var f="referer",m={},y={},_={},v={},E=0,I={},w={},P={},T={},C={},S={},R=null,O=null,A=window.top!==window.self,b=window.name,N=function(){},L=1,M=2,G=window.console,U=G&&G.log&&function(e){G.log(e)}||function(){},D=function(){function e(e){return function(){U(e+": call ignored")}}return{getCode:function(){return"noop"},isParentVerifiable:function(){return!0},init:e("init"),setup:e("setup"),call:e("call")}}();gadgets.util&&(T=gadgets.util.getUrlParameters());var k=!1,j=!1,x=function(){return"flash"==T.rpctx?gadgets.rpctx.flash:"rmr"==T.rpctx?gadgets.rpctx.rmr:"function"==typeof window.postMessage?gadgets.rpctx.wpm:"object"===_typeof(window.postMessage)?gadgets.rpctx.wpm:window.ActiveXObject?gadgets.rpctx.flash?gadgets.rpctx.flash:gadgets.rpctx.nix:navigator.userAgent.indexOf("WebKit")>0?gadgets.rpctx.rmr:"Gecko"===navigator.product?gadgets.rpctx.frameElement:gadgets.rpctx.ifpc}();return m[""]=function(){U("Unknown RPC service: "+this.s)},m.__cb=function(e,t){var n=I[e];n&&(delete I[e],n.call(this,t))},{config:function(e){"function"==typeof e.securityCallback&&(N=e.securityCallback)},register:function(e,t){if("__cb"===e||"__ack"===e)throw Error("Cannot overwrite callback/ack service");if(""===e)throw Error("Cannot overwrite default service: use registerDefault");m[e]=t},unregister:function(e){if("__cb"===e||"__ack"===e)throw Error("Cannot delete callback/ack service");if(""===e)throw Error("Cannot delete default service: use unregisterDefault");delete m[e]},registerDefault:function(e){m[""]=e},unregisterDefault:function(){delete m[""]},forceParentVerifiable:function(){x.isParentVerifiable()||(x=gadgets.rpctx.ifpc)},call:function(e,t,n){e=e||"..";var i="..";".."===e?i=b:"/"==e.charAt(0)&&(i=gadgets.rpc.getOrigin(window.location.href),i="/"+b+(i?"|"+i:"")),++E,n&&(I[E]=n);var o,g={s:t,f:i,c:n?E:0,a:Array.prototype.slice.call(arguments,3),t:v[e],l:!!_[e]};e:if("bidir"===R||"c2p"===R&&".."===e||"p2c"===R&&".."!==e){o=window.location.href;var c="?";if("query"===O)c="#";else if("hash"===O){o=o;break e}c=o.lastIndexOf(c),c=-1===c?o.length:c,o=o.substring(0,c)}else o=null;if(o&&(g.r=o),".."===e||null!=a(e)||document.getElementById(e)){e:{if(o=e,"undefined"==typeof P[o]){if(P[o]=!1,c=d(o),r(c)!==r(window.location.href)){o=!1;break e}c=s(o);try{P[o]=c.gadgets.rpc.receiveSameDomain}catch(u){}}"function"==typeof P[o]?(P[o](g),o=!0):o=!1}o||(o=C[e],o||null===a(e)||(o=x),o?(_[e]&&(o=gadgets.rpctx.ifpc),o.call(e,i,g)===!1&&(C[e]=D,x.call(e,i,g))):S[e]?S[e].push(g):S[e]=[g])}},getRelayUrl:d,setRelayUrl:g,setAuthToken:c,setupReceiver:h,getAuthToken:function(e){return v[e]},removeReceiver:function(e){delete y[e],delete _[e],delete v[e],delete w[e],delete P[e],delete C[e]},getRelayChannel:function(){return x.getCode()},receive:function(e,t){e.length>4?x._receiveMessage(e,i):n.apply(null,e.concat(t))},receiveSameDomain:function(e){e.a=Array.prototype.slice.call(e.a),window.setTimeout(function(){i(e)},0)},getOrigin:r,getTargetOrigin:function(e){var t=null;return t=(t=d(e))?t:(t=a(e))?t.origin:".."==e?T.parent:document.getElementById(e).src,r(t)},init:function(){x.init(i,e)===!1&&(x=D),A?h(".."):gadgets.config.register("rpc",null,function(e){e=e.rpc||{},u(e),p(e)})},_getTargetWin:s,_parseSiblingId:a,ACK:"__ack",RPC_ID:b||"..",SEC_ERROR_LOAD_TIMEOUT:0,SEC_ERROR_FRAME_PHISH:L,SEC_ERROR_FORGED_MSG:M}}(),gadgets.rpc.init()),function(e){return e}(),gadgets.views=function(){function e(e){e||(e=window.event);var t;return e.target?t=e.target:e.srcElement&&(t=e.srcElement),3===t.nodeType&&(t=t.parentNode),"a"===t.nodeName.toLowerCase()&&(t=t.getAttribute("href"))&&"#"!==t[0]&&-1===t.indexOf("://")?(gadgets.views.requestNavigateTo(n,t),e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0,!1):!1}var t={},n=null,i={},r={};return gadgets.config.register("views",null,function(a){a=a.views||{};for(var s in a)if(a.hasOwnProperty(s)&&"rewriteLinks"!=s){var o=a[s],d=s.toUpperCase();if(t[d]=d,o){i[s]=new gadgets.views.View(s,o.isOnlyVisible),d=o.aliases||[];for(var g,c=0;g=d[c];++c)i[g]=new gadgets.views.View(s,o.isOnlyVisible)}}s=gadgets.util.getUrlParameters(),s["view-params"]&&(r=gadgets.json.parse(decodeURIComponent(s["view-params"]))||r,r.hasOwnProperty("app_id")&&delete r.app_id),n=i[s.view]||i["default"],a.rewriteLinks&&gadgets.util.attachBrowserEvent(document,"click",e,!1)}),{bind:function(e,t){function n(e,n){return t.hasOwnProperty(e)?t[e]:n}function i(e){if(!(s=e.match(c)))throw Error("Invalid variable : "+e)}function r(e,t,r){var a=e.split(",");for(e=0;e<a.length&&(i(a[e]),!r(t,n(s[1]),s[1]));++e);return t}if("string"!=typeof e)throw Error("Invalid urlTemplate");if("object"!==("undefined"==typeof t?"undefined":_typeof(t)))throw Error("Invalid environment");for(var a,s,o,d,g,c=/^([a-zA-Z0-9][a-zA-Z0-9_\.\-]*)(=([a-zA-Z0-9\-\._~]|(%[0-9a-fA-F]{2}))*)?$/,u=RegExp("\\{([^}]*)\\}","g"),p=/^-([a-zA-Z]+)\|([^|]*)\|(.+)$/,l=[],h=0;a=u.exec(e);)if(l.push(e.substring(h,a.index)),h=u.lastIndex,s=a[1].match(c))a=s[1],o=s[2]?s[2].substr(1):"",l.push(n(a,o));else{if(!(s=a[1].match(p)))throw Error("Invalid syntax : "+a[0]);switch(d=s[1],a=s[2],g=s[3],o=0,d){case"neg":o=1;case"opt":r(g,{flag:o},function(e,t){var n;if(n="undefined"!=typeof t){e:if("object"===("undefined"==typeof t?"undefined":_typeof(t))||"function"==typeof t){for(var i in t)if(t.hasOwnProperty(i)){n=!1;break e}n=!0}else n=!1;n=!n}return n?(e.flag=!e.flag,1):0}).flag&&l.push(a);break;case"join":l.push(r(g,[],function(e,t,n){if("string"==typeof t)e.push(n+"="+t);else if("object"===("undefined"==typeof t?"undefined":_typeof(t)))for(var i in t)t.hasOwnProperty(i)&&e.push(i+"="+t[i])}).join(a));break;case"list":i(g),d=n(s[1]),"object"===("undefined"==typeof d?"undefined":_typeof(d))&&"function"==typeof d.join&&l.push(d.join(a));break;case"prefix":o=1;case"suffix":i(g),d=n(s[1],s[2]&&s[2].substr(1)),"string"==typeof d?l.push(o?a+d:d+a):"object"===("undefined"==typeof d?"undefined":_typeof(d))&&"function"==typeof d.join&&l.push(o?a+d.join(a):d.join(a)+a);break;default:throw Error("Invalid operator : "+d)}}return l.push(e.substr(h)),l.join("")},requestNavigateTo:function(e,t,n){"string"!=typeof e&&(e=e.getName()),gadgets.rpc.call(null,"requestNavigateTo",null,e,t,n)},getCurrentView:function(){return n},getSupportedViews:function(){return i},getParams:function(){return r},ViewType:t}}(),gadgets.views.View=function(e,t){this.name_=e,this.isOnlyVisible_=!!t},gadgets.views.View.prototype.getName=function(){return this.name_},gadgets.views.View.prototype.getUrlTemplate=function(){return gadgets.config&&gadgets.config.views&&gadgets.config.views[this.name_]&&gadgets.config.views[this.name_].urlTemplate},gadgets.views.View.prototype.bind=function(e){return gadgets.views.bind(this.getUrlTemplate(),e)},gadgets.views.View.prototype.isOnlyVisibleGadget=function(){return this.isOnlyVisible_},LJAPP_IPPU=new Class(IPPU,{init:function(e){e||(e=""),LJAPP_IPPU.superClass.init.apply(this,[]),this.uniqId=this.generateUniqId(),this.setTitle(e),this.setTitlebar(!0),this.setTitlebarClass("lj_ippu_titlebar"),this.addClass("lj_ippu lj_ippu_app"),this.setAutoCenterCallback(IPPU.center),this.setDimensions(514,"auto"),this.setFixedPosition(!0),this.setOverlayVisible(!1),this.setModal(!0)},setTitle:function(e){LJAPP_IPPU.superClass.setTitle.apply(this,["<div class='ljappippu_button' id='"+this.uniqId+"_cancel'></div>"+e]),this.setup_lj_ippu()},updateTitlebar:function(){this.showTitlebar&&this.titlebar&&this.title!=this.titlebar.innerHTML&&(this.titlebar.innerHTML=this.title,this.setup_lj_ippu())},generateUniqId:function(){var e=new Date;return"lj_ippu_"+e.getHours()+e.getMinutes()+e.getMilliseconds()},show:function(){LJAPP_IPPU.superClass.show.apply(this)},setup_lj_ippu:function(){var e=this.cancel.bind(this);jQuery(this.ele).find("#"+this.uniqId+"_cancel").click(e)},hide:function(){clearInterval(this.timerSetup),LJAPP_IPPU.superClass.hide.apply(this)}}),LJAppWidget=new Class(Object,{init:function(e,t){var n=e.title,i=e.authToken;this.templateID=e.templateID||"",this.finishCallback=e.finishCallback||null,this.widgetName=e.widgetName||"LJAppwidget",t||(t={}),this.reqParams=t;var r=new LJAPP_IPPU(n);this.ippu=r,this.widgetId="LJAppWidget_"+Unique.id();var a=document.createElement("div");a.id=this.widgetId,this.widgetNode=a,r.setContentElement(a),r.setModal(!0),r.setOverlayVisible(!0),r.setClickToClose(!1),r.setDimensions("60%","auto"),r.setAutoCenter(!0,!0);var s=this;return this.ippu.setCancelledCallback(function(){s.cancel()}),this.cancelOnEscape(),e.center&&r.center(),this.authToken=i,this.title=n,this.loaded=!1,this},getWidget:function(){return this.widgetNode},loadContent:function(e){var t=this;e=e||"request",this.makeRequest(e,function(e){t.contentLoaded(e)})},submitData:function(e,t){var n=this;e=e||"set",t=t||null,this.makeRequest(e,function(e){n.onData(e)},t)},makeRequest:function(e,t,n){n||(n=this.reqParams),n=jQuery.extend({},n),n.auth_token=this.authToken,n.action=e,url="/__rpc_ljapp_"+this.widgetName;var i=this;jQuery.post(url,n,function(e){"ERROR"===e.status?i.onError(e):t(e)},"json")},cancelOnEscape:function(){var e=this;jQuery(window).add(document).keydown(function(t){27===t.keyCode&&e.ippu.visible()&&e.cancel()})},cancel:function(){this.onError({code:"canceled"}),this.close()},onData:function(e){this.onReturn("OK",e)},onError:function(e){this.onReturn("ERROR",e)},onReturn:function(e,t,n){n=n||!1,t=t||{},t.status=e,this.finishCallback&&this.finishCallback(t),n&&this.close()},contentLoaded:function(e){e=e||{},e.messages=e.messages||{},"auth_token"in e&&(this.authToken=e.auth_token);var t=jQuery.tmpl(jQuery("#"+this.templateID),e);jQuery(this.getWidget()).empty().append(t),this.loaded=!0,this.ippu.center(),"title"in e.messages&&this.ippu.setTitle(e.messages.title),this.bindControls(),this.ippu.show(),this.verifyFocus()},verifyFocus:function(){jQuery("<input>").css({position:"fixed",left:"-30000em",top:"0em"}).appendTo(jQuery(document.body)).focus().remove()},bindControls:function(){},close:function(){this.ippu.hide()}}),LJAppWidget_RequestPermission=new Class(LJAppWidget,{init:function(e){e.templateID="ljappippu_confirm",e.widgetName="permissions",LJAppWidget_RequestPermission.superClass.init.apply(this,arguments)},bindControls:function(){var e=jQuery(this.getWidget()),t=this;e.find("input.ljappippu_confirm_ok").click(function(){t.submitData()}),e.find("input.ljappippu_confirm_reject").click(function(){t.cancel()}),LJAppWidget_RequestPermission.superClass.bindControls.apply(this)},onData:function(e){this.onReturn("OK",e,!0)},contentLoaded:function(e){e=e||{},this.reqParams.permissions=e.permissions.join(","),LJAppWidget_RequestPermission.superClass.contentLoaded.call(this,e)}}),function(e){LJAppWidget_RequestShareApp=new Class(LJAppWidget,{init:function(e,t){e.templateID="ljappippu_share",e.widgetName="share_app",this.extra=t.extra,delete t.extra,LJAppWidget_RequestShareApp.superClass.init.apply(this,arguments),this.friends={},this.selectedCount=0,this.cachedData={}},initRecipientsList:function(t){var n=this,i=e(".ljappippu_share_selected").itemList({hoverClass:"ljappippu_share_selected_hover",onNewElement:function(e){return jQuery("#ljappippu_share_person").tmpl({username:e,hasCloseButton:!0})},onSelect:function(e){var r=e.data;i.itemList("remove",r).itemList("updateLast"),r in n.friends&&(n.selectedCount--,n.friends[r]=0,n.updateSendButton()),t&&t(r),e.preventDefault(),e.stopPropagation()}});this.selectedCount=0;for(var r in this.friends)this.friends[r].selected&&(i.itemList("add",r),this.selectedCount++);return i.itemList("updateLast"),this.updateSendButton(),i},setupFirstStage:function(e){var t=jQuery("#ljappippu_share_choose").tmpl(e),n=this.getWidget(),i=this;jQuery(n).find(".ljappippu_share_content").empty().append(t),
n.className="firstStage",recipientsSelector.init({perPage:0,friends:e.friends,onSelect:function(e){r.itemList("add",e.username).itemList("updateLast"),e.username in i.friends&&(i.friends[e.username].selected=1,i.selectedCount++,i.updateSendButton())}}),jQuery("#filter").placeholder().input(function(){recipientsSelector.filter(this.value)});var r=this.initRecipientsList(function(e){recipientsSelector.add(e)}),a=!1;jQuery("#ljappippu_share_message").keypress(function(e){a&&e.preventDefault();var t=this;setTimeout(function(){t.value.length>120&&(t.value=t.value.substring(0,120),a=!0,setTimeout(function(){a=!1},300))},0)}),jQuery(".ljappippu_share_send").click(function(e){i.sendInvitations(),e.preventDefault()});var s=jQuery("#ljappippu_share_message").labeledPlaceholder(),o=jQuery("#ljappippu_share_message").height()+"px";s.css({height:"1.5em"}).focus(function(){s.stop().animate({height:o},200)}).blur(function(){0===this.value.length&&s.stop().animate({height:"1.5em"},200)}),this.ippu.center()},updateSendButton:function(){jQuery(".ljappippu_share_send").attr("disabled",0===this.selectedCount)},setupSecondStage:function(){var e=jQuery("#ljappippu_share_invite").tmpl(),t=this.getWidget();jQuery(t).find(".ljappippu_share_content").empty().append(e),t.className="secondStage",this.ippu.center();var n=this;setTimeout(function(){n.close()},3e3)},sendInvitations:function(){var e,t=jQuery("#ljappippu_share_message").val()||"",n=[];for(e in this.friends)this.friends[e].selected&&n.push(this.friends[e].userid);t={message:t,recipients:n.join(",")},this.extra.length>0&&(t.extra=this.extra),this.submitData("send",jQuery.extend({},this.reqParams,t))},onData:function(e){this.setupSecondStage(),this.onReturn("OK",e,!1)},loadContent:function(){LJAppWidget_RequestShareApp.superClass.loadContent.call(this,"select")},contentLoaded:function(e){e=e||{},e.messages=e.messages||{},e.messages.title=e.messages.header,this.cachedData=e,LJAppWidget_RequestShareApp.superClass.contentLoaded.call(this,e),this.friends={};for(var t=0;t<e.friends.length;++t)this.friends[e.friends[t].display_name]=e.friends[t];e.messages.isEmptyList=0===e.friends.length,this.setupFirstStage(e)}})}(jQuery,window),function(e){LJAppWidget_RequestPayment=new Class(LJAppWidget,{init:function(e){e.templateID="ljappippu_payment",e.widgetName="payments",this.payment=e.payment,this.balance=0,this.paymentMade=!1,this.onSubmitPayment=e.onSubmitPayment||null,"stoken"in this.payment&&delete this.payment.stoken,LJAppWidget_RequestPayment.superClass.init.apply(this,arguments)},bindControls:function(){var t=this;jQuery(this.getWidget()).delegate(".ljappippu_payment_ok","click",function(){t.onSubmitPayment&&t.onSubmitPayment(+new Date);var n=e.extend({},t.reqParams,{payment:gadgets.json.stringify(t.payment)});t.submitData("pay",n)}).delegate(".ljappippu_payment_reject","click",function(){t.cancel()}).delegate(".ljappippu_payment_add","click",function(){var e=window.open(Site.siteroot+"/shop/tokens.bml");t.checkIfClosed(e)}),LJAppWidget_RequestPayment.superClass.bindControls.apply(this)},checkIfClosed:function(e){var t=this,n=!1;try{n=e.closed}catch(i){n=!0}n?this.refreshDialog():setTimeout(function(){t.checkIfClosed(e)},100)},refreshDialog:function(){this.loadContent("balance")},loadContent:function(e){this.isCorrectPayment()?(this.paymentMade=!1,LJAppWidget_RequestPayment.superClass.loadContent.call(this,e)):(gadgets.log("malformed payment"),this.onReturn("MALFORMED_REQUEST"))},contentLoaded:function(t){t=t||{},this.balance=parseInt(t.balance,10),e.extend(t,{balance:this.balance,payment:this.payment}),LJAppWidget_RequestPayment.superClass.contentLoaded.call(this,t)},onData:function(e){var t=jQuery("#ljappippu_payment_result").tmpl({hasErrors:"OK"!==e.responseCode,isDelivered:"delivered"===e.state}),n=this.getWidget();if(jQuery(n).find(".ljappippu_inner").empty().append(t),this.ippu.center(),this.paymentMade=!0,"OK"===e.responseCode){var i=this;setTimeout(function(){i.close()},3e3)}this.onReturn("OK",e,!1)},isCorrectPayment:function(){if(!("amount"in this.payment))return!1;for(var e=this.payment.amount,t=0;t<this.payment.items.length;++t)e-=this.payment.items[t].count*this.payment.items[t].price;return 0===Math.floor(e)},cancel:function(){this.paymentMade||this.onReturn("USER_CANCELLED",null,!0)}})}(jQuery,window),function(){LJAppWidget_RequestPaymentRecords=new Class(LJAppWidget,{init:function(e){e.templateID="ljappippu_payment_records",e.widgetName="payments",LJAppWidget_RequestPaymentRecords.superClass.init.apply(this,arguments)},contentLoaded:function(e){if(e.payments)for(var t=0;t<e.payments.length;++t)e.payments[t].orderedTimeStr=new Date(e.payments[t].orderedTime).toLocaleString();LJAppWidget_RequestPaymentRecords.superClass.contentLoaded.apply(this,arguments)}})}(jQuery,window),LJAppWidget_RequestCreatePost=new Class(LJAppWidget,{init:function(e,t){e.templateID="ljappippu_post_event",e.widgetName="post_event",this.post=this._parsePost(e.post);var n=this.post.journal;n&&(t.journal=n),LJAppWidget_RequestCreatePost.superClass.init.apply(this,arguments)},bindControls:function(){var e=this;jQuery(this.getWidget()).find("input.ljappippu_createpost_ok").click(function(){var t=jQuery.extend({},e.reqParams,e.post);t.also_my_journal=jQuery(".ljappippu_event_alsoinmy").prop("checked")?"1":"0",e.submitData("post",t)}),LJAppWidget_RequestCreatePost.superClass.bindControls.apply(this)},onData:function(e){this.onReturn("OK",e,!0)},refreshDialog:function(){this.loadContent("preview")},contentLoaded:function(e){e=jQuery.extend({},e,this.post),LJAppWidget_RequestCreatePost.superClass.contentLoaded.call(this,e)},_parsePost:function(e){var t=e.tags;return t=t&&t.join(", ")||"",{journal:e.journal||"",subject:e.subject||"",event:e.body||"",taglist:t}}}),LJAppWidget_RequestCreateComment=new Class(LJAppWidget,{init:function(e,t){e.templateID="ljappippu_post_comment",e.widgetName="post_comment",this.comment=this._parseComment(e.comment),t=jQuery.extend({},t,this.comment),LJAppWidget_RequestCreateComment.superClass.init.apply(this,arguments)},bindControls:function(){var e=this;jQuery(this.getWidget()).find("input.ljappippu_createcomment_ok").click(function(){e.submitData("post")}),LJAppWidget_RequestCreateComment.superClass.bindControls.apply(this)},onData:function(e){this.onReturn("OK",e,!0)},refreshDialog:function(){this.loadContent("preview")},contentLoaded:function(e){e=jQuery.extend({},e,this.comment),LJAppWidget_RequestCreatePost.superClass.contentLoaded.call(this,e)},_parseComment:function(e){return{journal:e.journal||"",subject:e.subject||"",comment:e.body||"",ditemid:e.ditemid||"",dtalkid:e.dtalkid||""}}}),LJAppWidget_OpenGadget=new Class(LJAppWidget,{init:function(e){e.templateID="ljappippu_open_gadget",e.widgetName="open_gadget",LJAppWidget_OpenGadget.superClass.init.apply(this,arguments),this.dialogId=e.dialogId},onData:function(e){this.onReturn("OK",e,!0)},close:function(){LJAppWidget_OpenGadget.superClass.close.apply(this,arguments)},cancel:function(){shindig.container.gadgetService.close(this.dialogId)},contentLoaded:function(e){LJAppWidget_OpenGadget.superClass.contentLoaded.apply(this,arguments);var t=this._iframe=jQuery(e.element),n=jQuery(this.getWidget());this.frameId=t.prop("id"),n.append(t),this.setHeight(),shindig.container.createGadget(t,"popup",this),t=shindig.container.gadgetService.getGadgetIdFromModuleId(t.prop("id")),n=shindig.container.getGadget(t),n.dialog_id=this.dialogId,n.frame_id=t},setHeight:function(e){e&&e>=300?(e=e>=300?e:300,this._iframe.height(e),e=e):e=this._iframe.height();var t=100,n=this._iframe.width();jQuery(this.getWidget());var i=jQuery(window).height();t=100,e>i-t&&this._iframe.height(i-t),this.ippu.setDimensions(n,"auto"),this.ippu.center()},setWidth:function(){},setTitle:function(e){this.ippu.setTitle(e)},refreshDialog:function(){this.loadContent("preview")}});var opensocial=opensocial||{};opensocial.requestShareApp=function(e,t,n,i){opensocial.Container.get().requestShareApp(e,t,n,i)},opensocial.hasPermission=function(e){return opensocial.Container.get().hasPermission(e)},opensocial.requestPermission=function(e,t,n){opensocial.Container.get().requestPermission(e,t,n)},opensocial.EscapeType={HTML_ESCAPE:"htmlEscape",NONE:"none"},Function.prototype.inherits=function(e){function t(){}this.superClass_=t.prototype=e.prototype,this.prototype=new t,this.prototype.constructor=this},opensocial.Container=function(){},opensocial.Container.container_=null,opensocial.Container.setContainer=function(e){opensocial.Container.container_=e},opensocial.Container.get=function(){return opensocial.Container.container_},opensocial.Container.prototype.requestShareApp=function(e,t,n){n&&window.setTimeout(function(){n(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)},opensocial.Container.prototype.hasPermission=function(){return!1},opensocial.Container.prototype.requestPermission=function(e,t,n){n&&window.setTimeout(function(){n(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)},opensocial.Container.isArray=function(e){return e instanceof Array},opensocial.Container.getField=function(e,t,n){return opensocial.Container.escape(e[t],n,!1)},opensocial.Container.escape=function(e,t,n){return t&&t[opensocial.DataRequest.DataRequestFields.ESCAPE_TYPE]==opensocial.EscapeType.NONE?e:gadgets.util.escape(e,n)},opensocial.ResponseItem=function(e,t,n,i){this.originalDataRequest_=e,this.data_=t,this.errorCode_=n,this.errorMessage_=i},opensocial.ResponseItem.prototype.hadError=function(){return!!this.errorCode_},opensocial.ResponseItem.Error={NOT_IMPLEMENTED:"notImplemented",UNAUTHORIZED:"unauthorized",FORBIDDEN:"forbidden",BAD_REQUEST:"badRequest",INTERNAL_ERROR:"internalError",LIMIT_EXCEEDED:"limitExceeded",CANCELED:"canceled"},opensocial.ResponseItem.prototype.getErrorCode=function(){return this.errorCode_},opensocial.ResponseItem.prototype.getErrorMessage=function(){return this.errorMessage_},opensocial.ResponseItem.prototype.getOriginalDataRequest=function(){return this.originalDataRequest_},opensocial.ResponseItem.prototype.getData=function(){return this.data_},opensocial.BillingItem=function(e){this.fields_=e||{},this.fields_[opensocial.BillingItem.Field.COUNT]=this.fields_[opensocial.BillingItem.Field.COUNT]||1},opensocial.BillingItem.Field={SKU_ID:"skuId",PRICE:"price",COUNT:"count",DESCRIPTION:"description",IMAGE_URL:"imageUrl",IMAGE_WIDTH:"imageWidth",IMAGE_HEIGHT:"imageHeight"},opensocial.BillingItem.prototype.getField=function(e,t){return opensocial.Container.getField(this.fields_,e,t)},opensocial.BillingItem.prototype.setField=function(e,t){return this.fields_[e]=t},opensocial.Payment=function(e){this.fields_=e||{},this.fields_[opensocial.Payment.Field.PAYMENT_TYPE]=this.fields_[opensocial.Payment.Field.PAYMENT_TYPE]||opensocial.Payment.PaymentType.PAYMENT},opensocial.Payment.prototype.isPayment=function(){return this.fields_[opensocial.Payment.Field.PAYMENT_TYPE]==opensocial.Payment.PaymentType.PAYMENT},opensocial.Payment.prototype.isCredit=function(){return this.fields_[opensocial.Payment.Field.PAYMENT_TYPE]==opensocial.Payment.PaymentType.CREDIT},opensocial.Payment.prototype.isComplete=function(){return!!this.fields_[opensocial.Payment.Field.PAYMENT_COMPLETE]},opensocial.Payment.Field={SANDBOX:"sandbox",ITEMS:"items",AMOUNT:"amount",MESSAGE:"message",PARAMETERS:"parameters",PAYMENT_TYPE:"paymentType",ORDER_ID:"orderId",ORDERED_TIME:"orderedTime",SUBMITTED_TIME:"submittedTime",EXECUTED_TIME:"executedTime",RESPONSE_CODE:"responseCode",RESPONSE_MESSAGE:"responseMessage",PAYMENT_COMPLETE:"paymentComplete"},opensocial.Payment.prototype.getField=function(e,t){return opensocial.Container.getField(this.fields_,e,t)},opensocial.Payment.prototype.setField=function(e,t){return this.fields_[e]=t},opensocial.Payment.PaymentType={PAYMENT:"payment",CREDIT:"credit"},opensocial.Payment.ResponseCode={APP_LOGIC_ERROR:"appLogicError",APP_NETWORK_FAILURE:"appNetworkFailure",INSUFFICIENT_MONEY:"insufficientMoney",INVALID_TOKEN:"invalidToken",MALFORMED_REQUEST:"malformedRequest",NOT_IMPLEMENTED:"notImplemented",OK:"ok",PAYMENT_ERROR:"paymentError",PAYMENT_PROCESSOR_ALREADY_OPENED:"paymentProcessorAlreadyOpened",UNKNOWN_ERROR:"unknownError",USER_CANCELLED:"userCancelled"},opensocial.Payment.RecordsRequestFields={MAX:"max",IS_COMPLETE:"is_complete",START_TIME:"start_time",TYPE:"type"};var JsonPayment=function e(t,n){t=t||{},n||e.constructArrayObject(t,"items",JsonBillingItem),opensocial.Payment.call(this,t)};JsonPayment.inherits(opensocial.Payment),JsonPayment.prototype.toJsonObject=function(){for(var e=JsonPayment.copyFields(this.fields_),t=e.items||[],n=[],i=0;i<t.length;i++)n[i]=t[i].toJsonObject();return e.items=n,e};var JsonBillingItem=function(e){opensocial.BillingItem.call(this,e)};JsonBillingItem.inherits(opensocial.BillingItem),JsonBillingItem.prototype.toJsonObject=function(){return JsonPayment.copyFields(this.fields_)},JsonPayment.constructArrayObject=function(e,t,n){if(e=e[t])for(t=0;t<e.length;t++)e[t]=new n(e[t])},JsonPayment.copyFields=function(e){var t,n={};for(t in e)n[t]=e[t];return n},opensocial.requestPayment=function(e,t){opensocial.Container.get().requestPayment(e,t)},opensocial.requestPaymentRecords=function(e,t){opensocial.Container.get().requestPaymentRecords(e,t)},opensocial.newPayment=function(e){return opensocial.Container.get().newPayment(e)},opensocial.newBillingItem=function(e){return opensocial.Container.get().newBillingItem(e)},shindig=shindig||{},shindig.paymentprocessor=function(){function e(e){var t=null;return t={},t.frameId=e,t}function t(t,n){if(i&&(n.responseCode="PAYMENT_PROCESSOR_ALREADY_OPENED"),(!n.amount||n.amount<=0)&&(n.responseCode="MALFORMED_REQUEST"),a.paymentOpen||(n.responseCode="NOT_IMPLEMENTED"),r=e(this.f),"stoken"in n&&(r.stoken=n.stoken),null==r&&(n.responseCode="NOT_IMPLEMENTED"),n.responseCode&&"OK"!=n.responseCode)try{gadgets.rpc.call(this.f,"shindig.requestPayment_callback",null,t,n)}finally{return}i=!0,n.orderedTime=(new Date).getTime(),n.message=gadgets.util.escapeString(n.message),r.callbackId=t,r.payment=n,a.paymentOpen()}function n(t,n){var s={payments:{}};if(i&&(s.responseCode="PAYMENT_PROCESSOR_ALREADY_OPENED"),a.paymentRecordsOpen||(s.responseCode="NOT_IMPLEMENTED"),s.responseCode&&"OK"!=s.responseCode)try{gadgets.rpc.call(this.f,"shindig.requestPaymentRecords_callback",null,t,s)}finally{return}i=!0,r=e(this.f),r.callbackId=t,r.records=s,r.reqParams=n,a.paymentRecordsOpen()}var i=!1,r=null,a={};return{initPayment:function(e,n){a.paymentOpen=e,a.paymentClose=n,gadgets.rpc.register("shindig.requestPayment",t)},initPaymentRecords:function(e,t){a.paymentRecordsOpen=e,a.paymentRecordsClose=t,gadgets.rpc.register("shindig.requestPaymentRecords",n)},openPayment:t,closePayment:function(){if(i){a.paymentClose&&a.paymentClose();try{gadgets.rpc.call(r.frameId,"shindig.requestPayment_callback",null,r.callbackId,r.payment)}catch(e){}finally{i=!1,r=null}}},openPaymentRecords:n,closePaymentRecords:function(){if(i){a.paymentRecordsClose&&a.paymentRecordsClose();try{gadgets.rpc.call(r.frameId,"shindig.requestPaymentRecords_callback",null,r.callbackId,r.records)}finally{i=!1,r=null}}},getParam:function(e){if(!e)return null;var t=null;try{var n=e.split(".");if(n.length>0){e=r;for(var i=0;i<n.length;i++)e=e[n[i]];t=e}}catch(a){t=null}return t},setParam:function(e,t){if(e){var n=e.split(".");if(n.length>1){for(var i=r,a=0;a<n.length-1;a++)i=i[n[a]];i[n[n.length-1]]=t}}}}}();var paymentProcessor=function(){function e(){var e=r.getParam("frameId");return e=shindig.container.gadgetService.getGadgetIdFromModuleId(e),shindig.container.getGadget(e)}function t(){var t=r.getParam("payment.stoken"),i=e();r.setParam("payment.stoken",null),a=new LJAppWidget_RequestPayment({title:paymentProcessor.requestPaymentTitle,finishCallback:n,payment:r.getParam("payment"),onSubmitPayment:function(e){r.setParam("payment.submittedTime",e)},authToken:i.auth_token},{app_id:i.app_id,st:t}),a.loadContent("balance")}function n(e){var t=e.responseCode||e.status;r.setParam("payment.responseCode",t),r.setParam("payment.responseMessage",e.responseMessage),"OK"==t&&(r.setParam("payment.paymentComplete","delivered"===e.state),r.setParam("payment.executedTime",e.executedTime),r.setParam("payment.orderId",e.orderId),LiveJournal.run_hook("update_wallet_balance")),r.closePayment()}function i(){var t=r.getParam("reqParams.stoken"),n=e();r.setParam("reqParams.stoken",null),a=new LJAppWidget_RequestPaymentRecords({title:paymentProcessor.requestPaymentRecordsTitle,finishCallback:function(){r.closePaymentRecords()},authToken:n.auth_token},{app_id:n.app_id,st:t,payment:gadgets.json.stringify(r.getParam("reqParams.payment")),type:r.getParam("reqParams.type"),max:r.getParam("reqParams.max"),start_time:r.getParam("reqParams.start_time"),is_complete:r.getParam("reqParams.is_complete")}),a.loadContent("history")}var r,a;return{init:function(){r=shindig.paymentprocessor,r.initPayment(t),r.initPaymentRecords(i)}}}();if(paymentProcessor.init(),function(){osapi.newBatch=function(e){var t={},n=[],i=e||null,r=function(e){var t={method:e.request.method,id:e.key};return e.request.rpc&&(t.params=e.request.rpc),t};return t.execute=function(e){for(var t={},a={},s=0,o=[],d=0;d<n.length;d++){var g=n[d].request.transport;a[g.name]||(o.push(g),s++),a[g.name]=a[g.name]||[],a[g.name].push(r(n[d]))}for(d=function(i){i.error&&(t.error=i.error);for(var r=0;r<n.length;r++){var a=n[r].key,o=i[a];o&&(t[a]=o.error?o:o.data||o.result)}s--,0===s&&e(t)},g=0;g<o.length;g++)o[g].execute(a[o[g].name],d,i);0==s&&window.setTimeout(function(){e(t)},0)},t.add=function(e,i){return i&&e&&n.push({key:e,request:i}),t},t}}(),osapi._registerMethod=function(e,t){if("newBatch"!==e){for(var n=e.split("."),i=osapi,r=0;r<n.length-1;r++)i[n[r]]=i[n[r]]||{},i=i[n[r]];var a,s=n[n.length-1];i[s]&&(a=i[s]),i[s]=function(n,i,r){return n=n||{},n.userId=n.userId||"@viewer",n.groupId=n.groupId||"@self",osapi.container?(n=new osapi._BoundCall(e,t,n,r),void n.execute(i)):n=new osapi._BoundCall(e,t,n)},"undefined"!=typeof tamings___&&(n=function(){caja___.markTameAsFunction(i[s],e)},a&&a.__taming_index?(i[s].__taming_index=a.__taming_index,tamings___[a.__taming_index]=n):(i[s].__taming_index=tamings___.length,tamings___.push(n)))}},osapi._BoundCall=function(e,t,n,i){this.method=e,this.transport=t,this.rpc=n,this.token=i},osapi._BoundCall.prototype.execute=function(e){var t="undefined"!=typeof caja___&&caja___.getUseless&&caja___.getUseless(),n=t?caja___.getUseless():this,i=t?caja___.untame(e):e;e=osapi.newBatch(this.token),e.add(this.method,this),e.execute(function(e){e.error?i.call(n,e.error):i.call(n,e[n.method])})},function(){function e(e,t,i){e={POST_DATA:gadgets.json.stringify(e),CONTENT_TYPE:"JSON",METHOD:"POST",AUTHORIZATION:"SIGNED"};var r={"Content-Type":"application/json"},a=this.name;i&&(n?r.Authorization="OAuth2 "+i:(a+="?st=",a+=encodeURIComponent(i))),gadgets.io.makeNonProxiedRequest(a,function(e){if(e.errors[0])t({error:{code:e.rc,message:e.text}});else if(e=e.result||e.data,e.error)t(e);else{for(var n={},i=0;i<e.length;i++)n[e[i].id]=e[i];t(n)}},e,r)}function t(t){var i=t["osapi.services"];if(n=t["osapi.useOAuth2"],i)for(var r in i)if(i.hasOwnProperty(r)&&(0==r.indexOf("http")||0==r.indexOf("//"))){t={name:r.replace("%host%",document.location.host),execute:e};for(var a=i[r],s=0;s<a.length;s++)osapi._registerMethod(a[s],t)}}var n;gadgets.config&&gadgets.config.register("osapi.services",null,t)}(),shindig.errors={},shindig.errors.SUBCLASS_RESPONSIBILITY="subclass responsibility",shindig.errors.TO_BE_DONE="to be done",shindig.callAsyncAndJoin=function(e,t,n){for(var i=e.length,r=[],a=0;a<e.length;a++)!function(a){var s=e[a];"string"==typeof s&&(s=n[s]),s.call(n,function(e){r[a]=e,0===--i&&t(r)})}(a)},shindig.Extensible=function(){},shindig.Extensible.prototype.setDependencies=function(e){for(var t in e)this[t]=e[t]},shindig.Extensible.prototype.getDependencies=function(e){return this[e]},shindig.UserPrefStore=function(){},shindig.UserPrefStore.prototype.getPrefs=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.UserPrefStore.prototype.savePrefs=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.DefaultUserPrefStore=function(){shindig.UserPrefStore.call(this)},shindig.DefaultUserPrefStore.inherits(shindig.UserPrefStore),shindig.DefaultUserPrefStore.prototype.getPrefs=function(){},shindig.DefaultUserPrefStore.prototype.savePrefs=function(){},shindig.GadgetService=function(){},shindig.GadgetService.prototype.setHeight=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.GadgetService.prototype.setTitle=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.GadgetService.prototype.setUserPref=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.IfrGadgetService=function(){shindig.GadgetService.call(this),gadgets.rpc.register("resize_iframe",this.setHeight),gadgets.rpc.register("set_pref",this.setUserPref),gadgets.rpc.register("set_title",this.setTitle),gadgets.rpc.register("requestNavigateTo",this.requestNavigateTo),gadgets.rpc.register("requestSendMessage",this.requestSendMessage)},shindig.IfrGadgetService.inherits(shindig.GadgetService),shindig.IfrGadgetService.prototype.setHeight=function(e){e>shindig.container.maxheight_&&(e=shindig.container.maxheight_);var t=document.getElementById(this.f);t&&(t.style.height=e+"px")},shindig.IfrGadgetService.prototype.setTitle=function(e){var t=document.getElementById(this.f+"_title");t&&(t.innerHTML=e.replace(/&/g,"&amp;").replace(/</g,"&lt;"))},shindig.IfrGadgetService.prototype.setUserPref=function(){var e=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);e=shindig.container.getGadget(e);for(var t=1,n=arguments.length;n>t;t+=2)this.userPrefs[arguments[t]].value=arguments[t+1];e.saveUserPrefs()},shindig.IfrGadgetService.prototype.requestSendMessage=function(e,t,n){n&&window.setTimeout(function(){n(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)},shindig.IfrGadgetService.prototype.requestNavigateTo=function(e,t){shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);var n=shindig.container.gadgetService.getUrlForView(e);if(t){var i=gadgets.json.stringify(t);i.length>0&&(n+="&appParams="+encodeURIComponent(i))}n&&-1==document.location.href.indexOf(n)&&(document.location.href=n)},shindig.IfrGadgetService.prototype.getUrlForView=function(e){return"canvas"===e?"/canvas":"profile"===e?"/profile":null},shindig.IfrGadgetService.prototype.getGadgetIdFromModuleId=function(e){return parseInt(e.match(/_([0-9]+)$/)[1],10)},shindig.LayoutManager=function(){},shindig.LayoutManager.prototype.getGadgetChrome=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.StaticLayoutManager=function(){shindig.LayoutManager.call(this)},shindig.StaticLayoutManager.inherits(shindig.LayoutManager),shindig.StaticLayoutManager.prototype.setGadgetChromeIds=function(e){this.gadgetChromeIds_=e},shindig.StaticLayoutManager.prototype.getGadgetChrome=function(e){return(e=this.gadgetChromeIds_[e.id])?document.getElementById(e):null},shindig.FloatLeftLayoutManager=function(e){shindig.LayoutManager.call(this),this.layoutRootId_=e},shindig.FloatLeftLayoutManager.inherits(shindig.LayoutManager),shindig.FloatLeftLayoutManager.prototype.getGadgetChrome=function(){var e=document.getElementById(this.layoutRootId_);if(e){var t=document.createElement("div");return t.className="gadgets-gadget-chrome",t.style.cssFloat="left",e.appendChild(t),t}return null},shindig.Gadget=function(e){if(this.userPrefs={},e)for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);this.secureToken||(this.secureToken="john.doe:john.doe:appid:cont:url:0:default")},shindig.Gadget.prototype.setServerBase=function(e){this.serverBase_=e},shindig.Gadget.prototype.getServerBase=function(){return this.serverBase_},shindig.Gadget.prototype.getUserPrefs=function(){return this.userPrefs},shindig.Gadget.prototype.saveUserPrefs=function(){shindig.container.userPrefStore.savePrefs(this)},shindig.Gadget.prototype.getUserPrefValue=function(e){return e=this.userPrefs[e],"undefined"!=typeof e.value&&null!=e.value?e.value:e["default"]},shindig.Gadget.prototype.render=function(e){if(e){var t=this;this.getContent(function(n){e.innerHTML=n,t.finishRender(e)})}},shindig.Gadget.prototype.getContent=function(e){shindig.callAsyncAndJoin(["getTitleBarContent","getUserPrefsDialogContent","getMainContent"],function(t){e(t.join(""))},this)},shindig.Gadget.prototype.getTitleBarContent=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.Gadget.prototype.getUserPrefsDialogContent=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.Gadget.prototype.getMainContent=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.Gadget.prototype.finishRender=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.Gadget.prototype.getAdditionalParams=function(){return""},shindig.BaseIfrGadget=function(e){shindig.Gadget.call(this,e),this.serverBase_?this.serverBase_.indexOf("/gadgets")<0&&(this.serverBase_+="/gadgets/"):this.serverBase_="/gadgets/",this.queryIfrGadgetType_()},shindig.BaseIfrGadget.inherits(shindig.Gadget),shindig.BaseIfrGadget.prototype.GADGET_IFRAME_PREFIX_="remote_iframe_",shindig.BaseIfrGadget.prototype.CONTAINER="default",shindig.BaseIfrGadget.prototype.cssClassGadget="gadgets-gadget",shindig.BaseIfrGadget.prototype.cssClassTitleBar="gadgets-gadget-title-bar",shindig.BaseIfrGadget.prototype.cssClassTitle="gadgets-gadget-title",shindig.BaseIfrGadget.prototype.cssClassTitleButtonBar="gadgets-gadget-title-button-bar",shindig.BaseIfrGadget.prototype.cssClassGadgetUserPrefsDialog="gadgets-gadget-user-prefs-dialog",shindig.BaseIfrGadget.prototype.cssClassGadgetUserPrefsDialogActionBar="gadgets-gadget-user-prefs-dialog-action-bar",shindig.BaseIfrGadget.prototype.cssClassTitleButton="gadgets-gadget-title-button",shindig.BaseIfrGadget.prototype.cssClassGadgetContent="gadgets-gadget-content",shindig.BaseIfrGadget.prototype.rpcToken=2147483647*Math.random()|0,shindig.BaseIfrGadget.prototype.rpcRelay="../container/rpc_relay.html",shindig.BaseIfrGadget.prototype.getTitleBarContent=function(e){var t=this.hasViewablePrefs_()?'<a href="#" onclick="shindig.container.getGadget('+this.id+').handleOpenUserPrefsDialog();return false;" class="'+this.cssClassTitleButton+'">settings</a> ':"";e('<div id="'+this.cssClassTitleBar+"-"+this.id+'" class="'+this.cssClassTitleBar+'"><span id="'+this.getIframeId()+'_title" class="'+this.cssClassTitle+'">'+(this.title?this.title:"Title")+'</span> | <span class="'+this.cssClassTitleButtonBar+'">'+t+'<a href="#" onclick="shindig.container.getGadget('+this.id+').handleToggle();return false;" class="'+this.cssClassTitleButton+'">toggle</a></span></div>')},shindig.BaseIfrGadget.prototype.getUserPrefsDialogContent=function(e){e('<div id="'+this.getUserPrefsDialogId()+'" class="'+this.cssClassGadgetUserPrefsDialog+'"></div>')},shindig.BaseIfrGadget.prototype.getMainContent=function(e){var t=this;window.setTimeout(function(){t.getMainContent(e)},0)},shindig.BaseIfrGadget.prototype.getIframeId=function(){return this.GADGET_IFRAME_PREFIX_+this.id},shindig.BaseIfrGadget.prototype.getUserPrefsDialogId=function(){return this.getIframeId()+"_userPrefsDialog"},shindig.BaseIfrGadget.prototype.getUserPrefsParams=function(){var e,t="";for(e in this.getUserPrefs())t+="&up_"+encodeURIComponent(e)+"="+encodeURIComponent(this.getUserPrefValue(e));return t},shindig.BaseIfrGadget.prototype.handleToggle=function(){var e=document.getElementById(this.getIframeId());e&&(e=e.parentNode,e.style.display=e.style.display?"":"none")},shindig.BaseIfrGadget.prototype.hasViewablePrefs_=function(){for(var e in this.getUserPrefs())if("hidden"!=this.userPrefs[e].type)return!0;return!1},shindig.BaseIfrGadget.prototype.handleOpenUserPrefsDialog=function(){if(this.userPrefsDialogContentLoaded)this.showUserPrefsDialog();else{var e=this;window["ig_callback_"+this.id]=function(t){e.userPrefsDialogContentLoaded=!0,e.buildUserPrefsDialog(t),e.showUserPrefsDialog()};var t=document.createElement("script");t.src="http://www.gmodules.com/ig/gadgetsettings?mid="+this.id+"&output=js"+this.getUserPrefsParams()+"&url="+this.specUrl,document.body.appendChild(t)}},shindig.BaseIfrGadget.prototype.buildUserPrefsDialog=function(e){var t=document.getElementById(this.getUserPrefsDialogId());t.innerHTML=e+'<div class="'+this.cssClassGadgetUserPrefsDialogActionBar+'"><input type="button" value="Save" onclick="shindig.container.getGadget('+this.id+').handleSaveUserPrefs()"> <input type="button" value="Cancel" onclick="shindig.container.getGadget('+this.id+').handleCancelUserPrefs()"></div>',t.childNodes[0].style.display=""},shindig.BaseIfrGadget.prototype.showUserPrefsDialog=function(e){document.getElementById(this.getUserPrefsDialogId()).style.display=e||void 0===e?"":"none"},shindig.BaseIfrGadget.prototype.hideUserPrefsDialog=function(){this.showUserPrefsDialog(!1)},shindig.BaseIfrGadget.prototype.handleSaveUserPrefs=function(){this.hideUserPrefsDialog();for(var e=document.getElementById("m_"+this.id+"_numfields").value,t=0;e>t;t++){var n=document.getElementById("m_"+this.id+"_"+t);this.userPrefs[n.name.substring(("m_"+this.id+"_up_").length)].value=n.value}this.saveUserPrefs(),this.refresh()},shindig.BaseIfrGadget.prototype.handleCancelUserPrefs=function(){this.hideUserPrefsDialog()},shindig.BaseIfrGadget.prototype.refresh=function(){var e=this.getIframeId();document.getElementById(e).src=this.getIframeUrl(Math.random())},shindig.BaseIfrGadget.prototype.queryIfrGadgetType_=function(){var e={CONTENT_TYPE:"JSON",METHOD:"POST",POST_DATA:gadgets.json.stringify({context:{country:"default",language:"default",view:"default",container:"default"},gadgets:[{url:this.specUrl,moduleId:1}]})};gadgets.io.makeNonProxiedRequest(this.serverBase_+"metadata?st="+this.secureToken,function(e){var n=!1;e=e.data.gadgets[0].features;for(var i=0;i<e.length;i++)if("pubsub-2"===e[i]){n=!0;break}n=n?shindig.OAAIfrGadget:shindig.IfrGadget;for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])},e,{"Content-Type":"application/javascript"});var t=this},shindig.IfrGadget={getMainContent:function(e){var t=this.getIframeId();gadgets.rpc.setRelayUrl(t,this.serverBase_+this.rpcRelay),gadgets.rpc.setAuthToken(t,this.rpcToken),e('<div class="'+this.cssClassGadgetContent+'"><iframe id="'+t+'" name="'+t+'" class="'+this.cssClassGadget+'" src="about:blank" frameborder="no" scrolling="no"'+(this.height?' height="'+this.height+'"':"")+(this.width?' width="'+this.width+'"':"")+"></iframe></div>")},finishRender:function(){window.frames[this.getIframeId()].location=this.getIframeUrl()},getIframeUrl:function(e){return this.serverBase_+"ifr?container="+this.CONTAINER+"&mid="+this.id+"&nocache="+shindig.container.nocache_+"&country="+shindig.container.country_+"&lang="+shindig.container.language_+"&view="+shindig.container.view_+(this.specVersion?"&v="+this.specVersion:"")+(shindig.container.parentUrl_?"&parent="+encodeURIComponent(shindig.container.parentUrl_):"")+(this.debug?"&debug=1":"")+this.getAdditionalParams()+this.getUserPrefsParams()+(this.secureToken?"&st="+this.secureToken:"")+"&url="+encodeURIComponent(this.specUrl)+(this.viewParams?"&view-params="+encodeURIComponent(gadgets.json.stringify(this.viewParams)):"")+(e?"&r="+e:"")+"#rpctoken="+this.rpcToken+(this.hashData?"&"+this.hashData:"")}},shindig.OAAIfrGadget={getMainContent:function(e){e('<div id="'+this.cssClassGadgetContent+"-"+this.id+'" class="'+this.cssClassGadgetContent+'"></div>')},finishRender:function(){var e={className:this.cssClassGadget,frameborder:"no",scrolling:"no"};this.height&&(e.height=this.height),this.width&&(e.width=this.width),new OpenAjax.hub.IframeContainer(gadgets.pubsub2router.hub,this.getIframeId(),{Container:{onSecurityAlert:function(e,t){gadgets.error("Security error for container "+e.getClientID()+" : "+t),
e.getIframe().src="about:blank"}},IframeContainer:{parent:document.getElementById(this.cssClassGadgetContent+"-"+this.id),uri:this.getIframeUrl(),tunnelURI:shindig.uri(this.serverBase_+this.rpcRelay).resolve(shindig.uri(window.location.href)),iframeAttrs:e}})},getIframeUrl:function(e){return this.serverBase_+"ifr?container="+this.CONTAINER+"&mid="+this.id+"&nocache="+shindig.container.nocache_+"&country="+shindig.container.country_+"&lang="+shindig.container.language_+"&view="+shindig.container.view_+(this.specVersion?"&v="+this.specVersion:"")+(this.debug?"&debug=1":"")+this.getAdditionalParams()+this.getUserPrefsParams()+(this.secureToken?"&st="+this.secureToken:"")+"&url="+encodeURIComponent(this.specUrl)+(this.viewParams?"&view-params="+encodeURIComponent(gadgets.json.stringify(this.viewParams)):"")+(e?"&r="+e:"")+(this.hashData?"#"+this.hashData:"")}},shindig.Container=function(){this.gadgets_={},this.parentUrl_="http://"+document.location.host,this.language_=this.country_="ALL",this.view_="default",this.nocache_=1,this.maxheight_=2147483647},shindig.Container.inherits(shindig.Extensible),shindig.Container.prototype.gadgetClass=shindig.Gadget,shindig.Container.prototype.userPrefStore=new shindig.DefaultUserPrefStore,shindig.Container.prototype.gadgetService=new shindig.GadgetService,shindig.Container.prototype.layoutManager=new shindig.StaticLayoutManager,shindig.Container.prototype.setParentUrl=function(e){this.parentUrl_=e},shindig.Container.prototype.setCountry=function(e){this.country_=e},shindig.Container.prototype.setNoCache=function(e){this.nocache_=e},shindig.Container.prototype.setLanguage=function(e){this.language_=e},shindig.Container.prototype.setView=function(e){this.view_=e},shindig.Container.prototype.setMaxHeight=function(e){this.maxheight_=e},shindig.Container.prototype.getGadgetKey_=function(e){return"gadget_"+e},shindig.Container.prototype.getGadget=function(e){return this.gadgets_[this.getGadgetKey_(e)]},shindig.Container.prototype.createGadget=function(e){return new this.gadgetClass(e)},shindig.Container.prototype.addGadget=function(e){e.id=this.getNextGadgetInstanceId(),this.gadgets_[this.getGadgetKey_(e.id)]=e},shindig.Container.prototype.addGadgets=function(e){for(var t=0;t<e.length;t++)this.addGadget(e[t])},shindig.Container.prototype.renderGadgets=function(){for(var e in this.gadgets_)this.renderGadget(this.gadgets_[e])},shindig.Container.prototype.renderGadget=function(){throw Error(shindig.errors.SUBCLASS_RESPONSIBILITY)},shindig.Container.prototype.nextGadgetInstanceId_=0,shindig.Container.prototype.getNextGadgetInstanceId=function(){return this.nextGadgetInstanceId_++},shindig.Container.prototype.refreshGadgets=function(){for(var e in this.gadgets_)this.gadgets_[e].refresh()},shindig.IfrContainer=function(){shindig.Container.call(this)},shindig.IfrContainer.inherits(shindig.Container),shindig.IfrContainer.prototype.gadgetClass=shindig.BaseIfrGadget,shindig.IfrContainer.prototype.gadgetService=new shindig.IfrGadgetService,shindig.IfrContainer.prototype.setParentUrl=function(e){e.match(/^http[s]?:\/\//)||(e=document.location.href.match(/^[^?#]+\//)[0]+e),this.parentUrl_=e},gadgets&&gadgets.rpc){osapi._handleGadgetRpcMethod=function(e,t){for(var n=Array(e.length),i=0,r=this.callback,a=function(e,t){t({})},s=0;s<e.length;s++){var o=osapi;if(-1==e[s].method.indexOf("_"))for(var d=e[s].method.split("."),g=0;g<d.length;g++){if(!o.hasOwnProperty(d[g])){o=a;break}o=o[d[g]]}else o=a;o(e[s].params,function(t){return function(a){n[t]={id:e[t].id,data:a},i++,i==e.length&&r(n)}}(s),t)}},osapi.container={},osapi.container.listMethods=function(e,t){var n=[];recurseNames(osapi,"",5,n),t(n)};var recurseNames=function t(e,n,i,r){if(0!=i)for(var a in e)if(e.hasOwnProperty(a)&&-1==a.indexOf("_")){var s=_typeof(e[a]);"function"==s?r.push(n+a):"object"==s&&t(e[a],n+a+".",i-1,r)}};gadgets.rpc.register("osapi._handleGadgetRpcMethod",osapi._handleGadgetRpcMethod)}!function(e){return e}(),osapi.container={},osapi.container.MetadataParam={LOCAL_EXPIRE_TIME:"localExpireTimeMs",URL:"url"},osapi.container.MetadataResponse={IFRAME_URL:"iframeUrl",NEEDS_TOKEN_REFRESH:"needsTokenRefresh",VIEWS:"views",EXPIRE_TIME_MS:"expireTimeMs",FEATURES:"features",HEIGHT:"height",MODULE_PREFS:"modulePrefs",PREFERRED_HEIGHT:"preferredHeight",PREFERRED_WIDTH:"preferredWidth",RESPONSE_TIME_MS:"responseTimeMs",WIDTH:"width"},osapi.container.TokenResponse={TOKEN:"token"},osapi.container.NavigateTiming={URL:"url",ID:"id",START:"start",XRT:"xrt",SRT:"srt",DL:"dl",OL:"ol",PRT:"prt"},osapi.container.RenderParam={ALLOW_DEFAULT_VIEW:"allowDefaultView",CAJOLE:"cajole",CLASS:"class",DEBUG:"debug",HEIGHT:"height",NO_CACHE:"nocache",TEST_MODE:"testmode",USER_PREFS:"userPrefs",VIEW:"view",WIDTH:"width"},osapi.container.ViewParam={VIEW:"view"},osapi.container.CallbackType={ON_PRELOADED:"onPreloaded",ON_NAVIGATED:"onNavigated",ON_CLOSED:"onClosed",ON_UNLOADED:"onUnloaded",ON_RENDER:"onRender"},osapi.container.util={},osapi.container.util.getSafeJsonValue=function(e,t,n){return void 0!=e[t]&&null!=e[t]?e[t]:n},osapi.container.util.mergeJsons=function(e,t){var n,i={};for(n in e)i[n]=e[n];for(n in t)i[n]=t[n];return i},osapi.container.util.newMetadataRequest=function(e){return osapi.container.util.isArray(e)||(e=[e]),{container:window.__CONTAINER,ids:e,fields:["iframeUrl","modulePrefs.*","needsTokenRefresh","userPrefs.*","views.preferredHeight","views.preferredWidth","expireTimeMs","responseTimeMs","rpcServiceIds"]}},osapi.container.util.newTokenRequest=function(e){return osapi.container.util.isArray(e)||(e=[e]),{container:window.__CONTAINER,ids:e,fields:["token"]}},osapi.container.util.toArrayOfJsonKeys=function(e){var t,n=[];for(t in e)n.push(t);return n},osapi.container.util.isArray=function(e){return"[object Array]"==Object.prototype.toString.call(e)},osapi.container.util.isEmptyJson=function(e){for(var t in e)return!1;return!0},osapi.container.util.warn=function(e){console&&console.warn&&console.warn(e)},osapi.container.util.getCurrentTimeMs=function(){return(new Date).getTime()},osapi.container.util.createIframeHtml=function(e){var t=[];t.push("<iframe ");for(var n in e){var i=e[n];i&&(t.push(n),t.push('="'),t.push(i),t.push('" '))}return t.push("></iframe>"),t.join("")},osapi.container.Service=function(e){e=this.config_=e||{},this.registerOsapiServices(),this.onConstructed(e)},osapi.container.Service.prototype.onConstructed=function(){},osapi.container.Service.prototype.registerOsapiServices=function(){gadgets.config.init({rpc:{parentRelayUrl:""},views:gadgets.config.views,"osapi.services":{"http://%host%/__api_endpoint/os/1.0/rpc":["people.get","people.getViewer","people.getViewerFriends","people.getOwner","people.getOwnerFriends"]}})},osapi.container.Container=function(e){e=this.config_=e||{},this.service_=new osapi.container.Service(e),this.initializeMixins_(),this.onConstructed(e)},osapi.container.Container.prototype.onConstructed=function(){},osapi.container.Container.addMixin=function(e,t){osapi.container.Container.prototype.mixins_[e]=t},osapi.container.Container.prototype.mixins_={},osapi.container.Container.prototype.initializeMixins_=function(){for(var e in this.mixins_)this[e]=new this.mixins_[e](this)},shindig.LJIfrGadgetService=function(){shindig.IfrGadgetService.call(this),this.bindRpcMethods()},shindig.LJIfrGadgetService.inherits(shindig.IfrGadgetService),function(){var e={};shindig.LJIfrGadgetService.registerRpcMethod=function(t,n){var i;1===arguments.length?i=t:(i={},i[t]=n);for(var r in i)i.hasOwnProperty(r)&&(e[r]=i[r])},shindig.LJIfrGadgetService.prototype.bindRpcMethods=function(){for(var t in e)e.hasOwnProperty(t)&&gadgets.rpc.register(t,this[e[t]])}}(),shindig.LJIfrGadgetService.registerRpcMethod({resize_iframe:"setHeight",set_title:"setTitle",requestNavigateTo:"requestNavigateTo","shindig.requestPermission":"requestPermission","shindig.requestShareApp":"requestShareApp","shindig.refreshSecurityToken":"refreshSecurityToken",set_pref:"setUserPref",requestSendMessage:"requestSendMessage"}),shindig.LJIfrGadgetService.prototype.setHeight=function(e){var t=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);shindig.container.getGadget(t).setHeight(e)},shindig.LJIfrGadgetService.prototype.setTitle=function(e){var t=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);shindig.container.getGadget(t).setTitle(e)},shindig.LJIfrGadgetService.prototype.requestNavigateTo=function(e,t,n){var i=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);i=shindig.container.getGadget(i);var r=gadgets.views.getSupportedViews();if(n=n||i.owner_name,jQuery("#"+this.f),e=e.toUpperCase(),!r.hasOwnProperty(e)||-1===jQuery.inArray(e,i.available_views))return null;e=shindig.container._getUrlForView(e,i,n,t),t=t||{},t.app_id=i.app_id;for(var a in t)t.hasOwnProperty(a)&&!t[a]&&delete t[a];t=gadgets.json.stringify(t),a=(a=/#(.+)$/.exec(e))&&a[0]||"",e=e.replace(a,""),t.length>0&&(e+=(-1===e.indexOf("?")?"?":"&")+"appParams="+encodeURIComponent(t)),e+=a,e&&(document.location.href=e)},shindig.LJIfrGadgetService.prototype.requestPermission=function(e,t,n,i){var r=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);r=shindig.container.getGadget(r);var a=r.app_id,s=this.f;new LJAppWidget_RequestPermission({title:"Ask Permission",finishCallback:function(t){"ERROR"==t.status?gadgets.rpc.call(s,"shindig.requestPermission_callback",null,e,t.code,t.message):gadgets.rpc.call(s,"shindig.requestPermission_callback",null,e,0,"",t.permissions)},authToken:r.auth_token},{reason:n||"",permissions:t.join(","),app_id:a,st:i}).loadContent()},shindig.LJIfrGadgetService.prototype.requestShareApp=function(e,t,n,i){var r=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);r=shindig.container.getGadget(r);var a=r.app_id,s=this.f;new LJAppWidget_RequestShareApp({title:"Ask Share App",finishCallback:function(t){gadgets.rpc.call(s,"shindig.requestShareApp_callback",null,e,t.code,t.message,t.recipients)},authToken:r.auth_token},{extra:n||"",recipients:t.join(","),app_id:a,st:i}).loadContent()},shindig.LJIfrGadgetService.prototype.refreshSecurityToken=function(e,t){var n=this.f,i=Site.siteroot.replace(/^http:\/\/www/,"http://api")+"/st/refresh/?st="+t+"&callback=?";jQuery.getJSON(i,function(t){gadgets.rpc.call(n,"shindig.refreshSecurityToken_callback",null,e,t,t.error)})},shindig.LJIfrGadgetService.prototype.setUserPref=function(){throw Error(shindig.errors.TO_BE_DONE)},shindig.LJIfrGadgetService.prototype.requestSendMessage=function(){throw Error(shindig.errors.TO_BE_DONE)},function(){var e={},t=0;this.openGadget=function(n,i){var r=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f),a=shindig.container.getGadget(r);r=this.f;var s={app_id:a.app_id,st:n,owner_id:a.owner_id,module_id:shindig.container.getMaxModuleId(),viewer_id:Site.remoteUser};t>0?gadgets.rpc.call(this.f,"gadgets.views.openGadget.result_callback",null,"already_opened"):r in e||(i.view&&(s.view=i.view),i.viewParams&&(s.params=i.viewParams),a=new LJAppWidget_OpenGadget({dialogId:r,authToken:a.auth_token},s),a.loadContent(),e[r]={widget:a,opener_id:this.f,returnValue:null},t++,gadgets.rpc.call(this.f,"gadgets.views.openGadget.navigate_callback",null,r))},this.close=function(n){var i;if(!n){if(n=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f),n=shindig.container.getGadget(n),!n||!n.dialog_id)return;n=n.dialog_id,i=this.f}var r=e[n];r&&(i||r.opener_id===n)&&(r.widget.close(),i=i||r.widget.frameId,shindig.container.removeGadgetByFrameId(i),gadgets.rpc.call(r.opener_id,"gadgets.views.openGadget.result_callback",null,r.returnValue),delete e[n],t--)},this.setReturnValue=function(t){var n=shindig.container.gadgetService.getGadgetIdFromModuleId(this.f);(n=shindig.container.getGadget(n).dialog_id)&&e[n]&&(e[n].returnValue=t)},shindig.LJIfrGadgetService.registerRpcMethod({"gadgets.views.openGadget":"openGadget","gadgets.views.close":"close","gadgets.views.setReturnValue":"setReturnValue"})}.apply(shindig.LJIfrGadgetService.prototype),function(){gadgets=gadgets||{},gadgets.config=gadgets.config||{},gadgets.config.views={CANVAS:{isOnlyVisible:!0,urlTemplate:"http://{APP_SUBDOMAIN}.{DOMAIN}/{APP_KEY}"},SETTINGS:{urlTemplate:"{SITEROOT}/manage/settings/?cat=userapps&appid={APP_ID}"},ABOUT:{urlTemplate:"{SITEROOT}/games/#app_{APP_ID}"},INSTALL:{urlTemplate:"{SITEROOT}/games/install.bml?id={APP_ID}&act=install"},HOME:{urlTemplate:"{SITEROOT}#app_{APP_ID}"},COMMUNITY:{urlTemplate:"http://{COMMUNITY_NAME}.{DOMAIN}"},"COMMUNITY.PROFILE":{urlTemplate:"http://{COMMUNITY_NAME}.{DOMAIN}/profile"},"COMMUNITY.ENTRY":{urlTemplate:"http://{COMMUNITY_NAME}.{DOMAIN}/{DITEMID}.html"},PROFILE:{urlTemplate:"http://{OWNER_NAME}.{DOMAIN}/profile"},JOURNAL:{urlTemplate:"http://{OWNER_NAME}.{DOMAIN}"},"JOURNAL.ENTRY":{urlTemplate:"http://{OWNER_NAME}.{DOMAIN}/{DITEMID}.html"},"JOURNAL.FRIENDS":{urlTemplate:"http://{OWNER_NAME}.{DOMAIN}/friends"},"EMBEDDED.ENTRY":{urlTemplate:"http://{JOURNAL_NAME}.{DOMAIN}/{DITEMID}.html"},"EMBEDDED.COMMENT":{urlTemplate:"http://{JOURNAL_NAME}.{DOMAIN}/{DITEMID}.html?thread={DTALKID}#t{DTALKID}"},"EMBEDDED.MESSAGE":{urlTemplate:"{SITEROOT}/inbox/"},"EMBEDDED.ACTIVITY":{urlTemplate:"{SITEROOT}/games/info.bml?user={OWNER_NAME}"}}}(),shindig.LJGadget=function(e,t){if(this.id=shindig.container.gadgetService.getGadgetIdFromModuleId(e),this.gadgetId=e,t)for(var n in t)t.hasOwnProperty(n)&&(this[n]=t[n])},shindig.LJGadget.inherits(shindig.Extensible),shindig.LJGadget.prototype.setHeight=function(e){var t=jQuery("#"+this.gadgetId);e>shindig.container.maxheight_&&(e=shindig.container.maxheight_),t.length>0&&t.height(e)},shindig.LJGadget.prototype.setTitle=function(e){var t=jQuery(".b-catalogue-app h1");t.length>0&&t.text(e.replace(/&/g,"&amp;").replace(/</g,"&lt;"))},shindig.LJPopupGadget=function(e,t,n){shindig.LJGadget.call(this,e,n),this.widget_=t},shindig.LJPopupGadget.inherits(shindig.LJGadget),shindig.LJPopupGadget.prototype.setHeight=function(e){this.widget_.setHeight(e)},shindig.LJPopupGadget.prototype.setTitle=function(e){this.widget_.setTitle(e)},shindig.LJIfrGadgetContainer=function(){shindig.IfrContainer.call(this)},shindig.LJIfrGadgetContainer.inherits(shindig.IfrContainer),shindig.LJIfrGadgetContainer.prototype.gadgetClass=shindig.LJGadget,shindig.LJIfrGadgetContainer.prototype.gadgetService=new shindig.LJIfrGadgetService,shindig.LJIfrGadgetContainer.prototype._getUrlForView=function(e,t,n,i){t={APP_ID:t.app_id,SITEROOT:Site.siteroot,DOMAIN:Site.siteroot.replace(/http:\/\/www\./g,""),APP_KEY:t.key,APP_SUBDOMAIN:t.app_domain,COMMUNITY_NAME:t.community_name,OWNER_NAME:n},n=gadgets.views.getSupportedViews()[e].getUrlTemplate(),i=i||{};for(var r in i)e=r.toUpperCase(),t.hasOwnProperty(e)||(t[e.toUpperCase()]=i[r]);return gadgets.views.bind(n,t)},shindig.LJIfrGadgetContainer.prototype._getViewFromString=function(e){return-1==e.indexOf(".")?{surface:e}:(e=e.split("."),{surface:e[0],secondary:e[1]})},shindig.LJIfrGadgetContainer.prototype.addGadget=function(e){e.id||(e.id=this.getNextGadgetInstanceId()),this.gadgets_[this.getGadgetKey_(e.id)]=e},shindig.LJIfrGadgetContainer.prototype.removeGadget=function(e){e=this.getGadgetKey_(e),e in this.gadgets_&&delete this.gadgets_[e]},shindig.LJIfrGadgetContainer.prototype.removeGadgetByFrameId=function(e){this.removeGadget(shindig.container.gadgetService.getGadgetIdFromModuleId(e))},shindig.LJIfrGadgetContainer.prototype.getMaxModuleId=function(){var e,t=0;for(e in this.gadgets_)this.gadgets_.hasOwnProperty(e)&&(t=Math.max(t,+this.gadgets_[e].module_id));return t},shindig.LJIfrGadgetContainer.prototype.findGadgets=function(){var e=this;jQuery("iframe.ljapp").filter(function(){if(!this.id)return!1;var e=shindig.container.gadgetService.getGadgetIdFromModuleId(this.id);return!shindig.container.getGadget(e)}).each(function(){e.createGadget(this)})},shindig.LJIfrGadgetContainer.prototype.createGadget=function(e,t){var n=jQuery(e);if(1===n.length){var i=gadgets.json.parse(decodeURIComponent(n.attr("data-view"))),r=n.prop("id");n=n.prop("src");var a=shindig.container.gadgetService.getGadgetIdFromModuleId(r);if(a=shindig.container.getGadget(a),!a){if(t&&"popup"===t){if(arguments.length<3)throw Error("widget must be passed to the LJPopupGadget constructor");a=new shindig.LJPopupGadget(r,arguments[2],i)}else a=new shindig.LJGadget(r,i);shindig.container.addGadget(a),gadgets.rpc.setupReceiver(r,n)}}},shindig.container=new shindig.LJIfrGadgetContainer;var commonContainer=new osapi.container.Container({});LiveJournal.register_hook("page_load",function(){shindig.container.findGadgets()});
/* <<< file end: js/apps/appcontainer.js */
//# map link was there [appcontainer.js.map]
/* >>> file start: js/jquery/jquery.lj.journalPromoStrip.js */
!function(o,e){"use strict";o.widget("lj.journalPromoStrip",o.lj.basicWidget,{options:{selectors:{popupInfo:".journalpromo-popup-content-info",popupDelete:".journalpromo-popup-content-delete",button:"#journalpromo-popup-btn",iconClose:".b-journalpromo-actions-close",options:".b-journalpromo-header-options",promoItem:".b-journalpromo-item",iconDelete:".b-journalpromo-actions-delete",info:".journalpromo-popup-info-action",spinner:".journalpromo-popup-spinner",error:".journalpromo-popup-info-error",errorContent:".journalpromo-popup-info-error-content",ban:"#journalpromo-user-ban"},classNames:{iconInfo:".journalpromo-info-icon",iconDelete:".b-journalpromo-actions-delete",noPromo:"b-journalpromo-item-nopromotion"},template:"<dt><a href='{rules_link}'>{subject}</a> {ljuser}</dt><dd>{body}</dd>"},_create:function(){var e=this;o.lj.basicWidget.prototype._create.apply(this),this._el("spinner"),this._el("info"),this._el("button"),this._el("iconClose"),this._el("error"),e._el("promoItem"),this._el("iconDelete"),this._el("popupDelete"),this._el("errorContent"),this._el("iconDelete")[0]&&(this._deleteBubble=this._popupDelete.bubble({target:this._cl("iconDelete"),showOn:"click"})),this._el("popupInfo").bubble({target:this._cl("iconInfo"),showOn:"hover",closeControl:!1,closeControlHandlersEnabled:!0,showDelay:500}),this._bindControls()},_toggleSpinner:function(o){this._spinner.toggle(o),this._info.toggle(!o)},_toggleError:function(o,e){this._error.toggle(o),this._info.toggle(!o),e&&this._errorContent.text(e)},_updateBlock:function(o){o.object[0].object_url?this._promoItem.html(this.options.template.supplant({rules_link:o.object[0].object_url,subject:o.object[0].subject,body:o.object[0].body,ljuser:o.object[0].ljuser_display})):this._promoItem.html('<span class="b-journalpromo-item-message">'+o.object[0].body+"</span>").addClass(this._cl("noPromo"))},_closeClick:function(){var o=this;return"#__debug"===location.hash?this._debug():(o._toggleSpinner(!0),void LJ.Api.call("journalpromo.admin_cancel",{object_url:o.options.url,user:Site.currentJournal,get_slot:1,ban_user:document.getElementById("journalpromo-user-ban").checked},function(e){if(o._toggleSpinner(!1),console.dir(e),e.error&&e.error.data&&e.error.data.entry)return o._updated=e.error.data.entry[0],o._toggleError(!0,e.error.message),void console.error(e.error.message);if(!e.error&&e.entry){var t=e.entry[0];if(!t||!t.object||!t.object[0])return void console.error("Wrong data",e);o._updateBlock(t),o._iconDelete.hide()}o._deleteBubble.bubble("hide")}))},_disableClick:function(){var o=this;LJ.Api.call("journalpromo.disable_promo_announce",{journal:LJ.get("currentJournal")},function(e){e.error||o.element.slideUp("fast")})},_bindControls:function(){var e=this;o.lj.basicWidget.prototype._bindControls.apply(this),this._button.on("click",this._closeClick.bind(this)),this._iconClose.on("click",this._disableClick.bind(this)),this._deleteBubble&&this._deleteBubble.bind("bubblehide",function(o){e._toggleError(!1),e._updated&&(e._updateBlock(e._updated),e._iconDelete.hide())})},_debug:function(){var o=this;o._toggleSpinner(!0),setTimeout(function(){o._toggleSpinner(!1),o._toggleError(!0,"Sample error")},1e3)}})}(jQuery,window);
/* <<< file end: js/jquery/jquery.lj.journalPromoStrip.js */
//# map link was there [jquery.lj.journalPromoStrip.js.map]