String.prototype.format=function(){for(var n=this,t=arguments.length;t--;)n=n.replace(new RegExp("\\{"+t+"\\}","gm"),arguments[t]);return n};!function(n){n.sessionTimeout=function(t){var i={timeout:1200,countdown:60,title:"Automatic Log Out",message:"You will be signed out in {0} seconds due to inactivity.",question:"Do you want to stay signed in?",keep_alive_button_text:"Yes",sign_out_button_text:"No",keep_alive_url:"/",logout_url:null,logout_redirect_url:"/",restart_on_yes:!0,dialog_width:412},r;n.extend(i,t);r={init:function(){this.setupDialogTimer()},setupDialogTimer:function(){var n=this;n.setupDialog()},setupDialog:function(){var t=this;n('<div class="modal fade" id="session-timeout-dialog">               <div class="modal-dialog">                 <div class="modal-content">                   <div class="modal-header">                     <h4 class="modal-title flex-grow-1">'+i.title+'<\/h4>                     <button type="button" id="cancelBtn" class="close" data-dismiss="modal" style="display:none" aria-hidden="true">&times;<\/button>                   <\/div>                   <div class="modal-body">                      <p id="timeout-message">'+i.message.format('<span id="timeout-countdown">'+i.countdown+"<\/span>")+'<\/p><p id="timeout-question">'+i.question+'<\/p><\/div>                   <div class="modal-footer footer_two_buttons">                    <button id="timeout-keep-sign-in-btn" type="button" class="btn btn-primary">'+i.keep_alive_button_text+'<\/button>                     <a id="timeout-sign-out-btn" class="blue_link footer_link">'+i.sign_out_button_text+"<\/a>                   <\/div>                 <\/div>               <\/div>              <\/div>").appendTo("body");n("#session-timeout-dialog").modal("show");n("#timeout-keep-sign-in-btn").click(function(){t.keepAlive()});n("#timeout-sign-out-btn").click(function(){t.signOut(!0)});t.startCountdown()},destroyDialog:function(){n("#sessionTimeOutdialog").length&&(n("#cancelBtn").click(),n("#sessionTimeOutdialog").removeData("bs.modal"))},startCountdown:function(){var t=this,r=i.countdown;t.countdown=window.setInterval(function(){r-=1;n("#timeout-countdown").html(r);r<=0&&(window.clearInterval(t.countdown),t.signOut(!1))},1e3)},keepAlive:function(){var t=this;t.destroyDialog();window.clearInterval(t.countdown);n.get(i.keep_alive_url,function(){}).done(function(){window.location=i.keep_alive_url;i.restart_on_yes&&t.setupDialogTimer()}).fail(function(){t.signOut(!1)})},signOut:function(t){var r=this;r.destroyDialog();i.logout_url!=null?n.post(i.logout_url,function(){r.redirectLogout(t)}):r.redirectLogout(t)},redirectLogout:function(n){var t=n&&i.logout_url!=null?i.logout_url:i.logout_redirect_url;window.location=t}};r.init()}}(window.jQuery)