diff --git a/client/galaxy/scripts/layout/page.js b/client/galaxy/scripts/layout/page.js index 98179ca8652..059e96286c4 100644 --- a/client/galaxy/scripts/layout/page.js +++ b/client/galaxy/scripts/layout/page.js @@ -138,9 +138,10 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({ _checkCommunicationServerOnline: function(){ var host = window.Galaxy.config.communication_server_host, port = window.Galaxy.config.communication_server_port, + preferences = window.Galaxy.user.attributes.preferences, $chat_icon_element = $( "#show-chat-online" ); /** Check if the user has deactivated the communication in it's personal settings */ - if ( Galaxy.user.attributes.preferences && [ '1', 'true' ].indexOf( Galaxy.user.attributes.preferences.communication_server ) != -1 ) { + if ( preferences && [ '1', 'true' ].indexOf( preferences.communication_server ) != -1 ) { // See if the configured communication server is available $.ajax({ url: host + ":" + port, diff --git a/static/maps/layout/page.js.map b/static/maps/layout/page.js.map index bc6824dda88..4bd0b157f88 100644 --- a/static/maps/layout/page.js.map +++ b/static/maps/layout/page.js.map @@ -1 +1 @@ -{"version":3,"file":"page.js","sources":["../../src/layout/page.js"],"names":["define","Masthead","Panel","Modal","BaseMVC","PageLayoutView","Backbone","View","extend","LoggableMixin","_logNamespace","el","className","_panelIds","defaultOptions","message_box_visible","message_box_content","message_box_class","show_inactivity_warning","inactivity_box_content","initialize","options","this","log","_","pick","defaults","omit","config","Galaxy","modal","masthead","$el","attr","html","_template","append","frame","$","replaceWith","$messagebox","$inactivebox","render","remove","renderMessageBox","renderInactivityBox","renderPanels","_checkCommunicationServerOnline","content","level","addClass","toggle","show","removeClass","hide","verificationLink","root","text","page","forEach","panelId","has","setElement","left","center","css","right","join","hideSidePanels","toString","host","window","communication_server_host","port","communication_server_port","$chat_icon_element","undefined","user","attributes","preferences","communication_server","ajax","url","success","id","error"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"page.js","sources":["../../src/layout/page.js"],"names":["define","Masthead","Panel","Modal","BaseMVC","PageLayoutView","Backbone","View","extend","LoggableMixin","_logNamespace","el","className","_panelIds","defaultOptions","message_box_visible","message_box_content","message_box_class","show_inactivity_warning","inactivity_box_content","initialize","options","this","log","_","pick","defaults","omit","config","Galaxy","modal","masthead","$el","attr","html","_template","append","frame","$","replaceWith","$messagebox","$inactivebox","render","remove","renderMessageBox","renderInactivityBox","renderPanels","_checkCommunicationServerOnline","content","level","addClass","toggle","show","removeClass","hide","verificationLink","root","text","page","forEach","panelId","has","setElement","left","center","css","right","join","hideSidePanels","toString","host","window","communication_server_host","port","communication_server_port","preferences","user","attributes","$chat_icon_element","indexOf","communication_server","ajax","url","success","id","error"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/bundled/libs.bundled.js b/static/scripts/bundled/libs.bundled.js index 57f6f78bfdc..d1645f1d0db 100644 --- a/static/scripts/bundled/libs.bundled.js +++ b/static/scripts/bundled/libs.bundled.js @@ -26,7 +26,7 @@ vt.event={global:{},add:function(t,e,i,n,s){var o,r,a,l,h,c,u,d,p,f,g,m=vt._data })},hasClass:function(t){var e,i,n=0;for(e=" "+t+" ";i=this[n++];)if(1===i.nodeType&&(" "+X(i)+" ").replace(We," ").indexOf(e)>-1)return!0;return!1}}),vt.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){vt.fn[e]=function(t,i){return arguments.length>0?this.on(e,null,t,i):this.trigger(e)}}),vt.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}});var Be=i.location,Ve=vt.now(),Ue=/\?/,Ge=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;vt.parseJSON=function(t){if(i.JSON&&i.JSON.parse)return i.JSON.parse(t+"");var e,n=null,s=vt.trim(t+"");return s&&!vt.trim(s.replace(Ge,function(t,i,s,o){return e&&i&&(n=0),0===n?t:(e=s||i,n+=!o-!s,"")}))?Function("return "+s)():vt.error("Invalid JSON: "+t)},vt.parseXML=function(t){var e,n;if(!t||"string"!=typeof t)return null;try{i.DOMParser?(n=new i.DOMParser,e=n.parseFromString(t,"text/xml")):(e=new i.ActiveXObject("Microsoft.XMLDOM"),e.async="false",e.loadXML(t))}catch(t){e=void 0}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length||vt.error("Invalid XML: "+t),e};var Xe=/#.*$/,Ye=/([?&])_=[^&]*/,Je=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ke=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Qe=/^(?:GET|HEAD)$/,Ze=/^\/\//,ti=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,ei={},ii={},ni="*/".concat("*"),si=Be.href,oi=ti.exec(si.toLowerCase())||[];vt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:si,type:"GET",isLocal:Ke.test(oi[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ni,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":vt.parseJSON,"text xml":vt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?K(K(t,vt.ajaxSettings),e):K(vt.ajaxSettings,t)},ajaxPrefilter:Y(ei),ajaxTransport:Y(ii),ajax:function(t,e){function n(t,e,n,s){var o,u,y,b,w,C=e;2!==_&&(_=2,l&&i.clearTimeout(l),c=void 0,a=s||"",x.readyState=t>0?4:0,o=t>=200&&t<300||304===t,n&&(b=Q(d,x,n)),b=Z(d,b,x,o),o?(d.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(vt.lastModified[r]=w),w=x.getResponseHeader("etag"),w&&(vt.etag[r]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=b.state,u=b.data,y=b.error,o=!y)):(y=C,!t&&C||(C="error",t<0&&(t=0))),x.status=t,x.statusText=(e||C)+"",o?g.resolveWith(p,[u,C,x]):g.rejectWith(p,[x,C,y]),x.statusCode(v),v=void 0,h&&f.trigger(o?"ajaxSuccess":"ajaxError",[x,d,o?u:y]),m.fireWith(p,[x,C]),h&&(f.trigger("ajaxComplete",[x,d]),--vt.active||vt.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var s,o,r,a,l,h,c,u,d=vt.ajaxSetup({},e),p=d.context||d,f=d.context&&(p.nodeType||p.jquery)?vt(p):vt.event,g=vt.Deferred(),m=vt.Callbacks("once memory"),v=d.statusCode||{},y={},b={},_=0,w="canceled",x={readyState:0,getResponseHeader:function(t){var e;if(2===_){if(!u)for(u={};e=Je.exec(a);)u[e[1].toLowerCase()]=e[2];e=u[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===_?a:null},setRequestHeader:function(t,e){var i=t.toLowerCase();return _||(t=b[i]=b[i]||t,y[t]=e),this},overrideMimeType:function(t){return _||(d.mimeType=t),this},statusCode:function(t){var e;if(t)if(_<2)for(e in t)v[e]=[v[e],t[e]];else x.always(t[x.status]);return this},abort:function(t){var e=t||w;return c&&c.abort(e),n(0,e),this}};if(g.promise(x).complete=m.add,x.success=x.done,x.error=x.fail,d.url=((t||d.url||si)+"").replace(Xe,"").replace(Ze,oi[1]+"//"),d.type=e.method||e.type||d.method||d.type,d.dataTypes=vt.trim(d.dataType||"*").toLowerCase().match(Dt)||[""],null==d.crossDomain&&(s=ti.exec(d.url.toLowerCase()),d.crossDomain=!(!s||s[1]===oi[1]&&s[2]===oi[2]&&(s[3]||("http:"===s[1]?"80":"443"))===(oi[3]||("http:"===oi[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=vt.param(d.data,d.traditional)),J(ei,d,e,x),2===_)return x;h=vt.event&&d.global,h&&0===vt.active++&&vt.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Qe.test(d.type),r=d.url,d.hasContent||(d.data&&(r=d.url+=(Ue.test(r)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Ye.test(r)?r.replace(Ye,"$1_="+Ve++):r+(Ue.test(r)?"&":"?")+"_="+Ve++)),d.ifModified&&(vt.lastModified[r]&&x.setRequestHeader("If-Modified-Since",vt.lastModified[r]),vt.etag[r]&&x.setRequestHeader("If-None-Match",vt.etag[r])),(d.data&&d.hasContent&&d.contentType!==!1||e.contentType)&&x.setRequestHeader("Content-Type",d.contentType),x.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+ni+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)x.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,x,d)===!1||2===_))return x.abort();w="abort";for(o in{success:1,error:1,complete:1})x[o](d[o]);if(c=J(ii,d,e,x)){if(x.readyState=1,h&&f.trigger("ajaxSend",[x,d]),2===_)return x;d.async&&d.timeout>0&&(l=i.setTimeout(function(){x.abort("timeout")},d.timeout));try{_=1,c.send(y,n)}catch(t){if(!(_<2))throw t;n(-1,t)}}else n(-1,"No Transport");return x},getJSON:function(t,e,i){return vt.get(t,e,i,"json")},getScript:function(t,e){return vt.get(t,void 0,e,"script")}}),vt.each(["get","post"],function(t,e){vt[e]=function(t,i,n,s){return vt.isFunction(i)&&(s=s||n,n=i,i=void 0),vt.ajax(vt.extend({url:t,type:e,dataType:s,data:i,success:n},vt.isPlainObject(t)&&t))}}),vt._evalUrl=function(t){return vt.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},vt.fn.extend({wrapAll:function(t){if(vt.isFunction(t))return this.each(function(e){vt(this).wrapAll(t.call(this,e))});if(this[0]){var e=vt(t,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstChild&&1===t.firstChild.nodeType;)t=t.firstChild;return t}).append(this)}return this},wrapInner:function(t){return vt.isFunction(t)?this.each(function(e){vt(this).wrapInner(t.call(this,e))}):this.each(function(){var e=vt(this),i=e.contents();i.length?i.wrapAll(t):e.append(t)})},wrap:function(t){var e=vt.isFunction(t);return this.each(function(i){vt(this).wrapAll(e?t.call(this,i):t)})},unwrap:function(){return this.parent().each(function(){vt.nodeName(this,"body")||vt(this).replaceWith(this.childNodes)}).end()}}),vt.expr.filters.hidden=function(t){return gt.reliableHiddenOffsets()?t.offsetWidth<=0&&t.offsetHeight<=0&&!t.getClientRects().length:et(t)},vt.expr.filters.visible=function(t){return!vt.expr.filters.hidden(t)};var ri=/%20/g,ai=/\[\]$/,li=/\r?\n/g,hi=/^(?:submit|button|image|reset|file)$/i,ci=/^(?:input|select|textarea|keygen)/i;vt.param=function(t,e){var i,n=[],s=function(t,e){e=vt.isFunction(e)?e():null==e?"":e,n[n.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=vt.ajaxSettings&&vt.ajaxSettings.traditional),vt.isArray(t)||t.jquery&&!vt.isPlainObject(t))vt.each(t,function(){s(this.name,this.value)});else for(i in t)it(i,t[i],e,s);return n.join("&").replace(ri,"+")},vt.fn.extend({serialize:function(){return vt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=vt.prop(this,"elements");return t?vt.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!vt(this).is(":disabled")&&ci.test(this.nodeName)&&!hi.test(t)&&(this.checked||!Bt.test(t))}).map(function(t,e){var i=vt(this).val();return null==i?null:vt.isArray(i)?vt.map(i,function(t){return{name:e.name,value:t.replace(li,"\r\n")}}):{name:e.name,value:i.replace(li,"\r\n")}}).get()}}),vt.ajaxSettings.xhr=void 0!==i.ActiveXObject?function(){return this.isLocal?st():at.documentMode>8?nt():/^(get|post|head|put|delete|options)$/i.test(this.type)&&nt()||st()}:nt;var ui=0,di={},pi=vt.ajaxSettings.xhr();i.attachEvent&&i.attachEvent("onunload",function(){for(var t in di)di[t](void 0,!0)}),gt.cors=!!pi&&"withCredentials"in pi,pi=gt.ajax=!!pi,pi&&vt.ajaxTransport(function(t){if(!t.crossDomain||gt.cors){var e;return{send:function(n,s){var o,r=t.xhr(),a=++ui;if(r.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)r[o]=t.xhrFields[o];t.mimeType&&r.overrideMimeType&&r.overrideMimeType(t.mimeType),t.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(o in n)void 0!==n[o]&&r.setRequestHeader(o,n[o]+"");r.send(t.hasContent&&t.data||null),e=function(i,n){var o,l,h;if(e&&(n||4===r.readyState))if(delete di[a],e=void 0,r.onreadystatechange=vt.noop,n)4!==r.readyState&&r.abort();else{h={},o=r.status,"string"==typeof r.responseText&&(h.text=r.responseText);try{l=r.statusText}catch(t){l=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=h.text?200:404}h&&s(o,l,h,r.getAllResponseHeaders())},t.async?4===r.readyState?i.setTimeout(e):r.onreadystatechange=di[a]=e:e()},abort:function(){e&&e(void 0,!0)}}}}),vt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return vt.globalEval(t),t}}}),vt.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET",t.global=!1)}),vt.ajaxTransport("script",function(t){if(t.crossDomain){var e,i=at.head||vt("head")[0]||at.documentElement;return{send:function(n,s){e=at.createElement("script"),e.async=!0,t.scriptCharset&&(e.charset=t.scriptCharset),e.src=t.url,e.onload=e.onreadystatechange=function(t,i){(i||!e.readyState||/loaded|complete/.test(e.readyState))&&(e.onload=e.onreadystatechange=null,e.parentNode&&e.parentNode.removeChild(e),e=null,i||s(200,"success"))},i.insertBefore(e,i.firstChild)},abort:function(){e&&e.onload(void 0,!0)}}}});var fi=[],gi=/(=)\?(?=&|$)|\?\?/;vt.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=fi.pop()||vt.expando+"_"+Ve++;return this[t]=!0,t}}),vt.ajaxPrefilter("json jsonp",function(t,e,n){var s,o,r,a=t.jsonp!==!1&&(gi.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&gi.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return s=t.jsonpCallback=vt.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(gi,"$1"+s):t.jsonp!==!1&&(t.url+=(Ue.test(t.url)?"&":"?")+t.jsonp+"="+s),t.converters["script json"]=function(){return r||vt.error(s+" was not called"),r[0]},t.dataTypes[0]="json",o=i[s],i[s]=function(){r=arguments},n.always(function(){void 0===o?vt(i).removeProp(s):i[s]=o,t[s]&&(t.jsonpCallback=e.jsonpCallback,fi.push(s)),r&&vt.isFunction(o)&&o(r[0]),r=o=void 0}),"script"}),vt.parseHTML=function(t,e,i){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(i=e,e=!1),e=e||at;var n=Tt.exec(t),s=!i&&[];return n?[e.createElement(n[1])]:(n=w([t],e,s),s&&s.length&&vt(s).remove(),vt.merge([],n.childNodes))};var mi=vt.fn.load;vt.fn.load=function(t,e,i){if("string"!=typeof t&&mi)return mi.apply(this,arguments);var n,s,o,r=this,a=t.indexOf(" ");return a>-1&&(n=vt.trim(t.slice(a,t.length)),t=t.slice(0,a)),vt.isFunction(e)?(i=e,e=void 0):e&&"object"==typeof e&&(s="POST"),r.length>0&&vt.ajax({url:t,type:s||"GET",dataType:"html",data:e}).done(function(t){o=arguments,r.html(n?vt("
").append(vt.parseHTML(t)).find(n):t)}).always(i&&function(t,e){r.each(function(){i.apply(this,o||[t.responseText,e,t])})}),this},vt.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){vt.fn[e]=function(t){return this.on(e,t)}}),vt.expr.filters.animated=function(t){return vt.grep(vt.timers,function(e){return t===e.elem}).length},vt.offset={setOffset:function(t,e,i){var n,s,o,r,a,l,h,c=vt.css(t,"position"),u=vt(t),d={};"static"===c&&(t.style.position="relative"),a=u.offset(),o=vt.css(t,"top"),l=vt.css(t,"left"),h=("absolute"===c||"fixed"===c)&&vt.inArray("auto",[o,l])>-1,h?(n=u.position(),r=n.top,s=n.left):(r=parseFloat(o)||0,s=parseFloat(l)||0),vt.isFunction(e)&&(e=e.call(t,i,vt.extend({},a))),null!=e.top&&(d.top=e.top-a.top+r),null!=e.left&&(d.left=e.left-a.left+s),"using"in e?e.using.call(t,d):u.css(d)}},vt.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){vt.offset.setOffset(this,t,e)});var e,i,n={top:0,left:0},s=this[0],o=s&&s.ownerDocument;if(o)return e=o.documentElement,vt.contains(e,s)?("undefined"!=typeof s.getBoundingClientRect&&(n=s.getBoundingClientRect()),i=ot(o),{top:n.top+(i.pageYOffset||e.scrollTop)-(e.clientTop||0),left:n.left+(i.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}):n},position:function(){if(this[0]){var t,e,i={top:0,left:0},n=this[0];return"fixed"===vt.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),vt.nodeName(t[0],"html")||(i=t.offset()),i.top+=vt.css(t[0],"borderTopWidth",!0),i.left+=vt.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-vt.css(n,"marginTop",!0),left:e.left-i.left-vt.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&!vt.nodeName(t,"html")&&"static"===vt.css(t,"position");)t=t.offsetParent;return t||ve})}}),vt.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var i=/Y/.test(e);vt.fn[t]=function(n){return Wt(this,function(t,n,s){var o=ot(t);return void 0===s?o?e in o?o[e]:o.document.documentElement[n]:t[n]:void(o?o.scrollTo(i?vt(o).scrollLeft():s,i?s:vt(o).scrollTop()):t[n]=s)},t,n,arguments.length,null)}}),vt.each(["top","left"],function(t,e){vt.cssHooks[e]=I(gt.pixelPosition,function(t,i){if(i)return i=be(t,e),ge.test(i)?vt(t).position()[e]+"px":i})}),vt.each({Height:"height",Width:"width"},function(t,e){vt.each({padding:"inner"+t,content:e,"":"outer"+t},function(i,n){vt.fn[n]=function(n,s){var o=arguments.length&&(i||"boolean"!=typeof n),r=i||(n===!0||s===!0?"margin":"border");return Wt(this,function(e,i,n){var s;return vt.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(s=e.documentElement,Math.max(e.body["scroll"+t],s["scroll"+t],e.body["offset"+t],s["offset"+t],s["client"+t])):void 0===n?vt.css(e,i,r):vt.style(e,i,n,r)},e,o?n:void 0,o,null)}})}),vt.fn.extend({bind:function(t,e,i){return this.on(t,null,e,i)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,i,n){return this.on(e,t,i,n)},undelegate:function(t,e,i){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",i)}}),vt.fn.size=function(){return this.length},vt.fn.andSelf=vt.fn.addBack,n=[],s=function(){return vt}.apply(e,n),!(void 0!==s&&(t.exports=s));var vi=i.jQuery,yi=i.$;return vt.noConflict=function(t){return i.$===vt&&(i.$=yi),t&&i.jQuery===vt&&(i.jQuery=vi),vt},o||(i.jQuery=i.$=vt),vt})},function(t,e,i){var n,s;(function(){function i(t){function e(e,i,n,s,o,r){for(;o>=0&&o0?0:a-1;return arguments.length<3&&(s=i[r?r[l]:l],l+=t),e(i,n,s,r,l,a)}}function o(t){return function(e,i,n){i=k(i,n);for(var s=A(e),o=t>0?0:s-1;o>=0&&o0?r=o>=0?o:Math.max(o+a,r):a=o>=0?Math.min(o+1,a):o+a+1;else if(i&&o&&a)return o=i(n,s),n[o]===s?o:-1;if(s!==s)return o=e(f.call(n,r,a),x.isNaN),o>=0?o+r:-1;for(o=t>0?r:a-1;o>=0&&o=0&&e<=$};x.each=x.forEach=function(t,e,i){e=C(e,i);var n,s;if(N(t))for(n=0,s=t.length;n=0},x.invoke=function(t,e){var i=f.call(arguments,2),n=x.isFunction(e);return x.map(t,function(t){var s=n?e:t[e];return null==s?s:s.apply(t,i)})},x.pluck=function(t,e){return x.map(t,x.property(e))},x.where=function(t,e){return x.filter(t,x.matcher(e))},x.findWhere=function(t,e){return x.find(t,x.matcher(e))},x.max=function(t,e,i){var n,s,o=-(1/0),r=-(1/0);if(null==e&&null!=t){t=N(t)?t:x.values(t);for(var a=0,l=t.length;ao&&(o=n)}else e=k(e,i),x.each(t,function(t,i,n){s=e(t,i,n),(s>r||s===-(1/0)&&o===-(1/0))&&(o=t,r=s)});return o},x.min=function(t,e,i){var n,s,o=1/0,r=1/0;if(null==e&&null!=t){t=N(t)?t:x.values(t);for(var a=0,l=t.length;an||void 0===i)return 1;if(ie?(r&&(clearTimeout(r),r=null),a=h,o=t.apply(n,s),r||(n=s=null)):r||i.trailing===!1||(r=setTimeout(l,c)),o}},x.debounce=function(t,e,i){var n,s,o,r,a,l=function(){var h=x.now()-r;h=0?n=setTimeout(l,e-h):(n=null,i||(a=t.apply(o,s),n||(o=s=null)))};return function(){o=this,s=arguments,r=x.now();var h=i&&!n;return n||(n=setTimeout(l,e)),h&&(a=t.apply(o,s),o=s=null),a}},x.wrap=function(t,e){return x.partial(e,t)},x.negate=function(t){return function(){return!t.apply(this,arguments)}},x.compose=function(){var t=arguments,e=t.length-1;return function(){for(var i=e,n=t[e].apply(this,arguments);i--;)n=t[i].call(this,n);return n}},x.after=function(t,e){return function(){if(--t<1)return e.apply(this,arguments)}},x.before=function(t,e){var i;return function(){return--t>0&&(i=e.apply(this,arguments)),t<=1&&(e=null),i}},x.once=x.partial(x.before,2);var P=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];x.keys=function(t){if(!x.isObject(t))return[];if(y)return y(t);var e=[];for(var i in t)x.has(t,i)&&e.push(i);return P&&a(t,e),e},x.allKeys=function(t){if(!x.isObject(t))return[];var e=[];for(var i in t)e.push(i);return P&&a(t,e),e},x.values=function(t){for(var e=x.keys(t),i=e.length,n=Array(i),s=0;s":">",'"':""","'":"'","`":"`"},j=x.invert(L),H=function(t){var e=function(e){return t[e]},i="(?:"+x.keys(t).join("|")+")",n=RegExp(i),s=RegExp(i,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(s,e):t}};x.escape=H(L),x.unescape=H(j),x.result=function(t,e,i){var n=null==t?void 0:t[e];return void 0===n&&(n=i),x.isFunction(n)?n.call(t):n};var F=0;x.uniqueId=function(t){var e=++F+"";return t?t+e:e},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var z=/(.)^/,q={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,B=function(t){return"\\"+q[t]};x.template=function(t,e,i){!e&&i&&(e=i),e=x.defaults({},e,x.templateSettings);var n=RegExp([(e.escape||z).source,(e.interpolate||z).source,(e.evaluate||z).source].join("|")+"|$","g"),s=0,o="__p+='";t.replace(n,function(e,i,n,r,a){return o+=t.slice(s,a).replace(W,B),s=a+e.length,i?o+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'":n?o+="'+\n((__t=("+n+"))==null?'':__t)+\n'":r&&(o+="';\n"+r+"\n__p+='"),e}),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{var r=new Function(e.variable||"obj","_",o)}catch(t){throw t.source=o,t}var a=function(t){return r.call(this,t,x)},l=e.variable||"obj";return a.source="function("+l+"){\n"+o+"}",a},x.chain=function(t){var e=x(t);return e._chain=!0,e};var V=function(t,e){return t._chain?x(e).chain():e};x.mixin=function(t){x.each(x.functions(t),function(e){var i=x[e]=t[e];x.prototype[e]=function(){var t=[this._wrapped];return p.apply(t,arguments),V(this,i.apply(x,t))}})},x.mixin(x),x.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=c[t];x.prototype[t]=function(){var i=this._wrapped;return e.apply(i,arguments),"shift"!==t&&"splice"!==t||0!==i.length||delete i[0],V(this,i)}}),x.each(["concat","join","slice"],function(t){var e=c[t];x.prototype[t]=function(){return V(this,e.apply(this._wrapped,arguments))}}),x.prototype.value=function(){return this._wrapped},x.prototype.valueOf=x.prototype.toJSON=x.prototype.value,x.prototype.toString=function(){return""+this._wrapped},n=[],s=function(){return x}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(this)},function(t,e,i){var n,s;(function(o){!function(r){var a="object"==typeof self&&self.self===self&&self||"object"==typeof o&&o.global===o&&o;n=[i(2),i(1),e],s=function(t,e,i){a.Backbone=r(a,i,t,e)}.apply(e,n),!(void 0!==s&&(t.exports=s))}(function(t,e,i,n){var s=t.Backbone,o=Array.prototype.slice;e.VERSION="1.3.3",e.$=n,e.noConflict=function(){return t.Backbone=s,this},e.emulateHTTP=!1,e.emulateJSON=!1;var r=function(t,e,n){switch(t){case 1:return function(){return i[e](this[n])};case 2:return function(t){return i[e](this[n],t)};case 3:return function(t,s){return i[e](this[n],l(t,this),s)};case 4:return function(t,s,o){return i[e](this[n],l(t,this),s,o)};default:return function(){var t=o.call(arguments);return t.unshift(this[n]),i[e].apply(i,t)}}},a=function(t,e,n){i.each(e,function(e,s){i[s]&&(t.prototype[s]=r(e,s,n))})},l=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?h(t):i.isString(t)?function(e){ return e.get(t)}:t},h=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}},c=e.Events={},u=/\s+/,d=function(t,e,n,s,o){var r,a=0;if(n&&"object"==typeof n){void 0!==s&&"context"in o&&void 0===o.context&&(o.context=s);for(r=i.keys(n);athis.length&&(s=this.length),s<0&&(s+=this.length+1);var o,r,a=[],l=[],h=[],c=[],u={},d=e.add,p=e.merge,f=e.remove,g=!1,m=this.comparator&&null==s&&e.sort!==!1,v=i.isString(this.comparator)?this.comparator:null;for(r=0;r7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,s=n.insertBefore(this.iframe,n.firstChild).contentWindow;s.document.open(),s.document.close(),s.location.hash="#"+this.fragment}var o=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?o("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?o("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),I.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();return e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e!==this.fragment&&(this.iframe&&this.navigate(e),void this.loadUrl())},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!I.started)return!1;e&&e!==!0||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;if(t=this.decodeFragment(t.replace(j,"")),this.fragment!==t){if(this.fragment=t,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new I;var H=function(t,e){var n,s=this;return n=t&&i.has(t,"constructor")?t.constructor:function(){return s.apply(this,arguments)},i.extend(n,s,e),n.prototype=i.create(s.prototype,t),n.prototype.constructor=n,n.__super__=s.prototype,n};b.extend=w.extend=N.extend=T.extend=I.extend=H;var F=function(){throw new Error('A "url" property or function must be specified')},z=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e})}).call(e,function(){return this}())},function(t,e,i){var n,s;n=[i(142)],s=function(t){if(t.hasOwnProperty("__root")){var e="undefined"==typeof navigator?"__root":(navigator.language||navigator.userLanguage||"__root").toLowerCase();t=t["__"+e]||t["__"+e.split("-")[0]]||t.__root}var i=function(e){return t[e]||e};return i.cacheNonLocalized=!1,i}.apply(e,n),!(void 0!==s&&(t.exports=s))},function(t,e,i){var n,s;(function(o){n=[i(2),i(3),i(75),i(4)],s=function(t,e,i,n){"use strict";function s(e,i){var n=Array.prototype.slice.call(arguments,0),s=n.pop();return n.unshift(s),t.defaults.apply(t,n)}function r(e,i){i=i||"model";var s=t.template(e.join(""));return function(t,e){var o={view:e||{},_l:n};return o[i]=t||{},s(o)}}function a(t,e){e=e||{};var i=e.ascending?1:-1;return function(e,n){return e=e.get(t),n=n.get(t),(en?1:0)*i}}var l={logger:null,_logNamespace:"."};i(l);var h=e.Model.extend({initialize:function(e){if(this._checkEnabledSessionStorage(),!e.id)throw new Error("SessionStorageModel requires an id in the initial attributes");this.id=e.id;var i=this.isNew()?{}:this._read(this);this.clear({silent:!0}),this.save(t.extend({},this.defaults,i,e),{silent:!0}),this.on("change",function(){this.save()})},_checkEnabledSessionStorage:function(){try{return window.sessionStorage.length>=0}catch(t){return alert("Please enable cookies in your browser for this Galaxy site"),!1}},sync:function(t,e,i){i.silent||e.trigger("request",e,{},i);var n={};switch(t){case"create":n=this._create(e);break;case"read":n=this._read(e);break;case"update":n=this._update(e);break;case"delete":n=this._delete(e)}return void 0!==n||null!==n?i.success&&i.success():i.error&&i.error(),n},_create:function(t){try{var e=t.toJSON(),i=sessionStorage.setItem(t.id,JSON.stringify(e));return null===i?i:e}catch(t){if(!(t instanceof DOMException&&navigator.userAgent.indexOf("Safari")>-1))throw t}return null},_read:function(t){return JSON.parse(sessionStorage.getItem(t.id))},_update:function(t){return t._create(t)},_delete:function(t){return sessionStorage.removeItem(t.id)},isNew:function(){return!sessionStorage.hasOwnProperty(this.id)},_log:function(){return JSON.stringify(this.toJSON(),null," ")},toString:function(){return"SessionStorageModel("+this.id+")"}});!function(){h.prototype=t.omit(h.prototype,"url","urlRoot")}();var c={searchAttributes:[],searchAliases:{},searchAttribute:function(e,i){var n=this.get(e);return!(!i||void 0===n||null===n)&&(t.isArray(n)?this._searchArrayAttribute(n,i):n.toString().toLowerCase().indexOf(i.toLowerCase())!==-1)},_searchArrayAttribute:function(e,i){return i=i.toLowerCase(),t.any(e,function(t){return t.toString().toLowerCase().indexOf(i.toLowerCase())!==-1})},search:function(e){var i=this;return t.filter(this.searchAttributes,function(t){return i.searchAttribute(t,e)})},matches:function(t){var e="=",i=t.split(e);if(i.length>=2){var n=i[0];return n=this.searchAliases[n]||n,this.searchAttribute(n,i[1])}return!!this.search(t).length},matchesAll:function(e){var i=this;return e=e.match(/(".*"|\w*=".*"|\S*)/g).filter(function(t){return!!t}),t.all(e,function(t){return t=t.replace(/"/g,""),i.matches(t)})}},u={hiddenUntilActivated:function(e,i){if(i=i||{},this.HUAVOptions={$elementShown:this.$el,showFn:o.prototype.toggle,showSpeed:"fast"},t.extend(this.HUAVOptions,i||{}),this.HUAVOptions.hasBeenShown=this.HUAVOptions.$elementShown.is(":visible"),this.hidden=this.isHidden(),e){var n=this;e.on("click",function(t){n.toggle(n.HUAVOptions.showSpeed)})}},isHidden:function(){return this.HUAVOptions.$elementShown.is(":hidden")},toggle:function(){return this.hidden?(this.HUAVOptions.hasBeenShown||t.isFunction(this.HUAVOptions.onshowFirstTime)&&(this.HUAVOptions.hasBeenShown=!0,this.HUAVOptions.onshowFirstTime.call(this)),t.isFunction(this.HUAVOptions.onshow)&&(this.HUAVOptions.onshow.call(this),this.trigger("hiddenUntilActivated:shown",this)),this.hidden=!1):(t.isFunction(this.HUAVOptions.onhide)&&(this.HUAVOptions.onhide.call(this),this.trigger("hiddenUntilActivated:hidden",this)),this.hidden=!0),this.HUAVOptions.showFn.apply(this.HUAVOptions.$elementShown,arguments)}},d={initialize:function(t){this.draggable=t.draggable||!1},$dragHandle:function(){return this.$(".title-bar")},toggleDraggable:function(){this.draggable?this.draggableOff():this.draggableOn()},draggableOn:function(){this.draggable=!0,this.dragStartHandler=t.bind(this._dragStartHandler,this),this.dragEndHandler=t.bind(this._dragEndHandler,this);var e=this.$dragHandle().attr("draggable",!0).get(0);e.addEventListener("dragstart",this.dragStartHandler,!1),e.addEventListener("dragend",this.dragEndHandler,!1)},draggableOff:function(){this.draggable=!1;var t=this.$dragHandle().attr("draggable",!1).get(0);t.removeEventListener("dragstart",this.dragStartHandler,!1),t.removeEventListener("dragend",this.dragEndHandler,!1)},_dragStartHandler:function(t){return t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text",JSON.stringify(this.model.toJSON())),this.trigger("draggable:dragstart",t,this),!1},_dragEndHandler:function(t){return this.trigger("draggable:dragend",t,this),!1}},p={initialize:function(t){this.selectable=t.selectable||!1,this.selected=t.selected||!1},$selector:function(){return this.$(".selector")},_renderSelected:function(){this.$selector().find("span").toggleClass("fa-check-square-o",this.selected).toggleClass("fa-square-o",!this.selected)},toggleSelector:function(){this.$selector().is(":visible")?this.hideSelector():this.showSelector()},showSelector:function(t){t=void 0!==t?t:this.fxSpeed,this.selectable=!0,this.trigger("selectable",!0,this),this._renderSelected(),t?this.$selector().show(t):this.$selector().show()},hideSelector:function(t){t=void 0!==t?t:this.fxSpeed,this.selectable=!1,this.trigger("selectable",!1,this),t?this.$selector().hide(t):this.$selector().hide()},toggleSelect:function(t){this.selected?this.deselect(t):this.select(t)},select:function(t){return this.selected||(this.trigger("selected",this,t),this.selected=!0,this._renderSelected()),!1},deselect:function(t){return this.selected&&(this.trigger("de-selected",this,t),this.selected=!1,this._renderSelected()),!1}};return{LoggableMixin:l,SessionStorageModel:h,mixin:s,SearchableModelMixin:c,HiddenUntilActivatedViewMixin:u,DraggableViewMixin:d,SelectableViewMixin:p,wrapTemplate:r,buildComparator:a}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(1))},function(t,e,i){var n,s;(function(i,o,r){n=[],s=function(){function t(t){return'
")}),a.show({backdrop:!0})}var o=t,r=function(t){this.$overlay=t.overlay,this.$dialog=t.dialog,this.$header=this.$dialog.find(".modal-header"),this.$body=this.$dialog.find(".modal-body"),this.$footer=this.$dialog.find(".modal-footer"),this.$backdrop=t.backdrop,this.$header.find(".close").on("click",o.proxy(this.hide,this))};o.extend(r.prototype,{setContent:function(t){this.$header.hide(),t.title&&(this.$header.find(".title").html(t.title),this.$header.show()),t.closeButton?(this.$header.find(".close").show(),this.$header.show()):this.$header.find(".close").hide(),this.$footer.hide();var e=this.$footer.find(".buttons").html("");t.buttons&&(o.each(t.buttons,function(t,i){e.append(o(" ").text(t).click(i)).append(" ")}),this.$footer.show());var i=this.$footer.find(".extra_buttons").html("");t.extra_buttons&&(o.each(t.extra_buttons,function(t,e){i.append(o("").text(t).click(e)).append(" ")}),this.$footer.show());var n=t.body;"progress"==n&&(n=o("
")),this.$body.html(n)},show:function(t,e){this.$dialog.is(":visible")||(t.backdrop?this.$backdrop.addClass("in"):this.$backdrop.removeClass("in"),this.$overlay.show(),this.$dialog.show(),this.$overlay.addClass("in"),this.$body.css("min-width",this.$body.width()),this.$body.css("max-height",o(window).height()-this.$footer.outerHeight()-this.$header.outerHeight()-parseInt(this.$dialog.css("padding-top"),10)-parseInt(this.$dialog.css("padding-bottom"),10))),e&&e()},hide:function(){var t=this;t.$dialog.fadeOut(function(){t.$overlay.hide(),t.$backdrop.removeClass("in"),t.$body.children().remove(),t.$body.css("min-width",void 0)})}});var a;return o(function(){a=new r({overlay:o("#top-modal"),dialog:o("#top-modal-dialog"),backdrop:o("#top-modal-backdrop")})}),{Modal:r,hide_modal:e,show_modal:i,show_message:n,show_in_overlay:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))},function(t,e,i){var n,s;(function(o,r,a){n=[i(81),i(9),i(8),i(5)],s=function(t,e,i,n){var s=o.View.extend(n.LoggableMixin).extend({_logNamespace:"layout",el:"body",className:"full-content",_panelIds:["left","center","right"],defaultOptions:{message_box_visible:!1,message_box_content:"",message_box_class:"info",show_inactivity_warning:!1,inactivity_box_content:""},initialize:function(e){this.log(this+".initialize:",e),r.extend(this,r.pick(e,this._panelIds)),this.options=r.defaults(r.omit(e.config,this._panelIds),this.defaultOptions),Galaxy.modal=this.modal=new i.View,this.masthead=new t.View(this.options),this.$el.attr("scroll","no"),this.$el.html(this._template()),this.$el.append(this.masthead.frame.$el),this.$("#masthead").replaceWith(this.masthead.$el),this.$el.append(this.modal.$el),this.$messagebox=this.$("#messagebox"),this.$inactivebox=this.$("#inactivebox")},render:function(){return a(".select2-hidden-accessible").remove(),this.log(this+".render:"),this.masthead.render(),this.renderMessageBox(),this.renderInactivityBox(),this.renderPanels(),this._checkCommunicationServerOnline(),this},renderMessageBox:function(){if(this.options.message_box_visible){var t=this.options.message_box_content||"",e=this.options.message_box_class||"info";this.$el.addClass("has-message-box"),this.$messagebox.attr("class","panel-"+e+"-message").html(t).toggle(!!t).show()}else this.$el.removeClass("has-message-box"),this.$messagebox.hide();return this},renderInactivityBox:function(){if(this.options.show_inactivity_warning){var t=this.options.inactivity_box_content||"",e=a("").attr("href",Galaxy.root+"user/resend_verification").text("Resend verification");this.$el.addClass("has-inactivity-box"),this.$inactivebox.html(t+" ").append(e).toggle(!!t).show()}else this.$el.removeClass("has-inactivity-box"),this.$inactivebox.hide();return this},renderPanels:function(){var t=this;return this._panelIds.forEach(function(e){r.has(t,e)&&(t[e].setElement("#"+e),t[e].render())}),this.left||this.center.$el.css("left",0),this.right||this.center.$el.css("right",0),this},_template:function(){return['
','
','
','
','
',this.left?'
':"",this.center?'
':"",this.right?'",'
'].join("")},hideSidePanels:function(){this.left&&this.left.hide(),this.right&&this.right.hide()},toString:function(){return"PageLayoutView"},_checkCommunicationServerOnline:function(){var t=window.Galaxy.config.communication_server_host,e=window.Galaxy.config.communication_server_port,i=a("#show-chat-online");Galaxy.user.attributes.preferences&&["1","true"].indexOf(Galaxy.user.attributes.preferences.communication_server)!=-1?a.ajax({url:t+":"+e}).success(function(t){null!==window.Galaxy.user.id&&"hidden"===i.css("visibility")&&i.css("visibility","visible")}).error(function(t){i.css("visibility","hidden")}):i.css("visibility","hidden")}});return{PageLayoutView:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(3),i(2),i(1))},function(t,e,i){(function(t){!function(t,e){var i,n;return n=e.document,i=function(){function i(i){var n;try{n=e.localStorage}catch(t){n=!1}this._options=t.extend({name:"tour",steps:[],container:"body",autoscroll:!0,keyboard:!0,storage:n,debug:!1,backdrop:!1,backdropContainer:"body",backdropPadding:0,redirect:!0,orphan:!1,duration:!1,delay:!1,basePath:"",template:'',afterSetState:function(t,e){},afterGetState:function(t,e){},afterRemoveState:function(t){},onStart:function(t){},onEnd:function(t){},onShow:function(t){},onShown:function(t){},onHide:function(t){},onHidden:function(t){},onNext:function(t){},onPrev:function(t){},onPause:function(t,e){},onResume:function(t,e){},onRedirectError:function(t){}},i),this._force=!1,this._inited=!1,this._current=null,this.backdrop={overlay:null,$element:null,$background:null,backgroundShown:!1,overlayElementShown:!1}}return i.prototype.addSteps=function(t){var e,i,n;for(i=0,n=t.length;i

",next:e===this._options.steps.length-1?-1:e+1,prev:e-1,animation:!0,container:this._options.container,autoscroll:this._options.autoscroll,backdrop:this._options.backdrop,backdropContainer:this._options.backdropContainer,backdropPadding:this._options.backdropPadding,redirect:this._options.redirect,reflexElement:this._options.steps[e].element,orphan:this._options.orphan,duration:this._options.duration,delay:this._options.delay,template:this._options.template,onShow:this._options.onShow,onShown:this._options.onShown,onHide:this._options.onHide,onHidden:this._options.onHidden,onNext:this._options.onNext,onPrev:this._options.onPrev,onPause:this._options.onPause,onResume:this._options.onResume,onRedirectError:this._options.onRedirectError},this._options.steps[e])},i.prototype.init=function(t){return this._force=t,this.ended()?(this._debug("Tour ended, init prevented."),this):(this.setCurrentStep(),this._initMouseNavigation(),this._initKeyboardNavigation(),this._onResize(function(t){return function(){return t.showStep(t._current)}}(this)),null!==this._current&&this.showStep(this._current),this._inited=!0,this)},i.prototype.start=function(t){var e;return null==t&&(t=!1),this._inited||this.init(t),null===this._current&&(e=this._makePromise(null!=this._options.onStart?this._options.onStart(this):void 0),this._callOnPromiseDone(e,this.showStep,0)),this},i.prototype.next=function(){var t;return t=this.hideStep(this._current),this._callOnPromiseDone(t,this._showNextStep)},i.prototype.prev=function(){var t;return t=this.hideStep(this._current),this._callOnPromiseDone(t,this._showPrevStep)},i.prototype.goTo=function(t){var e;return e=this.hideStep(this._current),this._callOnPromiseDone(e,this.showStep,t)},i.prototype.end=function(){var i,s;return i=function(i){return function(s){if(t(n).off("click.tour-"+i._options.name),t(n).off("keyup.tour-"+i._options.name),t(e).off("resize.tour-"+i._options.name),i._setState("end","yes"),i._inited=!1,i._force=!1,i._clearTimer(),null!=i._options.onEnd)return i._options.onEnd(i)}}(this),s=this.hideStep(this._current),this._callOnPromiseDone(s,i)},i.prototype.ended=function(){return!this._force&&!!this._getState("end")},i.prototype.restart=function(){return this._removeState("current_step"),this._removeState("end"),this._removeState("redirect_to"),this.start()},i.prototype.pause=function(){var t;return t=this.getStep(this._current),t&&t.duration?(this._paused=!0,this._duration-=(new Date).getTime()-this._start,e.clearTimeout(this._timer),this._debug("Paused/Stopped step "+(this._current+1)+" timer ("+this._duration+" remaining)."),null!=t.onPause?t.onPause(this,this._duration):void 0):this},i.prototype.resume=function(){var t;return t=this.getStep(this._current),t&&t.duration?(this._paused=!1,this._start=(new Date).getTime(),this._duration=this._duration||t.duration,this._timer=e.setTimeout(function(t){return function(){return t._isLast()?t.next():t.end()}}(this),this._duration),this._debug("Started step "+(this._current+1)+" timer with duration "+this._duration),null!=t.onResume&&this._duration!==t.duration?t.onResume(this,this._duration):void 0):this},i.prototype.hideStep=function(e){var i,n,s;if(s=this.getStep(e))return this._clearTimer(),n=this._makePromise(null!=s.onHide?s.onHide(this,e):void 0),i=function(i){return function(n){var o;if(o=t(s.element),o.data("bs.popover")||o.data("popover")||(o=t("body")),o.popover("destroy").removeClass("tour-"+i._options.name+"-element tour-"+i._options.name+"-"+e+"-element"),o.removeData("bs.popover"),s.reflex&&t(s.reflexElement).removeClass("tour-step-element-reflex").off(""+i._reflexEvent(s.reflex)+".tour-"+i._options.name),s.backdrop&&i._hideBackdrop(),null!=s.onHidden)return s.onHidden(i)}}(this),this._callOnPromiseDone(n,i),n},i.prototype.showStep=function(t){var i,s,o,r;return this.ended()?(this._debug("Tour ended, showStep prevented."),this):(r=this.getStep(t))?(o=t").parent().html()},i.prototype._reflexEvent=function(t){return"[object Boolean]"==={}.toString.call(t)?"click":t},i.prototype._reposition=function(e,i){var s,o,r,a,l,h,c;if(a=e[0].offsetWidth,o=e[0].offsetHeight,c=e.offset(),l=c.left,h=c.top,s=t(n).outerHeight()-c.top-e.outerHeight(),s<0&&(c.top=c.top+s),r=t("html").outerWidth()-c.left-e.outerWidth(),r<0&&(c.left=c.left+r),c.top<0&&(c.top=0),c.left<0&&(c.left=0),e.offset(c),"bottom"===i.placement||"top"===i.placement){if(l!==c.left)return this._replaceArrow(e,2*(c.left-l),a,"left")}else if(h!==c.top)return this._replaceArrow(e,2*(c.top-h),o,"top")},i.prototype._center=function(i){return i.css("top",t(e).outerHeight()/2-i.outerHeight()/2)},i.prototype._replaceArrow=function(t,e,i,n){return t.find(".arrow").css(n,e?50*(1-e/i)+"%":"")},i.prototype._scrollIntoView=function(i,n){var s,o,r,a,l,h;return s=t(i),s.length?(o=t(e),a=s.offset().top,h=o.height(),l=Math.max(0,a-h/2),this._debug("Scroll into view. ScrollTop: "+l+". Element offset: "+a+". Window height: "+h+"."),r=0,t("body, html").stop(!0,!0).animate({scrollTop:Math.ceil(l)},function(t){return function(){if(2===++r)return n(),t._debug("Scroll into view.\nAnimation end element offset: "+s.offset().top+".\nWindow height: "+o.height()+".")}}(this))):n()},i.prototype._onResize=function(i,n){return t(e).on("resize.tour-"+this._options.name,function(){return clearTimeout(n),n=setTimeout(i,100)})},i.prototype._initMouseNavigation=function(){var e;return e=this,t(n).off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']").on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']",function(t){return function(e){return e.preventDefault(),t.next()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']",function(t){return function(e){return e.preventDefault(),t.prev()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']",function(t){return function(e){return e.preventDefault(),t.end()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']",function(i){var n;return i.preventDefault(),n=t(this),n.text(e._paused?n.data("pause-text"):n.data("resume-text")),e._paused?e.resume():e.pause()})},i.prototype._initKeyboardNavigation=function(){if(this._options.keyboard)return t(n).on("keyup.tour-"+this._options.name,function(t){return function(e){if(e.which)switch(e.which){case 39:return e.preventDefault(),t._isLast()?t.next():t.end();case 37:if(e.preventDefault(),t._current>0)return t.prev();break;case 27:return e.preventDefault(),t.end()}}}(this))},i.prototype._makePromise=function(e){return e&&t.isFunction(e.then)?e:null},i.prototype._callOnPromiseDone=function(t,e,i){return t?t.then(function(t){return function(n){return e.call(t,i)}}(this)):e.call(this,i)},i.prototype._showBackdrop=function(e){if(!this.backdrop.backgroundShown)return this.backdrop=t("
",{class:"tour-backdrop"}),this.backdrop.backgroundShown=!0,t(e.backdropContainer).append(this.backdrop)},i.prototype._hideBackdrop=function(){return this._hideOverlayElement(),this._hideBackground()},i.prototype._hideBackground=function(){if(this.backdrop)return this.backdrop.remove(),this.backdrop.overlay=null,this.backdrop.backgroundShown=!1},i.prototype._showOverlayElement=function(e,i){var n,s;if(n=t(e.element),n&&0!==n.length&&(!this.backdrop.overlayElementShown||i))return this.backdrop.overlayElementShown||(this.backdrop.$element=n.addClass("tour-step-backdrop"),this.backdrop.$background=t("
",{class:"tour-step-background"}),this.backdrop.$background.appendTo(e.backdropContainer),this.backdrop.overlayElementShown=!0),s={width:n.innerWidth(),height:n.innerHeight(),offset:n.offset()},e.backdropPadding&&(s=this._applyBackdropPadding(e.backdropPadding,s)),this.backdrop.$background.width(s.width).height(s.height).offset(s.offset)},i.prototype._hideOverlayElement=function(){if(this.backdrop.overlayElementShown)return this.backdrop.$element.removeClass("tour-step-backdrop"),this.backdrop.$background.remove(),this.backdrop.$element=null,this.backdrop.$background=null,this.backdrop.overlayElementShown=!1},i.prototype._applyBackdropPadding=function(t,e){return"object"==typeof t?(null==t.top&&(t.top=0),null==t.right&&(t.right=0),null==t.bottom&&(t.bottom=0),null==t.left&&(t.left=0),e.offset.top=e.offset.top-t.top,e.offset.left=e.offset.left-t.left,e.width=e.width+t.left+t.right,e.height=e.height+t.top+t.bottom):(e.offset.top=e.offset.top-t,e.offset.left=e.offset.left-t,e.width=e.width+2*t,e.height=e.height+2*t),e},i.prototype._clearTimer=function(){return e.clearTimeout(this._timer),this._timer=null,this._duration=null},i.prototype._getProtocol=function(t){return t=t.split("://"),t.length>1?t[0]:"http"},i.prototype._getHost=function(t){return t=t.split("//"),t=t.length>1?t[1]:t[0],t.split("/")[0]},i.prototype._getPath=function(t){return t.replace(/\/?$/,"").split("?")[0].split("#")[0]},i.prototype._getQuery=function(t){return this._getParams(t,"?")},i.prototype._getHash=function(t){return this._getParams(t,"#")},i.prototype._getParams=function(t,e){var i,n,s,o,r;if(n=t.split(e),1===n.length)return{};for(n=n[1].split("&"),s={},o=0,r=n.length;o").append(this.$button=r("
").append(this.$icon=r("")).append(this.$title=r("")))),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(t){var t=this.model.attributes;this.$el.removeClass().addClass(t.cls).addClass(t.disabled&&"disabled").attr("disabled",t.disabled).attr("id",t.id).css("float",t.floating).off("click").on("click",function(){r(".tooltip").hide(),!t.disabled&&t.onclick&&t.onclick()}),this.$button.addClass("button").tooltip({title:t.tooltip,placement:"bottom"}),this.$icon.removeClass().addClass("icon fa").addClass(t.icon),this.$title.addClass("title").html(t.title),t.icon&&t.title&&this.$icon.addClass("ui-margin-right")}}),a=e.extend({$menu:null,initialize:function(t){this.model=t&&t.model||new o.Model({id:"",title:"",floating:"right",pull:"right",icon:null,onclick:null,cls:"ui-button-icon ui-button-menu",tooltip:"",target:"",href:"",onunload:null,visible:!0,tag:""}).set(t),this.collection=new o.Collection,this.setElement(r("
").append(this.$root=r("
").append(this.$icon=r("")).append(this.$title=r("")))),this.listenTo(this.model,"change",this.render,this),this.listenTo(this.collection,"change add remove reset",this.render,this),this.render()},render:function(){var t=this,e=this.model.attributes;this.$el.removeClass().addClass("dropdown").addClass(e.cls).attr("id",e.id).css({float:e.floating,display:e.visible&&this.collection.where({visible:!0}).length>0?"block":"none"}),this.$root.addClass("root button dropdown-toggle").attr("data-toggle","dropdown").tooltip({title:e.tooltip,placement:"bottom"}).off("click").on("click",function(t){r(".tooltip").hide(),t.preventDefault(),e.onclick&&e.onclick()}),this.$icon.removeClass().addClass("icon fa").addClass(e.icon),this.$title.removeClass().addClass("title").html(e.title),e.icon&&e.title&&this.$icon.addClass("ui-margin-right"),this.$menu&&this.$menu.remove(),this.collection.length>0&&(this.$menu=r("