tinymce.PluginManager.add("autosave",function(e){functiont(e,t){varn={s:1e3,m:6e4};returne=/^(\d+)([ms]?)$/.exec(""+(e||t)),(e[2]?n[e[2]]:1)*parseInt(e,10)}functionn(){vare=parseInt(l.getItem(d+"time"),10)||0;return(newDate).getTime()-e>v.autosave_retention?(a(!1),!1):!0}functiona(t){l.removeItem(d+"draft"),l.removeItem(d+"time"),t!==!1&&e.fire("RemoveDraft")}functionr(){!c()&&e.isDirty()&&(l.setItem(d+"draft",e.getContent({format:"raw",no_events:!0})),l.setItem(d+"time",(newDate).getTime()),e.fire("StoreDraft"))}functiono(){n()&&(e.setContent(l.getItem(d+"draft"),{format:"raw"}),e.fire("RestoreDraft"))}functioni(){m||(setInterval(function(){e.removed||r()},v.autosave_interval),m=!0)}functions(){vart=this;t.disabled(!n()),e.on("StoreDraft RestoreDraft RemoveDraft",function(){t.disabled(!n())}),i()}functionu(){e.undoManager.beforeChange(),o(),a(),e.undoManager.add()}functionf(){vare;returntinymce.each(tinymce.editors,function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",!0)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e}functionc(t){varn=e.settings.forced_root_block;returnt=tinymce.trim("undefined"==typeoft?e.getBody().innerHTML:t),""===t||newRegExp("^<"+n+"[^>]*>((| |[ ]|<br[^>]*>)+?|)</"+n+">|<br>$","i").test(t)}vard,m,v=e.settings,l=tinymce.util.LocalStorage;d=v.autosave_prefix||"tinymce-autosave-{path}{query}-{id}-",d=d.replace(/\{path\}/g,document.location.pathname),d=d.replace(/\{query\}/g,document.location.search),d=d.replace(/\{id\}/g,e.id),v.autosave_interval=t(v.autosave_interval,"30s"),v.autosave_retention=t(v.autosave_retention,"20m"),e.addButton("restoredraft",{title:"Restore last draft",onclick:u,onPostRender:s}),e.addMenuItem("restoredraft",{text:"Restore last draft",onclick:u,onPostRender:s,context:"file"}),e.settings.autosave_restore_when_empty!==!1&&(e.on("init",function(){n()&&c()&&o()}),e.on("saveContent",function(){a()})),window.onbeforeunload=f,this.hasDraft=n,this.storeDraft=r,this.restoreDraft=o,this.removeDraft=a,this.isEmpty=c});