(function(w,x,y,z,A,B,m,C,n,p,q,D,E,r,F,G,H,s,I,K,t,u,L,v,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,j,k){Jmol.Console={buttons:{},buttonWidth:100,click:function(a){Jmol.Console.buttons[a].console.appletConsole.doAction(Jmol.Console.buttons[a])}};Jmol.consoleGetImageDialog=function(a,c,b){return new Jmol.Console.Image(a,c,b)};Jmol.Console.Image=function(a,c,b){this.vwr=a;this.title=c;this.imageMap=b;this.applet=a.html5Applet;a=this.applet._id+"_Image";this.id=
a+"_"+(""==c?"app":c).replace(/\W/g,"_");var e=Jmol._$(this.id+"_holder");if(!e[0]&&(e=Jmol._$(a+"_holder"))[0])this.id=a;e[0]?this.div=e:Jmol.Console.createDOM(this,'
');System.out.println("image "+this.id+" created");(a=b.get(this.id))&&a.closeMe();b.put(this.id,this);b.put(c,this)};Jmol.Console.Image.setCanvas=
function(a,c){Jmol.$append(Jmol._$(a.id+"_holder"),c);Jmol.$html(a.id+"_title"," close "+a.title+" ["+c.width+" x "+c.height+"]
")};Jmol.Console.Image.closeImage=function(a){a.imageMap.remove(a.title);a.imageMap.remove(a.id);a.div?Jmol.$remove(a.cid):(a.dragBind(!1),Jmol.$remove(a.id))};Jmol.Console.Image.prototype.setImage=function(a){this.cid&&
Jmol.$remove(this.cid);var c=document.createElement("canvas");c.width=a.width;c.height=a.height;var b=c.getContext("2d");if(a.buf32){var e=b.getImageData(0,0,c.width,c.height),d=e.data;a=a.buf32;for(var g=d.length>>2,h=0,f=0;h>16&255,d[f++]=a[h]>>8&255,d[f++]=a[h]&255,d[f++]=255;b.putImageData(e,0,0)}else b.drawImage(a,0,0);this.cid=c.id=this.id+"_image";Jmol.Console.Image.setCanvas(this,c)};Jmol.Console.Image.prototype.closeMe=function(){Jmol.Console.Image.closeImage(this)};Jmol.Swing.setDraggable(Jmol.Console.Image);
Jmol.Console.createDOM=function(a,c,b){var e=a.id;Jmol.Console.buttons[e]=a;c=c.replace(/\$ID/g,e);b&&b[0]?Jmol.$html(b,c):(Jmol.$after("body",c),a.setContainer(Jmol._$(e)),a.setPosition(),a.dragBind(!0))};Jmol.Console.JSConsole=function(a){this.applet=a.vwr.html5Applet;var c=this.id=this.applet._id+"_console",b=this;b.appletConsole=a;b.input=a.input=new Jmol.Console.Input(b);b.output=a.output=new Jmol.Console.Output(b);var e=Jmol.$("#"+c),d='
',
g=600,h=362;if(e[0]){var f=Jmol.$getSize(e);0==f[0]&&Jmol.$setSize(e,g,h);g=f[0]||g;h=f[1]||h}else d=''+d+"
";Jmol.Console.createDOM(this,d,e);d=function(a,b){b.console=a;b.id=c+"_"+b.label.replace(/\s/g,"_");Jmol.Console.buttons[b.id]=b;return b.html()};d=d(b,a.runButton)+d(b,a.loadButton)+d(b,a.clearInButton)+d(b,a.clearOutButton)+d(b,a.historyButton)+
d(b,a.stateButton);Jmol.$html(c+"_buttondiv",d);d="";e[0]||(d+=" close ");d+=' help ";Jmol.$html(c+"_label1",d);e[0]?(g-=10,h=(h-Jmol.$getSize(c+"_label1")[1]-Jmol.$getSize(c+"_buttondiv")[1]-20)/3):(g-=10,h=(h-62)/3);Jmol.$html(c+"_inputdiv",'');
Jmol.$html(c+"_outputdiv",'');Jmol.$bind("#"+c+"_input","keydown keypress keyup",function(a){b.input.keyEvent(a)});Jmol.$bind("#"+c+"_input","mousedown touchstart",function(){b.ignoreMouse=!0});Jmol.$bind("#"+c+"_output","mousedown touchstart",function(){b.ignoreMouse=!0});b.setButton=function(a){return new Jmol.Console.Button(this,a)};b.setVisible=function(a){a?this.container.show():this.container.hide();this.dragBind(a)};
b.setTitle=function(){};b.setVisible(!1)};Jmol.Swing.setDraggable(Jmol.Console.JSConsole);Jmol.Console.Input=function(a){this.console=a;this.id=a.id+"_input";this.getText=function(){return Jmol.$val(this.id)};this.setText=function(a){null==a&&(a="");Jmol.$val(this.id,a)};this.keyEvent=function(a){var b;b=a.type;var e=a.ctrlKey,d=a.keyCode;13==d&&(d=10);if("keyup"==b)b=38==d||40==d?1:this.console.appletConsole.processKey(d,402,e),1==(b&1)&&a.preventDefault();else{var g="keydown"==b,h=g?a.key||a.originalEvent.keyIdentifier:
"";switch(d){case 38:case 40:g||(d=0);break;case 8:case 9:case 10:case 27:break;default:d=0}b=this.console.appletConsole.processKey(d,401,e);e&&10==d&&this.setText(this.getText()+"\n");if(0==b&&9==a.keyCode){var f=this;setTimeout(function(){f.setText(f.getText()+"\t");Jmol.$focus(f.id)},10)}(1==(b&1)||"Up"==h||"Down"==h||g&&8!=a.keyCode&&32>a.keyCode)&&a.preventDefault()}};this.getCaretPosition=function(){var a=Jmol._$(this.id)[0];if("selectionStart"in a)return a.selectionStart;if(!("selection"in
document))return 0;a.focus();var b=document.selection.createRange(),e=document.selection.createRange().text.length;b.moveStart("character",-a.value.length);return b.text.length-e}};Jmol.Console.Output=function(a){this.id=a.id+"_output";this.getText=function(){return Jmol.$val(this.id)};this.setText=function(a){null==a&&(a="");Jmol.$val(this.id,a)};this.append=function(a){this.setText(this.getText()+a);Jmol.$scrollTo(this.id,-1)}};Jmol.Console.Button=function(a){this.label=a};Jmol.Console.Button.prototype.addConsoleListener=
function(a){this.appletConsole=a;Jmol.Console.buttons[this.id]=this};Jmol.Console.Button.prototype.html=function(){return' "};m("J.console");v(J.console,"GenericTextArea");m("J.console");n(["J.api.JmolAppConsoleInterface","$.JmolCallbackListener","java.util.Hashtable"],"J.console.GenericConsole","java.lang.Boolean JU.PT J.c.CBK J.i18n.GT JS.T JV.Viewer".split(" "),
function(){c$=q(function(){this.label1=this.defaultMessage=this.loadButton=this.clearInButton=this.clearOutButton=this.stateButton=this.historyButton=this.runButton=this.editButton=this.menuMap=this.vwr=this.output=this.input=null;this.nTab=0;this.incompleteCmd=null;p(this,arguments)},J.console,"GenericConsole",null,[J.api.JmolAppConsoleInterface,J.api.JmolCallbackListener]);t(c$,function(){this.menuMap=new java.util.Hashtable});j(c$,"setViewer",function(a){this.vwr=a;null==J.console.GenericConsole.labels&&
(a=new java.util.Hashtable,a.put("title",J.i18n.GT.$("Jmol Script Console")+" "+JV.Viewer.getJmolVersion()),this.setupLabels(a),J.console.GenericConsole.labels=a)},"JV.Viewer");j(c$,"addButton",function(a,c){a.addConsoleListener(this);this.menuMap.put(c,a);return a},"J.api.JmolAbstractButton,~S");j(c$,"getLabel1",function(){return null});j(c$,"setupLabels",function(a){a.put("saveas",J.i18n.GT.$("&Save As..."));a.put("file",J.i18n.GT.$("&File"));a.put("close",J.i18n.GT.$("&Close"));this.setupLabels0(a)},
"java.util.Map");j(c$,"setupLabels0",function(a){a.put("help",J.i18n.GT.$("&Help"));a.put("search",J.i18n.GT.$("&Search..."));a.put("commands",J.i18n.GT.$("&Commands"));a.put("functions",J.i18n.GT.$("Math &Functions"));a.put("parameters",J.i18n.GT.$("Set &Parameters"));a.put("more",J.i18n.GT.$("&More"));a.put("Editor",J.i18n.GT.$("Editor"));a.put("State",J.i18n.GT.$("State"));a.put("Run",J.i18n.GT.$("Run"));a.put("Clear Output",J.i18n.GT.$("Clear Output"));a.put("Clear Input",J.i18n.GT.$("Clear Input"));
a.put("History",J.i18n.GT.$("History"));a.put("Load",J.i18n.GT.$("Load"));a.put("label1",J.i18n.GT.$("press CTRL-ENTER for new line or paste model data and press Load"));a.put("default",J.i18n.GT.$("Messages will appear here. Enter commands in the box below. Click the console Help menu item for on-line help, which will appear in a new browser window."))},"java.util.Map");j(c$,"setLabels",function(){var a=J.i18n.GT.setDoTranslate(!0);this.editButton=this.setButton("Editor");this.stateButton=this.setButton("State");
this.runButton=this.setButton("Run");this.clearOutButton=this.setButton("Clear Output");this.clearInButton=this.setButton("Clear Input");this.historyButton=this.setButton("History");this.loadButton=this.setButton("Load");this.defaultMessage=J.console.GenericConsole.getLabel("default");this.setTitle();J.i18n.GT.setDoTranslate(a)});c$.getLabel=j(c$,"getLabel",function(a){return J.console.GenericConsole.labels.get(a)},"~S");j(c$,"displayConsole",function(){this.layoutWindow(null);this.outputMsg(this.defaultMessage)});
j(c$,"updateLabels",function(){});j(c$,"completeCommand",function(a){if(0==a.length)return null;var c=0>=this.nTab||null==this.incompleteCmd?a:this.incompleteCmd;this.incompleteCmd=c;a=J.console.GenericConsole.splitCommandLine(a);if(null==a)return null;var b=null==a[2],e=null!=a[3],d=a[b?1:2],g=a[1];if(0==d.length)return null;a=JS.T.getTokenFromName(g.trim().toLowerCase());var h=JS.T.tokAttr(null==a?0:a.tok,12288);a=J.console.GenericConsole.splitCommandLine(c);var f=null;if(!b&&('"'==d.charAt(0)||
"'"==d.charAt(0)))b=d.charAt(0),JU.PT.trim(d,"\"'"),d=JU.PT.trim(a[2],"\"'"),f=this.nextFileName(d,this.nTab),null!=f&&(f=a[0]+a[1]+b+f+b);else{f=null;if(!b&&(d=g,e||a[2].startsWith("$")||h))f=new java.util.Hashtable,this.vwr.getObjectMap(f,e||h?"{":a[2].startsWith("$")?"$":"0");f=JS.T.completeCommand(f,g.equalsIgnoreCase("set "),b,b?a[1]:a[2],this.nTab);f=a[0]+(null==f?d:b?f:a[1]+f)}return null==f||f.equals(c)?null:f},"~S");j(c$,"doAction",function(a){if(a===this.runButton)this.execute(null);else if(a===
this.editButton)this.vwr.getProperty("DATA_API","scriptEditor",null);else if(a===this.historyButton)this.clearContent(this.vwr.getSetHistory(2147483647));else if(a===this.stateButton)this.clearContent(this.vwr.getStateInfo());else if(a===this.clearInButton){this.input.setText("");return}a===this.clearOutButton?this.output.setText(""):a===this.loadButton?this.vwr.loadInlineAppend(this.input.getText(),!1):this.isMenuItem(a)&&this.execute(a.getName())},"~O");j(c$,"execute",function(a){var c=null==a?
this.input.getText():a;null==a&&this.input.setText(null);a=this.vwr.script(c+"\u0001## EDITOR_IGNORE ##");null!=a&&!a.equals("pending")&&this.outputMsg(a)},"~S");j(c$,"destroyConsole",function(){this.vwr.isApplet&&this.vwr.getProperty("DATA_API","getAppConsole",Boolean.FALSE)});c$.setAbstractButtonLabels=j(c$,"setAbstractButtonLabels",function(a,c){for(var b,e=a.keySet().iterator();e.hasNext()&&((b=e.next())||1);){var d=a.get(b),g=c.get(b);if(b.indexOf("Tip")==b.length-3)d.setToolTipText(c.get(b));
else{var h=J.console.GenericConsole.getMnemonic(g);" "!=h&&d.setMnemonic(h);g=J.console.GenericConsole.getLabelWithoutMnemonic(g);d.setText(g)}}},"java.util.Map,java.util.Map");c$.getLabelWithoutMnemonic=j(c$,"getLabelWithoutMnemonic",function(a){if(null==a)return null;var c=a.indexOf("&");return-1==c?a:a.substring(0,c)+(cg?f:g);c[2]=f==h?null:a.substring(f);c[3]=0