(function(ba,ca,da,ea,fa,ga,S,O,T,V,W,E,X,Y,ha,R,P,Q,Z,ia,$,ja,ka,la,ma,na,oa,z,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Pa,m,aa){S("JS");T(null,"JS.ScriptExt",["JU.AU"],function(){var k=W(function(){this.e=this.vwr=null;this.chk=!1;this.st=null;this.slen=0;V(this,arguments)},JS,"ScriptExt",null);m(k,"init",function(a){this.e=a;this.vwr=this.e.vwr;return this},"~O");m(k,"atomExpressionAt",function(a){return this.e.atomExpressionAt(a)},"~N");m(k,"checkLength",function(a){this.e.checkLength(a)},
"~N");m(k,"error",function(a){this.e.error(a)},"~N");m(k,"invArg",function(){this.e.invArg()});m(k,"invPO",function(){this.error(23)});m(k,"getShapeProperty",function(a,c){return this.e.getShapeProperty(a,c)},"~N,~S");m(k,"paramAsStr",function(a){return this.e.paramAsStr(a)},"~N");m(k,"centerParameter",function(a){return this.e.centerParameter(a,null)},"~N");m(k,"floatParameter",function(a){return this.e.floatParameter(a)},"~N");m(k,"getPoint3f",function(a,c){return this.e.getPoint3f(a,c,!0)},"~N,~B");
m(k,"intParameter",function(a){return this.e.intParameter(a)},"~N");m(k,"isFloatParameter",function(a){switch(this.e.tokAt(a)){case 2:case 3:return!0}return!1},"~N");m(k,"setShapeProperty",function(a,c,b){this.e.setShapeProperty(a,c,b)},"~N,~S,~O");m(k,"showString",function(a){this.e.showString(a)},"~S");m(k,"stringParameter",function(a){return this.e.stringParameter(a)},"~N");m(k,"getToken",function(a){return this.e.getToken(a)},"~N");m(k,"tokAt",function(a){return this.e.tokAt(a)},"~N");m(k,"setShapeId",
function(a,c,b){b&&this.invArg();c=this.e.setShapeNameParameter(c).toLowerCase();this.setShapeProperty(a,"thisID",c);return c},"~N,~N,~B");m(k,"getColorTrans",function(a,c,b,e){b=3.4028235E38;1765808134!=a.theTok&&--c;switch(this.tokAt(c+1)){case 603979967:c++;b=this.isFloatParameter(c+1)?a.getTranslucentLevel(++c):this.vwr.getFloat(570425353);break;case 1073742074:c++,b=0}a.isColorParam(c+1)?e[0]=a.getArgbParam(++c):1073742333==this.tokAt(c+1)?(e[0]=0,a.iToken=c+1):3.4028235E38==b?this.invArg():
e[0]=-2147483648;return b},"JS.ScriptEval,~N,~B,~A");m(k,"finalizeObject",function(a,c,b,e,f,d,h,j){f&&this.setShapeProperty(a,"set",d);-2147483648!=c&&this.e.setShapePropertyBs(a,"color",Integer.$valueOf(c),j);3.4028235E38!=b&&this.e.setShapeTranslucency(a,"","translucent",b,j);0!=e&&this.setShapeProperty(a,"scale",Integer.$valueOf(e));0<h&&(this.e.setMeshDisplayProperty(a,h,0)||this.invArg())},"~N,~N,~N,~N,~B,~O,~N,JU.BS");m(k,"getIntArray2",function(a){a=this.e.getToken(a).getList();for(var c=
JU.AU.newInt2(a.size()),b=c.length;0<=--b;){var e=a.get(b).getList();null==e&&this.invArg();c[b]=P(e.size(),0);for(var f=c[b].length;0<=--f;)c[b][f]=e.get(f).intValue}return c},"~N");m(k,"getAllPoints",function(a,c){var b=null,e=null;try{switch(this.e.tokAt(a)){case 7:b=this.e.getPointArray(a,-1,!1);break;case 12290:case 10:case 1073742325:e=this.atomExpressionAt(a)}null==b&&(null==e&&(e=this.vwr.getAllAtoms()),b=this.bsToArray(e))}catch(f){if(!R(f,Exception))throw f;}(null==b||b.length<c)&&this.invArg();
return b},"~N,~N");m(k,"bsToArray",function(a){for(var c=Array(a.cardinality()),b=a.nextSetBit(0),e=0;0<=b;b=a.nextSetBit(b+1))c[e++]=this.vwr.ms.at[b];return c},"JU.BS")});S("JS");T(["JS.ScriptExt"],"JS.CmdExt","java.util.Hashtable JU.AU $.BS $.Base64 $.Lst $.M3 $.M4 $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 J.api.Interface J.atomdata.RadiusData J.c.STER $.VDW J.i18n.GT JM.AtomCollection $.LabelToken $.Measurement $.ModelSet $.Text JS.SV $.ScriptCompiler $.ScriptError $.ScriptEval $.ScriptInterruption $.ScriptMathProcessor $.T JU.BSUtil $.BoxInfo $.C $.Edge $.Elements $.Escape $.Logger $.Parser $.Point3fi $.SimpleUnitCell JV.FileManager $.StateManager $.Viewer".split(" "),
function(){var k=Z(JS,"CmdExt",JS.ScriptExt);Y(k,function(){$(this,JS.CmdExt,[])});aa(k,"dispatch",function(a,c,b){this.chk=this.e.chk;this.slen=this.e.slen;this.st=b;switch(a){case 1073741866:b[0].value=this.prepareBinaryOutput(b[0]);break;case 4098:this.assign();break;case 134221829:this.cache();break;case 4102:this.calculate();break;case 4103:this.capture();break;case 4105:this.centerAt();break;case 134221831:this.compare();break;case 528395:this.console();break;case 4106:this.connect(1);break;
case 1094717448:this.configuration();break;case 134221834:this.data();break;case 1613238294:this.connect(0);break;case 4120:this.image();break;case 4122:this.invertSelected();break;case 4124:this.macro();break;case 4125:this.mapProperty();break;case 4126:this.minimize(!1);break;case 603983903:this.modelkit();break;case 1275072532:this.modulation();break;case 4130:this.mutate();break;case 4131:this.navigate();break;case 4133:case 134221850:case 4138:this.plot(b);break;case 134222350:this.show();break;
case 528443:this.stereo();break;case 1814695966:this.unitcell(c?2:1,!1);break;case 134221856:return this.write(c?b:null);case 6:this.measure();break;case 21:this.polyhedra();break;case 20:this.ellipsoid();break;case 4:this.struts()}return null},"~N,~B,~A");m(k,"macro",function(){if(!this.chk){var a=this.e.optParameterAsString(1);if(0==a.length)this.showString(this.vwr.getMacro(null));else{var c=this.vwr.getMacro(a);null==c?this.showString("macro "+a+" could not be found. Current macros include:\n"+
this.vwr.getMacro(null)):(this.showString("running "+c),this.e.cmdScript(4124,c,null,null))}}});m(k,"evalParallel",function(a,c){this.chk=this.e.chk;this.slen=this.e.slen;var b=(new JS.ScriptEval).setViewer(this.vwr);b.historyDisabled=!0;b.compiler=new JS.ScriptCompiler(this.vwr);b.sm=c;try{b.restoreScriptContext(a,!0,!1,!1),b.setAllowJSThreads(!1),b.dispatchCommands(!1,!1,!1)}catch(e){if(R(e,Exception))return this.e.vwr.setStringProperty("_errormessage",""+e),null==b.thisContext&&(JU.Logger.error("Error evaluating context "+
e),e.printStackTrace()),!1;throw e;}return!0},"JS.ScriptContext,JV.ShapeManager");m(k,"getBitsetIdent",function(a,c,b,e,f,d){return this.getBitsetIdentFull(a,c,e,f,d,null)},"JU.BS,~S,~O,~B,~N,~B");m(k,"getBitsetIdentFull",function(a,c,b,e,f,d){var h=!O(a,"JM.BondSet");h?null==c?c=this.vwr.getStandardLabelFormat(0):0==c.length&&(c="%[label]"):null!=c&&0==c.length?c="[%a1 #%i1] %4.3LENGTH [%a2 #%i2] #%#":"%U".equals(c)&&(c="");var j=null==c?-1:c.indexOf("%"),g=2147483647!=e;if(null==a||this.chk||h&&
0>j)return null==c&&(c=""),f?z(-1,[c]):c;var j=this.vwr.ms,n=0;j.getLabeler();b=h||!b?null:a.getAssociatedAtoms(j);var s=null==c||0==c.length,p=h||s?null:JM.LabelToken.getBondLabelValues();c=s?null:h?JM.LabelToken.compile(this.vwr,c,"\x00",null):JM.LabelToken.compile(this.vwr,c,"\u0001",p);var v=g?1:a.cardinality(),l=null!=d;l||(d=Array(v));var x=new JU.P3;for(e=g?e:a.nextSetBit(0);0<=e;e=a.nextSetBit(e+1)){var r;h?r=s?j.at[e].getInfo():JM.LabelToken.formatLabelAtomArray(this.vwr,j.at[e],c,"\x00",
b,x):(r=j.bo[e],r=s?r.getIdentity():JM.LabelToken.formatLabelBond(this.vwr,r,c,p,b,x));r=JU.PT.formatStringI(r,"#",n+1);d[l?e:n]=r;n++;if(g)break}return 1==v&&!f?d[0]:d},"JU.BS,~S,~B,~N,~B,~A");m(k,"getLoadSymmetryParams",function(a,c,b){var e=this.e;this.chk=e.chk;this.slen=e.slen;var f=!1,d=null,h=this.tokAt(a);if(1073742332==h||8==h)d=e.getFractionalPoint(a),h=this.tokAt(a=e.iToken+1);switch(h){case 134217764:f=b.get("isEmptyLoad")===Boolean.TRUE;case 1073741938:case 1073742080:case 1094713350:case 1073742163:case 1073742114:case 1814695966:null==
d&&(d=JU.P3.new3(555,555,-1)),e.iToken=a-1}h=null;if(null!=d){b.put("lattice",d);a=e.iToken+1;c.append(" "+JU.SimpleUnitCell.escapeMultiplier(d));a=this.checkPacked(a,b,c);1094713350==this.tokAt(a)&&(b.put("centroid",Boolean.TRUE),c.append(" CENTROID"),a=this.checkPacked(++a,b,c));if(1073742163==this.tokAt(a)){var j;c.append(" SUPERCELL ");if(e.isPoint3f(++a)){j=this.getPoint3f(a,!1);if(j.x!=E(j.x)||j.y!=E(j.y)||j.z!=E(j.z)||1>j.x||1>j.y||1>j.z)e.iToken=a,this.invArg();a=e.iToken}else j=this.stringParameter(a);
c.append(JU.Escape.e(j));b.put("supercell",j);a=this.checkPacked(++a,b,c)}j=0;1073742114==this.tokAt(a)&&(a++,j=this.floatParameter(a++),c.append(" range "+j));b.put("symmetryRange",Float.$valueOf(j));j=null;var g,n=-2147483648;134217764==this.tokAt(a)&&(++a,j=JU.PT.rep(this.paramAsStr(a++),"''",'"'),c.append(" spacegroup "+JU.PT.esc(j)),j.equalsIgnoreCase("ignoreOperators")?n=-999:(0==j.length?(g=this.vwr.getCurrentUnitCell(),null!=g&&(j=g.getSpaceGroupName())):0<=j.indexOf(",")&&9>d.x&&(9>d.y&&
0==d.z)&&(j+="#doNormalize=0"),b.put("spaceGroupName",j),n=-2));d=null;if(1814695966==this.tokAt(a)){++a;g=e.optParameterAsString(a);0==g.length?(g=this.vwr.getCurrentUnitCell(),null!=g&&(d=g.getUnitCellAsArray(!0),h=g.getCartesianOffset())):4==this.tokAt(a)?(d=Q(6,0),JU.SimpleUnitCell.setOabc(g,d,null)):d=e.floatParameterSet(a,6,9);(null==d||6!=d.length&&9!=d.length)&&this.invArg();c.append(" unitcell [");for(a=0;a<d.length;a++)c.append((0==a?"":" ")+d[a]);c.append("]");b.put("unitcell",d);-2147483648==
n&&(n=-1);a=e.iToken+1}-2147483648!=n&&b.put("spaceGroupIndex",Integer.$valueOf(n));f&&null==d&&null!=j&&JU.PT.parseInt(j)}f=!1;null==h&&1073742066==this.tokAt(a)&&(h=this.getPoint3f(++a,!0),f=e.coordinatesAreFractional);null!=h&&(f?(h.setT(e.fractionalPoint),b.put("unitCellOffsetFractional",f?Boolean.TRUE:Boolean.FALSE),c.append(" offset {"+h.x+" "+h.y+" "+h.z+"/1}")):c.append(" offset "+JU.Escape.eP(h)),b.put("unitCellOffset",h),a=e.iToken+1);return a},"~N,JU.SB,java.util.Map");m(k,"checkPacked",
function(a,c,b){switch(this.tokAt(a)){case 1073741938:c.put("packed",Boolean.TRUE);var e=null,f=this.tokAt(++a);switch(f){case 1812599299:case 1814695966:case 4:break;default:this.e.isArrayParameter(a)?(e=this.e.getPointArray(a,-1,!1),a=this.e.iToken):this.isFloatParameter(a)?(e=this.floatParameter(a),e=z(-1,[new JU.P3,JU.P3.new3(e,e,e)])):(e=[],--a)}a++;if(this.e.chk)break;switch(f){case 4:a--;case 1814695966:e=this.e.optParameterAsString(a++).toLowerCase();if(JU.PT.isOneOf(e,";conventional;primitive;rhombohedral;trigonal;")||
0<=e.indexOf(",")&&0<=e.indexOf("a")&&0<=e.indexOf("b")&&0<=e.indexOf("c"))return c.put("fillRange",e),b.append(' FILL UNITCELL "'+e+'"'),a;e=this.vwr.getCurrentUnitCell();if(null!=e){e=JU.BoxInfo.toOABC(e.getUnitCellVerticesNoOffset(),e.getCartesianOffset());break}case 1812599299:e=JU.BoxInfo.toOABC(this.vwr.ms.getBBoxVertices(),null)}switch(e.length){case 2:f=e[1];e=z(-1,[e[0],JU.P3.newP(e[0]),new JU.P3,new JU.P3]);e[1].x=f.x;e[2].y=f.y;e[3].z=f.z;break;case 3:e=z(-1,[new JU.P3,e[0],e[1],e[2]]);
break;case 4:break;default:e=z(-1,[new JU.P3,JU.P3.new3(10,0,0),JU.P3.new3(0,10,0),JU.P3.new3(0,0,10)])}c.put("fillRange",e);b.append(" FILL ["+e[0]+e[1]+e[2]+e[3]+"]");break;case 1073742080:e=NaN,this.isFloatParameter(++a)&&(e=this.floatParameter(a++)),this.e.chk||(c.put("packed",Boolean.TRUE),b.append(" PACKED"),Float.isNaN(e)||(c.put("packingRange",Float.$valueOf(e)),b.append(" "+e)))}return a},"~N,java.util.Map,JU.SB");m(k,"cache",function(){var a=this.tokAt(1),c=null,b=2;switch(a){case 1275069441:case 1073742119:c=
this.e.optParameterAsString(b++);case 1073741882:this.checkLength(b);this.chk||("all".equals(c)&&(c=null),c=this.vwr.cacheFileByName(c,1275069441==a),this.showString(0>c?"cache cleared":c+" bytes "+(1275069441==a?" cached":" removed")));break;default:this.invArg()}});m(k,"calculate",function(){var a=!1,c=!1,b=null,e=null,f=this.e,d=-2147483648,d=-1;if(2<=(f.iToken=f.slen))switch(f.clearDefinedVariableAtomSets(),this.getToken(1).tok){case 2:if(3!=this.intParameter(1)||!this.paramAsStr(2).equalsIgnoreCase("D"))break;
0>this.vwr.am.cmi&&f.errorStr(30,"calculate 3D");b="load append $ filter '2D';select visible;center selected";f.optParameterAsString(3).equalsIgnoreCase("ZAP")&&(b+=";zap modelIndex="+Math.max(this.vwr.am.cmi,0));this.chk||f.runScript(b);return;case 1073741824:this.checkLength(2);break;case 134217764:f.iToken=1;b=2==this.slen?null:this.atomExpressionAt(2);f.checkLast(f.iToken);this.chk||f.showString(""+this.vwr.findSpaceGroup(b,null,null,!0,!1,!1));return;case 1086324752:f.iToken=1;b=2==this.slen?
null:this.atomExpressionAt(2);f.checkLast(f.iToken);this.chk||f.showString(this.vwr.calculateChirality(b));return;case 1631586315:this.checkLength(2);if(this.chk)return;d=this.vwr.calculateFormalCharges(null);this.showString(J.i18n.GT.i(J.i18n.GT.$("{0} charges modified"),d));return;case 1075838996:this.checkLength(2);this.chk||this.vwr.ms.assignAromaticBondsBs(!0,null);return;case 1613238294:2!=f.slen&&(b=(c=1639976963==this.tokAt(++f.iToken))?this.vwr.bsA():this.atomExpressionAt(f.iToken),!c&&1639976963!=
this.tokAt(++f.iToken)&&(e=this.atomExpressionAt(f.iToken)));if(this.chk)return;d=this.vwr.autoHbond(b,e,!1);-2147483648!=d&&f.report(J.i18n.GT.i(J.i18n.GT.$("{0} hydrogen bonds"),Math.abs(d)),!1);return;case 1612709900:a=this.tokAt(2);(c=1073742335==a)?f.iToken++:528443==a&&f.iToken++;b=this.slen==f.iToken+1?null:this.atomExpressionAt(f.iToken+1);null==b&&528443==a&&(b=this.vwr.getAtomBitSet("_C & connected(3) & !connected(double)"));f.checkLast(f.iToken);this.chk||(this.vwr.addHydrogens(b,0),c&&
(null==b&&(b=this.vwr.bsA()),this.vwr.makeConnections(0.1,1E8,515,1073742025,b,b,null,!1,!1,0),this.vwr.ms.assignAromaticBondsBs(!0,null)));return;case 1111492619:f.iToken=1;b=2==this.slen?null:this.atomExpressionAt(2);f.checkLast(f.iToken);this.chk||f.getPartialCharges(b);return;case 1088421903:case 1275068447:this.chk||(1275203608==this.tokAt(2)?(a=4==this.tokAt(3)?this.stringParameter(3):null,b=null!=a||3==this.slen?null:this.atomExpressionAt(3),b=z(-1,[a,null,b]),this.showString(f.getShapePropertyData(21,
"symmetry",b)?b[1]:"")):(b=2==this.slen?this.vwr.bsA():this.atomExpressionAt(2),this.showString(this.vwr.ms.calculatePointGroup(b))));return;case 1111490574:this.checkLength(2);this.chk||(this.vwr.calculateStraightness(),this.vwr.addStateScript("set quaternionFrame '"+this.vwr.getQuaternionFrame()+"'; calculate straightness",!1,!0));return;case 1639976963:b=4>this.slen||this.isFloatParameter(3)?null:this.atomExpressionAt(2);switch(this.tokAt(++f.iToken)){case 4138:break;case 1111490587:if(this.chk)return;
f.showString(this.vwr.getAnnotationParser(!0).calculateDSSRStructure(this.vwr,b));return;case 1073741915:c=!0;d=this.slen==f.iToken+1?-1:E(this.floatParameter(++f.iToken));break;case 0:c=this.vwr.getBoolean(603979826);break;default:this.invArg()}this.chk||this.showString(this.vwr.calculateStructures(b,c,!0,d));return;case 659482:b=f.iToken+1<this.slen?this.atomExpressionAt(++f.iToken):null;e=f.iToken+1<this.slen?this.atomExpressionAt(++f.iToken):null;this.checkLength(++f.iToken);this.chk||(d=this.vwr.calculateStruts(b,
e),0<d&&(this.setShapeProperty(1,"type",Integer.$valueOf(32768)),f.setShapePropertyBs(1,"color",Integer.$valueOf(16777215),null),f.setShapeTranslucency(1,"","translucent",0.5,null),this.setShapeProperty(1,"type",Integer.$valueOf(1023))),this.showString(J.i18n.GT.i(J.i18n.GT.$("{0} struts added"),d)));return;case 2097180:a=!0;case 1111490575:c=!1;switch(this.tokAt(2)){case 134217759:f.iToken++;break;case 0:c=!a;break;case 1073741952:c=!0;f.iToken++;break;default:c=!0}b=f.iToken+1<this.slen?this.atomExpressionAt(++f.iToken):
this.vwr.bsA();this.checkLength(++f.iToken);this.chk||this.vwr.calculateSurface(b,c?3.4028235E38:-1);return}f.errorStr2(53,"CALCULATE","3D? aromatic? hbonds? hydrogen? formalCharge? partialCharge? pointgroup? straightness? structure? struts? surfaceDistance FROM? surfaceDistance WITHIN?")});m(k,"capture",function(){if(!this.chk&&!this.vwr.allowCapture())this.showString("Cannot capture on this platform");else{var a=this.vwr.captureParams,c=null==a?"GIF":a.get("type"),b=0,e=0,f=this.e.slen,d="",h=1073742070!=
this.vwr.am.animationReplayMode,j=1,g=this.tokAt(j),n=603979967==g;n&&(g=this.tokAt(++j));var s=null;switch(0==g?g=102409:g){case 4:d=this.e.optParameterAsString(j++);if(0==d.length){e=102409;break}c=d.toLowerCase();c.endsWith(".gift")||c.endsWith(".pngt")?(n=!0,d=d.substring(0,d.length-1),c=d.toLowerCase()):!c.endsWith(".gif")&&!c.contains(".png")&&(d+=".gif");c.endsWith(".png")?(c.endsWith("0.png")||(d=d.substring(0,d.length-4)+"0000.png"),c="PNG"):c="GIF";n&&(c+="T");g=d.indexOf("0000.");g=0>g||
g!=d.lastIndexOf(".")-4;e=!1;528411==this.tokAt(j)&&(h=!0,this.tokAt(++j));switch(this.tokAt(j)){case 134222850:s=this.stringParameter(++j);break;case 1073742129:e=!0;case 1611141175:a="y";h=!0;j++;e?(j<f&&2!=this.tokAt(j)&&(a=this.e.optParameterAsString(j++).toLowerCase()),s="rotate Y 10 10;rotate Y -10 -10;rotate Y -10 -10;rotate Y 10 10",f=j<f?this.intParameter(j++):5,s=0>f?JU.PT.rep(s,"10;",""+-f+";"):JU.PT.rep(s,"10",""+f)):(j<f&&(a=this.e.optParameterAsString(j++).toLowerCase()),s="rotate Y 360 30;");
if(this.chk)return;this.vwr.setNavigationMode(!1);if(""===a||0>"xyz".indexOf(a))a="y";s=JU.PT.rep(s,"Y",a);break;case 3:case 2:b=this.floatParameter(j++)}if(this.chk)return;if(null!=s){s="set waitformoveto true;"+s+";set waitformoveto "+this.vwr.g.waitForMoveTo;s="capture "+(n?"transparent ":"")+JU.PT.esc(d)+(h?" LOOP;":";")+s+";capture end;";this.e.cmdScript(0,null,s,null);return}e=1073742031;a=new java.util.Hashtable;n=this.vwr.getInt(553648132);g&&(a.put("streaming",Boolean.TRUE),h||this.showString(J.i18n.GT.o(J.i18n.GT.$("Note: Enable looping using the LOOP keyword just after the file name or {0}"),
z(-1,["ANIMATION MODE LOOP"]))),this.showString(J.i18n.GT.o(J.i18n.GT.$("Animation delay based on: {0}"),z(-1,["ANIMATION FPS "+n]))));a.put("captureFps",Integer.$valueOf(n));break;case 102409:case 1073741874:null!=a&&a.put("captureSilent",Boolean.TRUE);case 1073742335:case 1073742334:this.checkLength(-2);e=g;break;default:this.invArg()}this.chk||null==a||(a.put("type",c),c=Integer.$valueOf(this.vwr.getBackgroundArgb()),a.put("backgroundColor",c),a.put("fileName",d),a.put("quality",Integer.$valueOf(-1)),
a.put("endTime",Long.$valueOf(0>=b?-1:System.currentTimeMillis()+X(1E3*b))),a.put("captureMode",JS.T.nameOf(e).toLowerCase()),a.put("captureLooping",h?Boolean.TRUE:Boolean.FALSE),b=this.vwr.processWriteOrCapture(a),null==b&&(b="canceled"),JU.Logger.info(b))}});m(k,"centerAt",function(){var a=this.getToken(1).tok;switch(a){case 1073741826:case 96:case 1812599299:break;default:this.invArg()}var c=JU.P3.new3(0,0,0);5==this.slen?(c.x=this.floatParameter(2),c.y=this.floatParameter(3),c.z=this.floatParameter(4)):
this.e.isCenterParameter(2)?(c=this.centerParameter(2),this.e.checkLast(this.e.iToken)):this.checkLength(2);!this.chk&&!this.vwr.isJmolDataFrame()&&this.vwr.tm.setCenterAt(a,c)});m(k,"compare",function(){var a=this.e,c=!1,b=!1,e=!1,f=!1,d=!1,h=null,j=null,g=null,n=null,s=null,p=null;a.iToken=0;var v=this.isFloatParameter(1)?this.floatParameter(++a.iToken):NaN,l=null,x=null,r=null,f=0;if(4115==this.tokAt(1))x=this.vwr.bsA();else if(x=this.atomExpressionAt(1),a.isArrayParameter(++a.iToken))l=a.getPointArray(a.iToken,
-1,!1);else if(1153433601!=(f=this.tokAt(a.iToken))&&4115!=f)r=this.atomExpressionAt(a.iToken);var A=null,t=!1,q=!1,u=null,k=JU.BSUtil.copy(x);null!=r&&k.or(r);for(var m=null==l&&null!=r&&k.equals(x),k=m,F=1153433601==f,H=!1,y=a.iToken+1;y<this.slen;++y)switch(this.getToken(y).tok){case 4115:k=!0;null==r&&(r=JU.BSUtil.copy(x));break;case 134218757:if(t=!0,f=this.tokAt(y+1),4!=f&&1275203608!=f){u="*";break}case 134218756:u=(q=1275203608==this.tokAt(++y))?"polyhedra":this.stringParameter(y);if(u.equalsIgnoreCase("polyhedra")||
u.equalsIgnoreCase("polyhedron"))q=!0;break;case 1677721602:b=d=!0;u=this.paramAsStr(++y);u.equalsIgnoreCase("SMILES")&&(t=!0,1612709900==this.e.tokAt(y+1)?(u="H",y++):u="*");break;case 3:case 2:v=Math.abs(this.floatParameter(y));break;case 268436992:break;case 2109448:A=this.atomExpressionAt(++y);y=a.iToken;break;case 10:case 1073742325:null!=p&&this.invArg();g=this.atomExpressionAt(a.iToken);f=m?0:this.tokAt(a.iToken+1);n=null==l&&a.isArrayParameter(a.iToken+1)?null:10==f||1073742325==f?this.atomExpressionAt(++a.iToken):
JU.BSUtil.copy(g);null!=A&&(g.and(A),null!=n&&n.and(A));null==n?(f=a.iToken,l=a.getPointArray(a.iToken+1,-1,!1),null==l?a.iToken=f:H=!0):null!=r&&n.and(r);null==s&&(s=new JU.Lst);s.addLast(z(-1,[g,null==n?l:n]));F&&(l=null);y=a.iToken;break;case 1275203608:t=q=!0;break;case 4125:break;case 7:null!=s&&this.invArg();c=!0;h=a.getQuaternionArray(a.theToken.getList(),1073742001);this.getToken(++y);j=a.getQuaternionArray(a.theToken.getList(),1073742001);null==p&&(p=new JU.Lst);p.addLast(z(-1,[h,j]));break;
case 1073742077:c=!0;break;case 1153433601:F=!0;c=!1;break;case 134217751:c=!1;break;case 528432:b=!0;break;case 4160:e=!0;break;default:this.invArg()}if(!this.chk){k&&(v=0);Float.isNaN(v)||0>v?v=1:!b&&!e&&(b=e=!0);f=0!=v;(F=!c&&null==u&&!q||null!=l)&&J.api.Interface.getInterface("JU.Eigen",this.vwr,"script");null==s&&null==p&&(q&&null==A&&(A=this.vwr.getAtomBitSet("polyhedra")),null==A?(g=F?this.vwr.getAtomBitSet("spine"):new JU.BS,0>g.nextSetBit(0)?(g=x,n=r):(n=JU.BSUtil.copy(g),g.and(x),n.and(r))):
(g=JU.BSUtil.copy(x),n=JU.BSUtil.copy(r),g.and(A),g.and(x),null!=n&&(n.and(A),n.and(r))),s=new JU.Lst,s.addLast(z(-1,[g,n])));m=null;if(k)for(var m=this.vwr.ms.getModelBS(x,!1),A=Array(m.cardinality()),y=0,G=m.nextSetBit(0);0<=G;G=m.nextSetBit(G+1),y++)A[y]=this.vwr.getModelUndeletedAtomsBitSet(G);else m=JU.BSUtil.newAndSetBit(0),A=z(-1,[x]);for(var C=0,G=m.nextSetBit(0);C<A.length;C++,G=m.nextSetBit(G+1)){var x=A[C],w=Q(2,0);if(k&&q&&0==C)r=x;else{var D=null,B=new JU.Lst,L=null,M=k?new JU.Lst:s;
if(!H)for(y=0;y<s.size();++y){var I=s.get(y);k&&M.addLast(I=z(-1,[JU.BSUtil.copy(I[0]),I[1]]));I[0].and(x)}var K=null,E=null;if(F){null!=l&&(M.clear(),M.addLast(z(-1,[g,l])));try{L=this.vwr.getCenterAndPoints(M,!0)}catch(P){if(R(P,Exception))this.invArg();else throw P;}D=L[0].length-1;for(y=1;y<=D;y++){B=L[0][y];I=L[1][y];if(!O(B,"JM.Atom")||!O(I,"JM.Atom"))break;k||JU.Logger.info(" atom 1 "+B.getInfo()+"\tatom 2 "+I.getInfo())}D=JU.Measure.calculateQuaternionRotation(L,w);y=Float.isNaN(w[1])?NaN:
Math.round(100*w[0])/100;w=Float.isNaN(w[1])?NaN:Math.round(100*w[1])/100;this.showString("RMSD "+y+" --\x3e "+w+" Angstroms")}else if(c){if(null==p)for(y=0;y<M.size();y++){I=M.get(y);h=this.vwr.getAtomGroupQuaternions(I[0],2147483647);j=this.vwr.getAtomGroupQuaternions(I[1],2147483647);for(D=0;D<h.length&&D<j.length;D++)B.addLast(j[D].div(h[D]))}else for(D=0;D<h.length&&D<j.length;D++)B.addLast(j[D].div(h[D]));w[0]=0;h=B.toArray(Array(B.size()));D=JU.Quat.sphereMean(h,w,1E-4);this.showString("RMSD = "+
w[0]+" degrees")}else{y=new JU.M4;K=new JU.P3;if(null!=x&&null!=u&&("H".equals(u)||"*".equals(u)||"".equals(u)))try{u=this.vwr.getSmilesOpt(null==g?x:g,-1,-1,32768|("H".equals(u)?4096:0),null)}catch(U){if(R(U,Exception))a.evalError(U.getMessage(),null);else throw U;}if(d){var S;if(null==x||null==r||null==(S=a.getSmilesExt().getFlexFitList(x,r,u,!t)))break;this.vwr.setDihedrals(S,null,1)}q?(w=JU.BS.copy(g),w.and(x),B=JU.BS.copy(n),B.and(r),w=a.getSmilesExt().mapPolyhedra(w.nextSetBit(0),B.nextSetBit(0),
t,y)):(this.showString("COMPARE using "+(t?"SMILES ":"SMARTS ")+u),w=new JU.Lst,B=new JU.Lst,w=a.getSmilesExt().getSmilesCorrelation(null==g?x:g,null==n?r:n,u,w,B,y,null,!1,null,K,!1,32|(t?1:2)));if(Float.isNaN(w)){this.showString("structures do not match from "+x+" to "+r);break}e&&(E=new JU.V3,y.getTranslation(E));b&&(D=new JU.M3,y.getRotationScale(D),D=JU.Quat.newM(D));this.showString("RMSD = "+w+" Angstroms");k&&(y=this.vwr.getV0abc(G,z(-1,[y])),null!=y&&a.setModelCagePts(G,y,null))}null!=L&&
(K=L[0][0]);null==K&&(L=this.vwr.getCenterAndPoints(M,!0),K=L[0][0]);M=new JU.P3;I=NaN;e&&(null==E&&(E=JU.V3.newVsub(L[1][0],K)),I=1E10);if(b&&(null==D&&a.evalError("option not implemented",null),M.add2(K,D.getNormal()),I=D.getTheta(),0==I&&e))if(0.01<E.length())I=1E10;else if(k)continue;else b=e=f=!1;if(!Float.isNaN(I)&&!Float.isNaN(M.x)&&(B=null,b&&(e&&0!=v)&&(w=this.vwr.ms.getAtomPointVector(x),y=JS.ScriptMathProcessor.getMatrix4f(D.getMatrix(),E),B=JU.Measure.transformPoints(w,y,K)),a.useThreads()||
(f=!1),this.vwr.rotateAboutPointsInternal(a,K,M,I/v,I,f,x,E,B,null,null)&&f&&a.isJS))throw new JS.ScriptInterruption(a,"compare",1);}}}});m(k,"configuration",function(){var a=null,c=this.chk?null:this.vwr.bsA();if(1==this.slen){if(this.chk)return;a=this.vwr.ms.setConformation(c);this.vwr.ms.addStateScript("select",null,c,null,";configuration",!0,!1)}else{var c=-2147483648,b=null;4==this.tokAt(1)?c=-1E3-(this.stringParameter(this.e.checkLast(1))+" ").codePointAt(0):2==this.tokAt(1)?c=this.intParameter(this.e.checkLast(1)):
(b=a=this.atomExpressionAt(1),c=4==this.tokAt(this.e.iToken)?-1E3-(this.stringParameter(this.e.checkLast(this.e.iToken+1))+" ").codePointAt(0):this.intParameter(this.e.checkLast(this.e.iToken+1)));if(this.chk)return;this.vwr.addStateScript("configuration "+(null==b?"":JU.Escape.eBS(a)+" ")+c+";",!0,!1);a=this.vwr.ms.getConformation(this.vwr.am.cmi,c,!0,b)}this.setShapeProperty(1,"type",Integer.$valueOf(30720));this.e.setShapeSizeBs(1,0,a);this.vwr.autoHbond(a,a,!0);this.vwr.selectStatus(a,!1,0,!this.e.doReport(),
!1)});m(k,"measure",function(){var a=this.e,c=null,b=0,e=null;if(2==this.slen)switch(this.tokAt(1)){case 1073742334:this.setShapeProperty(6,"hideAll",Boolean.TRUE);return;case 12291:this.chk||this.vwr.clearAllMeasurements();return;case 1113589787:this.chk||this.showMeasureCount(!0);return}this.vwr.shm.loadShape(6);switch(this.tokAt(1)){case 134218756:var f=this.stringParameter(3==this.slen?2:4);if(this.chk)return;var d=this.vwr.ms.at,h=this.vwr.ms.ac,c=null;try{c=this.vwr.getSmilesMatcher().getCorrelationMaps(f,
d,h,this.vwr.bsA(),2)}catch(j){if(R(j,Exception))a.evalError(j.getMessage(),null);else throw j;}if(null==c)return;this.setShapeProperty(6,"maps",c);return}switch(this.slen){case 2:switch(this.getToken(1).tok){case 0:case 1073742335:this.vwr.shm.loadShape(6);this.setShapeProperty(6,"hideAll",Boolean.FALSE);return;case 1073742001:this.chk||a.showStringPrint(this.vwr.getMeasurementInfoAsString(),!1);return;case 4:this.setShapeProperty(6,"setFormats",this.stringParameter(1));return}a.errorStr(24,"ON, OFF, DELETE");
break;case 3:switch(this.getToken(1).tok){case 12291:if(1073742327==this.getToken(2).tok)this.chk||this.vwr.clearAllMeasurements();else{var g=this.intParameter(2)-1;this.chk||this.vwr.deleteMeasurement(g)}return}}for(var n=0,s=0,p=-1,v=-1,l=-1,x=P(5,0),r=Q(-1,[3.4028235E38,3.4028235E38]),k=!1,t=!1,q=!1,u=!0,m=!1,z=null,F=null,f=268438018,H=d=null,y=h=null,G=new JU.Lst,m=new JU.BS,C=null,w=null,D=null,B=0,L=0,M=NaN,I=null,g=1;g<this.slen;++g)switch(this.getToken(g).tok){default:this.error(15);break;
case 1073741974:1!=g&&this.invArg();c=a.optParameterAsString(++g);continue;case 1073741824:a.errorStr(24,"ALL, ALLCONNECTED, DELETE");break;case 1275082241:f=1275082241;if(1073742327==this.tokAt(g+1)&&this.slen==g+2){this.chk||(this.vwr.setShapeProperty(6,"selectall",null),this.showMeasureCount(!0));return}break;case 1113589787:(0<G.size()||0<B||null!=c)&&this.invArg();f=1275082241;if(this.chk)C=new JU.BS;else if(C=this.vwr.getShapeProperty(6,"selected"),0==C.cardinality())return;k=!0;break;case 268439040:134217736!=
this.tokAt(g+1)&&this.invArg();g++;q=!0;break;case 1073741832:I=this.paramAsStr(++g).toLowerCase();break;case 134217736:case 1073741834:case 1073742327:t=1073741834==a.theTok;v=-1;k=!0;t&&q&&this.invArg();break;case 1765808134:b=JU.C.getColix(a.getArgbParam(++g));g=a.iToken;break;case 1073742066:a.isPoint3f(++g)?(e=this.getPoint3f(g,!1),e=Q(-1,[1,e.x,e.y,e.z,0,0,0])):e=a.floatParameterSet(g,7,7);g=a.iToken;break;case 1665140738:case 1073741917:L=E((1665140738==a.theTok?2E3:1E3)*this.floatParameter(++g));
null!=c&&0>=L&&(L=-1);break;case 3:null!=z&&this.invArg();u=k=!0;l=(l+1)%2;r[l]=this.floatParameter(g);break;case 12291:268438018!=f&&1275082241!=f&&this.invArg();f=12291;break;case 4114:var K=this.floatParameter(++g),S=this.paramAsStr(++g),T=this.paramAsStr(++g);this.chk||(y=this.vwr.getFont3D(S,T,K));break;case 2:K=this.intParameter(g);if(k)u=!0,l=(l+1)%2,r[l]=K;else{v=this.vwr.ms.getFirstAtomIndexFromAtomNumber(K,this.vwr.getVisibleFramesBitSet());if(!this.chk&&0>v)return;null!=w&&this.invArg();
4<(x[0]=++n)&&a.bad();x[n]=v}break;case 1094713359:p=this.intParameter(++g);break;case 1073742334:268438018!=f&&this.invArg();f=1073742334;break;case 1073742335:268438018!=f&&this.invArg();f=1073742335;break;case 1073742114:u=k=!0;v=-1;break;case 1073741989:case 1073741990:F=Boolean.$valueOf(1073741989==a.theTok);k=!0;q=1073741990==a.theTok;break;case 1648363544:0<=l&&this.invArg();z=a.encodeRadiusParameter(g,!1,!0);if(null==z)return;z.values=r;g=a.iToken;k=q=!0;F=Boolean.$valueOf(!1);1==B&&(B++,
n++,K=JU.BSUtil.copy(m),JU.BSUtil.invertInPlace(K,this.vwr.ms.ac),K.and(this.vwr.ms.getAtomsWithinRadius(5,m,!1,null,null)),G.addLast(K));break;case 12290:case 10:case 1073742325:B++;case 1073742332:case 8:case 1073742330:(0<=v||null!=C)&&this.invArg();n=Array(1);w=a.centerParameter(g,n);if(O(n[0],"JU.BS")&&(w=m=n[0],!this.chk&&0==m.length()))return;O(w,"JU.P3")&&(n=new JU.Point3fi,n.setT(w),n.mi=p,w=n);4<(n=++s)&&a.bad();g=a.iToken;G.addLast(w);break;case 1715472409:H=this.paramAsStr(g);break;case 1073742188:M=
this.floatParameter(++g);break;case 4:K=this.stringParameter(g);JM.Measurement.isUnits(K)||K.equals("default")?h=K:d=K;break;case 1073742164:D=a.tickParamAsStr(g,!1,!0,!0),g=a.iToken,f=12290}(null!=z&&(0<=l||2!=n)||1275082241!=f&&null==C&&2>n&&null==c&&(null==D||1==n))&&a.bad();null!=d&&0!=d.indexOf(n+":")&&(d=n+":"+d);u&&r[1]<r[0]&&(r[1]=r[0],r[0]=3.4028235E38==r[1]?3.4028235E38:-200);if(!this.chk)if(m=null!=c&&null==w&&268438018==f,null!=w||null!=C||null!=D||m){null==z&&(z=new J.atomdata.RadiusData(r,
0,null,null));null!=D&&(D.id="default");if(m)f=266284;else if(null!=w&&(null!=H||null!=d)&&268438018==f)f=12290;a=null;if(null!=y||null!=I||0!=b||null!=d&&(m||0<=d.indexOf("\n")))a=JM.Text.newMeasure(this.vwr,y,b);null!=a&&(a.pymolOffset=e,a.setAlignmentLCR(I));this.setShapeProperty(6,"measure",this.vwr.newMeasurementData(c,G).set(f,null,z,H,d,h,D,t,q,F,k,L,b,a,M,C));1275082241==f&&this.showMeasureCount(!1)}else switch(a=null==c?x:c,f){case 12291:this.setShapeProperty(6,"delete",a);break;case 1073742335:this.setShapeProperty(6,
"show",a);break;case 1073742334:this.setShapeProperty(6,"hide",a);break;default:this.setShapeProperty(6,null==d&&null==h?"toggle":"toggleOn",a),null!=d&&this.setShapeProperty(6,"setFormats",d)}});m(k,"showMeasureCount",function(a){var c=this.vwr.getShapeProperty(6,"selected"),b=c.cardinality();if(a)for(a=c.nextSetBit(0);0<=a;a=c.nextSetBit(a+1))this.showString(this.vwr.shm.getShape(6).getInfoAsString(a));this.showString(b+(1==b?" measure":" measures")+" selected")},"~B");m(k,"connect",function(a){var c=
this.e,b=Q(2,0),e=Array(2);e[0]=e[1]=this.vwr.bsA();var f=NaN,d=P(-1,[-2147483648]),h=0,j=131071,g=1073742026,n=!1,s=!1,p=!1,v=3.4028235E38,l=!1,k=0,r=0,m=new JU.BS,t=!1,q=0,u=0,N=0,E=!1;if(1==this.slen)this.chk||this.vwr.rebondState(c.$isStateScript);else if(1073877011==this.tokAt(1))this.chk||this.vwr.connectNBO(this.e.optParameterAsString(2));else{for(;a<this.slen;++a){switch(this.getToken(a).tok){case 1073742335:case 1073742334:this.checkLength(2);this.chk||this.vwr.rebondState(c.$isStateScript);
return;case 2:case 3:if(0<k){(s||l)&&c.error(23);j=JU.Edge.getBondOrderFromFloat(this.floatParameter(a));131071==j&&this.invArg();s=!0;break}2<++r&&c.bad();var F=this.floatParameter(a);268441090==this.tokAt(a+1)&&(F=-F/100,a++);b[h++]=F;break;case 12290:case 10:case 1073742325:(2<k||t&&0<k)&&c.bad();(s||l)&&this.invArg();e[k++]=this.atomExpressionAt(a);t=c.isBondSet;if(2==k){for(var F=c.iToken,H=a;H<F;H++)if(1073741824==this.tokAt(H)&&this.paramAsStr(H).equals("_1")){q=a;break}c.iToken=F}a=c.iToken;
break;case 1086324742:E=!0;break;case 1765808134:case 603979967:case 1073742074:l=!0;v=this.getColorTrans(c,a,!1,d);a=c.iToken;break;case 1073742086:d=1073741852==this.tokAt(2);this.checkLength(d?3:2);if(this.chk)return;this.vwr.clearModelDependentObjects();this.vwr.ms.deleteAllBonds();f=new JU.BS;this.vwr.ms.setPdbConectBonding(0,0,f);if(d){c=c.$isStateScript&&this.vwr.getBoolean(603979872);this.vwr.ms.autoBondBs4(null,null,f,null,this.vwr.getMadBond(),c,null);this.vwr.addStateScript(c?"set legacyAutoBonding TRUE;connect PDB AUTO;set legacyAutoBonding FALSE;":
"connect PDB auto;",!1,!0);return}this.vwr.addStateScript("connect PDB;",!1,!0);return;case 1073741852:case 1073741904:case 1073742025:case 1073742026:p=!0;++a!=this.slen&&this.invArg();g=c.theTok;1073741852==g&&!(131071==j||2048==j||515==j)&&this.invArg();break;case 659482:l||(d[0]=16777215,v=0.5,f=this.vwr.getFloat(570425406),l=!0),p||(g=1073742026,p=!0);case 1073741824:if(c.isColorParam(a)){u=-a;break}case 1075838996:case 1613238294:j=this.paramAsStr(a);131071==(j=JU.Edge.getBondOrderFromString(j))&&
this.invArg();s&&c.error(18);s=!0;switch(j){case 33:switch(this.tokAt(a+1)){case 3:j=JU.Edge.getPartialBondOrderFromFloatEncodedInt(this.st[++a].intValue);break;case 2:j=this.intParameter(++a)}break;case 2048:2==this.tokAt(a+1)&&(j=this.intParameter(++a)<<11,N=this.floatParameter(++a));break;case 65537:p||(g=1073742025,p=!0)}break;case 1665140738:f=this.floatParameter(++a);l=!0;break;case 1073742333:++a!=this.slen&&this.invArg();case 12291:g=12291;n=!0;l=!1;break;default:u=a}0<a&&(u==-a||u==a&&c.isColorParam(a)?
(l=!0,d[0]=c.getArgbParam(a),a=c.iToken):u==a&&this.invArg())}if(!this.chk){2>h&&(0==h&&(b[0]=1E8),b[1]=b[0],b[0]=0.1);l&&(s||(j=65535),p||(g=1073742025));s=h=0;if(0<q){N=new JU.BS;this.vwr.definedAtomSets.put("_1",N);E=e[0];for(p=E.nextSetBit(0);0<=p;p=E.nextSetBit(p+1))N.set(p),e=this.vwr.makeConnections(b[0],b[1],j,g,N,this.atomExpressionAt(q),m,t,!1,0),h+=Math.abs(e[0]),s+=e[1],N.clear(p)}else e=this.vwr.makeConnections(b[0],b[1],j,g,e[0],e[1],m,t,E,N),h+=Math.abs(e[0]),s+=e[1];b=c.doReport();
n?b&&c.report(J.i18n.GT.i(J.i18n.GT.$("{0} connections deleted"),s),!1):(l&&(this.vwr.selectBonds(m),Float.isNaN(f)||c.setShapeSizeBs(1,Math.round(2E3*f),null),this.finalizeObject(1,d[0],v,0,!1,null,0,m),this.vwr.selectBonds(null)),b&&c.report(J.i18n.GT.o(J.i18n.GT.$("{0} new bonds; {1} modified"),z(-1,[Integer.$valueOf(h),Integer.$valueOf(s)])),!1))}}},"~N");m(k,"console",function(){switch(this.getToken(1).tok){case 1073742334:this.chk||this.vwr.showConsole(!1);break;case 1073742335:this.chk||this.vwr.showConsole(!0);
break;case 1073741882:this.chk||this.vwr.sm.clearConsole();break;case 134221856:this.showString(this.stringParameter(2));break;default:this.invArg()}});m(k,"data",function(){var a=this.e,c=null,b=null,e=!1,f;switch(a.iToken=this.slen){case 5:c=this.paramAsStr(2);case 4:case 2:b=this.paramAsStr(1);if(b.equalsIgnoreCase("clear")){this.chk||this.vwr.setData(null,null,0,0,0,0,0);return}if(0<=(f=b.indexOf("@")))c=""+a.getParameter(b.substring(f+1),4,!0),b=b.substring(0,f).trim();else if(null==c&&0<=(f=
b.indexOf(" ")))c=b.substring(f+1).trim(),b=b.substring(0,f).trim(),e=!0;break;default:a.bad()}f=b.substring(0,(b+" ").indexOf(" ")).toLowerCase();if(f.equals("model")||f.equals("append"))a.cmdLoad();else if(!this.chk){var d=0<=b.toLowerCase().indexOf("(default)");if(f.equals("connect_atoms"))this.vwr.ms.connect(this.parseDataArray(c,!1));else if(0==f.indexOf("ligand_"))this.vwr.setLigandModel(b.substring(7).toUpperCase()+"_data",c.trim());else if(0==f.indexOf("file_"))this.vwr.setLigandModel(b.substring(5)+
"_file",c.trim());else if(a=Array(4),f.equals("element_vdw")){a[0]=f;a[1]=c.$replace(";","\n");c=JU.Elements.elementNumberMax;f=P(c+1,0);for(d=1;d<=c;d++)f[d]=d;a[2]=f;a[3]=Integer.$valueOf(0);this.vwr.setData("element_vdw",a,c,0,0,0,0)}else if(0==f.indexOf("data2d_"))a[0]=b,a[1]=this.parseDataArray(c,!1),a[3]=Integer.$valueOf(2),this.vwr.setData(b,a,0,0,0,0,0);else if(0==f.indexOf("data3d_"))a[0]=b,a[1]=this.parseDataArray(c,!0),a[3]=Integer.$valueOf(3),this.vwr.setData(b,a,0,0,0,0,0);else{var h=
JU.PT.getTokens(b);if(0==f.indexOf("property_")&&!(2==h.length&&h[1].equals("set"))){d=this.vwr.bsA();a[0]=f;var j=e?0:this.vwr.getP("propertyAtomNumberField").intValue(),g=e?0:this.vwr.getP("propertyAtomNumberColumnCount").intValue(),n=e?-2147483648:this.vwr.getP("propertyDataField").intValue(),s=e?0:this.vwr.getP("propertyDataColumnCount").intValue();!e&&0<=b.indexOf(" ")&&(3==h.length&&(j=JU.PT.parseInt(h[1]),n=JU.PT.parseInt(h[2])),5==h.length&&(j=JU.PT.parseInt(h[1]),g=JU.PT.parseInt(h[2]),n=
JU.PT.parseInt(h[3]),s=JU.PT.parseInt(h[4])));0>j&&(j=0);0>n&&(n=0);b=this.vwr.ms.ac;e=null;h=JU.BS.newN(b);if(0<j){for(var e=P(b+2,0),p=0;p<=b;p++)e[p]=-1;for(p=d.nextSetBit(0);0<=p;p=d.nextSetBit(p+1)){var v=this.vwr.ms.at[p].getAtomNumber();v>b+1||(0>v||h.get(v))||(h.set(v),e[v]=p)}a[2]=e}else a[2]=JU.BSUtil.copy(d);a[1]=c;a[3]=Integer.$valueOf(0);this.vwr.setData(f,a,b,j,g,n,s)}else"occupany".equals(f)&&(f="occupancy"),j=JM.AtomCollection.getUserSettableType(f),-1<j?this.vwr.setAtomData(j,f,c,
d):(a[0]=b,a[1]=c,a[3]=Integer.$valueOf(0),this.vwr.setData(f,a,0,0,0,0,0))}}});m(k,"ellipsoid",function(){var a=this.e,c=0,b=1,e=3.4028235E38,f=!1,d=!1;this.setShapeProperty(20,"thisID",null);switch(this.getToken(1).tok){case 1073742335:c=2147483647;break;case 1073742334:break;case 2:c=this.intParameter(1);break;case 36867:this.e.sm.loadShape(20);this.setShapeProperty(20,"select",this.paramAsStr(2));b=a.iToken;d=f=!0;break;case 1073741974:case 268441089:case 1073741824:this.e.sm.loadShape(20);1073741974==
a.theTok&&b++;this.setShapeId(20,b,!1);b=a.iToken;f=!0;break;default:this.invArg()}if(f){for(c=P(-1,[-2147483648]);++b<this.slen;){var f=this.paramAsStr(b),h=null;this.getToken(b);if(!d)switch(a.theTok){case 1073742330:f="points";h=Array(3);h[0]=a.objectNameParameter(++b);if(this.chk)continue;a.getShapePropertyData(24,"getVertices",h);break;case 1825200146:h=this.e.optParameterAsString(++b);if(0==h.length)continue;break;case 1611272194:var h=Array(3),j=null;switch(this.getToken(b+1).tok){case 11:for(var b=
a.theToken.value,g=3;0<=--g;)b.getColumnV(g,h[g]=new JU.V3);break;case 1073742195:b+=2;case 268437504:j=new JU.Lst;for(g=3;0<=--g;){switch(this.tokAt(++b)){case 268437504:break;default:a.isCenterParameter(b)?j.addLast(JS.SV.newV(8,this.centerParameter(b))):268437504!=this.tokAt(b)&&j.addLast(this.getToken(b))}b=a.iToken}268437505!=this.getToken(++b).tok&&this.invArg();break;case 7:j=a.theToken.getList();switch(j.size()){case 1:j=new JU.Lst;for(g=3;0<=--g;)j.addLast(this.getToken(++b));break;case 3:break;
default:this.invArg()}break;default:for(g=0;3>g;g++)h[g]=new JU.V3,h[g].setT(this.centerParameter(++b)),b=a.iToken}if(null!=j)for(b=3;0<=--b;)switch(g=j.get(b),g.tok){case 7:h[b]=JU.V3.new3(JS.SV.fValue(g.getList().get(0)),JS.SV.fValue(g.getList().get(1)),JS.SV.fValue(g.getList().get(2)));break;case 8:h[b]=JU.V3.newV(g.value)}b=a.iToken;break;case 12289:h=this.centerParameter(++b);b=a.iToken;break;case 1094713359:h=Integer.$valueOf(this.intParameter(++b));break;case 12291:h=Boolean.TRUE,this.checkLength(b+
1)}if(null==h)switch(a.theTok){case 1073742335:f="on";h=Boolean.TRUE;break;case 1073742334:f="on";h=Boolean.FALSE;break;case 536875009:this.isFloatParameter(b+1)?h=Float.$valueOf(this.floatParameter(++b)):a.isCenterParameter(b)?(b=this.centerParameter(b),h=Q(-1,[b.x,b.y,b.z])):h=a.floatParameterSet(++b,3,3);b=a.iToken;break;case 12290:case 10:case 1073742325:f="atoms";h=this.atomExpressionAt(b);b=a.iToken;break;case 1765808134:case 603979967:case 1073742074:e=this.getColorTrans(a,b,!0,c);b=a.iToken;
continue;case 1073742075:h=this.paramAsStr(++b)}null==h&&this.invArg();this.setShapeProperty(20,f.toLowerCase(),h)}this.finalizeObject(20,c[0],e,0,!1,null,0,null);this.setShapeProperty(20,"thisID",null)}else a.setShapeSizeBs(20,c,null)});m(k,"image",function(){this.chk||this.vwr.getConsole();var a=1,c=null;1073741974==this.tokAt(1)&&(c=this.e.optParameterAsString(++a),a++);var b=this.e.optParameterAsString(a),e=this.e.optParameterAsString(this.slen-1).equalsIgnoreCase("close");if(!e&&(this.slen==
a||this.slen==a+2))b=this.slen==a+2?this.intParameter(a++):-1,a=0>b?-1:this.intParameter(a),e=new java.util.Hashtable,e.put("fileName","\u0001\u0001"+c),e.put("backgroundColor",Integer.$valueOf(this.vwr.getBackgroundArgb())),e.put("type","png"),e.put("quality",Integer.$valueOf(-1)),e.put("width",Integer.$valueOf(b)),e.put("height",Integer.$valueOf(a)),this.chk||this.vwr.processWriteOrCapture(e);else{if(e)switch(this.slen){case 2:b="closeall";break;case 3:case 4:break;default:this.checkLength(0)}this.chk||
this.vwr.fm.loadImage(e?"\u0001close":b,"\u0001"+b+"\u0001"+("".equals(c)||null==c?null:c),!1)}});m(k,"invertSelected",function(){var a=this.e,c=null,b=null,e=null,f=-2147483648,d=1;switch(this.tokAt(1)){case 0:if(this.chk)return;e=this.vwr.bsA();c=this.vwr.ms.getAtomSetCenter(e);this.vwr.invertAtomCoord(c,null,e,-1,!1);return;case 528443:case 1153433601:d++;case 10:case 1073742325:case 12290:e=this.atomExpressionAt(d);if(!a.isAtomExpression(a.iToken+1)){a.checkLengthErrorPt(a.iToken+1,a.iToken+1);
if(!this.chk)for(a=e.nextSetBit(0);0<=a;a=e.nextSetBit(a+1))this.vwr.invertAtomCoord(null,null,e,a,!1);return}f=e.nextSetBit(0);e=this.atomExpressionAt(a.iToken+1);break;case 134217751:c=a.centerParameter(2,null);break;case 134217750:b=a.planeParameter(1,!1);break;case 134219777:b=a.hklParameter(2,null,!0)}a.checkLengthErrorPt(a.iToken+1,1);null==b&&(null==c&&-2147483648==f)&&this.invArg();this.chk||-1!=f&&this.vwr.invertSelected(c,b,f,e)});m(k,"mapProperty",function(){for(var a,c,b,e,f,d=0,h=0,j=
0,g=this.e;;){if(1113589787==this.tokAt(1))a=this.vwr.bsA(),c=this.atomExpressionAt(2),b=e="selected";else{a=this.atomExpressionAt(1);if(1073742336!=this.tokAt(++g.iToken)||!JS.T.tokAttr(d=this.tokAt(++g.iToken),1077936128))break;b=this.paramAsStr(g.iToken);c=this.atomExpressionAt(++g.iToken);if(1073742336!=this.tokAt(++g.iToken)||!JS.T.tokAttr(h=this.tokAt(++g.iToken),2048))break;e=this.paramAsStr(g.iToken)}f=JS.T.tokAttr(j=this.tokAt(g.iToken+1),1077936128)?this.paramAsStr(++g.iToken):JS.T.nameOf(j=
1094715393);g.checkLast(g.iToken);if(this.chk)return;var n=null;this.showString("mapping "+b.toUpperCase()+" for "+a.cardinality()+" atoms to "+e.toUpperCase()+" for "+c.cardinality()+" atoms using "+f.toUpperCase());if(JS.T.tokAttrOr(d,1094713344,1111490560)&&JS.T.tokAttrOr(h,1094713344,1111490560)&&JS.T.tokAttrOr(j,1094713344,1111490560)){var s=this.getBitsetPropertyFloat(a,d|224,null,NaN,NaN),p=this.getBitsetPropertyFloat(a,j|224,null,NaN,NaN),d=this.getBitsetPropertyFloat(c,j|224,null,NaN,NaN),
v=1715472409==h,l=Q(v?this.vwr.ms.ac:d.length,0),n=new JU.BS;if(s.length==p.length){for(var k=new java.util.Hashtable,j=0;j<s.length;j++)k.put(Float.$valueOf(p[j]),Float.$valueOf(s[j]));s=-1;for(j=p=0;j<d.length;j++){var s=c.nextSetBit(s+1),r=k.get(Float.$valueOf(d[j]));null!=r&&(n.set(s),l[v?s:p]=r.floatValue(),p++)}v?this.vwr.setData(e,z(-1,[e,l,n,Integer.$valueOf(1),Boolean.TRUE]),this.vwr.ms.ac,0,0,2147483647,0):JS.T.tokAttr(h,2048)?this.vwr.setAtomProperty(n,h,0,0,null,l,null):this.error(56)}}if(null==
n){b=this.getBitsetIdent(a,"{"+f+"=%["+f+"]}."+e+" = %["+b+"]",null,!1,2147483647,!1);a=new JU.SB;for(j=0;j<b.length;j++)0>b[j].indexOf("null")&&a.append(b[j]).appendC("\n");JU.Logger.debugging&&JU.Logger.debug(a.toString());b=JU.BSUtil.copy(this.vwr.slm.bsSubset);this.vwr.slm.setSelectionSubset(c);try{g.runScript(a.toString())}catch(m){if(R(m,Exception))c=m,this.vwr.slm.setSelectionSubset(b),g.errorStr(-1,"Error: "+c.getMessage());else if(R(m,Error))c=m,this.vwr.slm.setSelectionSubset(b),g.errorStr(-1,
"Error: "+c.toString());else throw m;}this.vwr.slm.setSelectionSubset(b)}this.showString("DONE");return}this.invArg()});m(k,"minimize",function(a){for(var c=null,b=2147483647,e=0,f=!1,d=!1,h=null,j=!1,g=!1,n=this.vwr.getMinimizer(!1),s=0,p=a?2:1;p<this.slen;p++)switch(this.getToken(p).tok){case 1073741905:e=this.floatParameter(++p);continue;case 1073742114:s=this.floatParameter(++p);continue;case 1073741935:b=0;continue;case 1073741874:case 1073742162:this.checkLength(2);if(this.chk||null==n)return;
n.setProperty(this.paramAsStr(p),null);return;case 1073741882:this.checkLength(2);if(this.chk||null==n)return;n.setProperty("clear",null);return;case 1073741894:1!=p&&this.invArg();c=a=0;b=P(5,0);if(1073741882==this.tokAt(++p))this.checkLength(3);else{for(;4>a&&!this.isFloatParameter(p);)b[++a]=this.atomExpressionAt(p).nextSetBit(0),p=this.e.iToken+1;b[0]=a;1==a&&this.invArg();c=this.floatParameter(this.e.checkLast(p))}this.chk||this.vwr.getMinimizer(!0).setProperty("constraint",z(-1,[b,Float.$valueOf(c)]));
return;case 12293:1!=p&&this.invArg();if(this.slen==++p){this.chk||(p=this.vwr.getMinimizer(!0).getProperty("fixed",0),null==p?this.e.showString("no atoms are fixed for minimization"):(a=p.cardinality(),this.e.showString(a+(1==a?" atom is":" atoms are")+" fixed for minimization: "+p+"\nunfix them with MINIMIZE FIX NONE")));return}h=this.atomExpressionAt(p);0>h.nextSetBit(0)&&(h=null);p=this.e.iToken;this.chk||this.vwr.getMinimizer(!0).setProperty("fixed",h);if(p+1==this.slen)return;continue;case 1073741828:f=
!0;continue;case 1073742072:case 1113589787:j=!0;break;case 1086324742:g=!0;break;case 1073742148:d=!0;break;case 266298:b=this.intParameter(++p);continue;case 10:case 1073742325:j=!0;case 1275082241:1275082241==this.e.theTok&&p++;c=this.atomExpressionAt(p);p=this.e.iToken;1073742072==this.tokAt(p+1)&&(p++,j=!0);continue;default:this.invArg()}a&&(f||j||g)&&this.invArg();if(!this.chk)try{this.vwr.minimize(this.e,b,e,c,h,null,s,(f?16:0)|(a?256:0)|(j?32:0)|(g?64:0)|(d?1:0))}catch(v){if(R(v,Exception))throw new JS.ScriptInterruption(this.e,
"minimize",1);throw v;}},"~B");m(k,"modulation",function(){var a=null,c=this.e,b=!0,e=!1,f=null,d=1;switch(this.getToken(d).tok){case 1073742334:b=!1;case 0:case 1073742335:break;case 12290:case 10:case 1073742325:f=this.atomExpressionAt(1);switch(this.tokAt(c.iToken+1)){case 1073742334:b=!1;case 1073742335:c.iToken++}c.checkLast(c.iToken);break;case 1073742332:case 8:a=c.getPoint3f(1,!1,!0);e=1073742335==this.tokAt(c.iToken+1);break;default:var h=c.theToken.value.toString();d++;h.equalsIgnoreCase("t")?
c.theTok=3:h.equalsIgnoreCase("m")||h.equalsIgnoreCase("q")?c.theTok=2:this.invArg();case 3:case 2:switch(c.theTok){case 3:this.isFloatParameter(d)?(a=this.floatParameter(d),a=JU.P3.new3(a,a,a)):a=c.getPoint3f(d,!1,!0);break;case 2:2==this.tokAt(d)?(e=this.intParameter(d),a=JU.P3.new3(e,e,e)):a=c.getPoint3f(d,!1,!0),e=!0}break;case 536875009:b=this.floatParameter(2);this.chk||this.vwr.setFloatProperty("modulationScale",b);return}this.chk||(this.vwr.tm.setVibrationPeriod(0),this.vwr.setModulation(f,
b,a,e))});m(k,"mutate",function(){var a=this.e.iToken,c,b=null,e=null,f=null,d=!1;switch(this.tokAt(++a)){case 1073741904:b="alpha";d=!0;c=null;switch(this.tokAt(++a)){case 0:this.invArg();break;default:switch(e=this.e.paramAsStr(a),a=this.e.iToken,this.tokAt(a+1)){case 0:break;case 268437504:case 1073742195:case 7:b=null;f=this.e.floatParameterSet(++a,2,2147483647);1==f.length%2&&this.invArg();a=this.e.iToken;break;default:b=this.e.paramAsStr(++a),a=this.e.iToken}}break;case 2:this.st[1]=JS.T.o(4,
""+this.st[1].value);default:c=this.atomExpressionAt(a);a=++this.e.iToken;break;case 268441089:c=this.vwr.getFrameAtoms(),a=++this.e.iToken}if(!this.chk&&null!=c){c.and(this.vwr.getFrameAtoms());var h=c.nextSetBit(0);0>h&&this.invArg();h=this.vwr.ms.at[h].mi;if(this.vwr.ms.isTrajectory(h)||!this.vwr.ms.am[h].isBioModel)return}null==e&&(e=this.e.optParameterAsString(a));this.e.checkLast(a);if(!this.chk){a=e.startsWith("~");if(!a&&!d&&(0<=e.indexOf(".")||0>e.indexOf("-")&&3<e.length&&e.startsWith("==")))d=
z(-1,[e]),e=null;else if(e=JU.PT.replaceAllCharacters(e,",; \t\n"," ").trim().toUpperCase(),!a&&0<=e.indexOf("-"))d=JU.PT.split(e,"-");else{if(a||3!=e.length||!this.vwr.getJBR().isKnownPDBGroup(e,20))e=this.vwr.getJBR().toStdAmino3(a?e.substring(1):e);d=JU.PT.getTokens(e)}this.e.iToken=this.e.slen;0<d.length&&!this.vwr.getJBR().getBioModelSet(this.vwr.ms).mutate(c,e,d,b,f)&&this.invArg()}});m(k,"navigate",function(){var a=this.e;if(1==this.slen)a.setBooleanProperty("navigationMode",!0);else{var c=
JU.V3.new3(0,1,0),b=new JU.Lst,e;if(2==this.slen)switch(this.getToken(1).tok){case 1073742335:case 1073742334:if(this.chk)return;a.setObjectMad10(34,"axes",10);this.setShapeProperty(34,"position",JU.P3.new3(50,50,3.4028235E38));a.setBooleanProperty("navigationMode",!0);this.vwr.tm.setNavOn(1073742335==a.theTok);return;case 1073742162:this.chk||this.vwr.tm.setNavXYZ(0,0,0);return;case 8:case 1112152078:break;default:this.invArg()}!this.chk&&!this.vwr.getBoolean(603979889)&&a.setBooleanProperty("navigationMode",
!0);for(var f=1;f<this.slen;f++){var d=this.isFloatParameter(f)?this.floatParameter(f++):2;0>d&&this.invArg();!this.chk&&0<d&&a.refresh(!1);switch(this.getToken(f).tok){case 8:case 1073742332:e=this.getPoint3f(f,!0);a.iToken++;a.iToken!=this.slen&&this.invArg();this.chk||this.vwr.tm.setNavXYZ(e.x,e.y,e.z);return;case 554176526:e=this.floatParameter(++f);this.chk||b.addLast(z(-1,[Integer.$valueOf(554176526),Float.$valueOf(d),Float.$valueOf(e)]));continue;case 12289:e=this.centerParameter(++f);f=a.iToken;
this.chk||b.addLast(z(-1,[Integer.$valueOf(134217751),Float.$valueOf(d),e]));continue;case 528432:switch(this.getToken(++f).tok){case 1111492629:c.set(1,0,0);f++;break;case 1111492630:c.set(0,1,0);f++;break;case 1111492631:c.set(0,0,1);f++;break;case 8:case 1073742332:c.setT(this.getPoint3f(f,!0));f=a.iToken+1;break;case 1073741824:this.invArg()}e=this.floatParameter(f);this.chk||b.addLast(z(-1,[Integer.$valueOf(528432),Float.$valueOf(d),c,Float.$valueOf(e)]));continue;case 4160:var h=e=NaN;if(this.isFloatParameter(++f))e=
this.floatParameter(f),h=this.floatParameter(++f);else switch(this.tokAt(f)){case 1111492629:e=this.floatParameter(++f);break;case 1111492630:h=this.floatParameter(++f);break;default:e=this.centerParameter(f);f=a.iToken;this.chk||b.addLast(z(-1,[Integer.$valueOf(4160),Float.$valueOf(d),e]));continue}this.chk||b.addLast(z(-1,[Integer.$valueOf(268441090),Float.$valueOf(d),Float.$valueOf(e),Float.$valueOf(h)]));continue;case 268441088:continue;case 1112152078:e=new JU.Lst;a.isAtomExpression(f+1)?(h=
this.atomExpressionAt(++f),f=a.iToken):h=this.vwr.bsA();if(this.chk)return;this.vwr.getPolymerPointsAndVectors(h,e);var j;if(0<(j=e.size())){for(var h=Array(j),g=0;g<j;g++)h[g]=e.get(g);b.addLast(z(-1,[Integer.$valueOf(1112152078),Float.$valueOf(d),h]));continue}break;case 1073742084:if(1073742330==this.getToken(f+1).tok){f++;e=a.objectNameParameter(++f);if(this.chk)return;this.setShapeProperty(22,"thisID",e);e=this.getShapeProperty(22,"vertices");a.refresh(!1);null==e&&this.invArg();h=E(this.isFloatParameter(f+
1)?this.floatParameter(++f):0);j=E(this.isFloatParameter(f+1)?this.floatParameter(++f):2147483647);b.addLast(z(-1,[Integer.$valueOf(1073742084),Float.$valueOf(d),e,null,P(-1,[h,j])]));continue}for(e=new JU.Lst;a.isCenterParameter(f+1);)e.addLast(this.centerParameter(++f)),f=a.iToken;if(0<e.size()){e=e.toArray(Array(e.size()));this.chk||b.addLast(z(-1,[Integer.$valueOf(1073742084),Float.$valueOf(d),e,null,P(-1,[0,2147483647])]));continue}default:this.invArg()}}!this.chk&&!this.vwr.isJmolDataFrame()&&
this.vwr.tm.navigateList(a,b)}});m(k,"plot",function(a){var c=this.e,b=this.vwr.am.cmi;0>b&&c.errorStr(30,"plot");var b=this.vwr.ms.getJmolDataSourceFrame(b),e=a.length-1,f=a!==this.st,d=!0,h=this.st;f&&(c.st=this.st=a);var j=f?134222350:a[0].tok,g=f||134221850==j||4138==j?0:1,n=null,s=!0,p=!1;switch(j){case 135176:s=!1;p=!0;break;case 134222350:d=s=!1;break;case 134221856:s=!1,4==JS.CmdExt.tokAtArray(e,a)?n=this.stringParameter(e--):1073742336==JS.CmdExt.tokAtArray(e-1,a)?(n=this.paramAsStr(e-2)+
"."+this.paramAsStr(e),e-=3):(c.st=this.st=h,c.iToken=this.st.length,this.error(13)),c.slen=this.slen=e+1}var f="",v=null,l="",k=!1,r=!1,m=!1,t=!1,q=Array(3),u=P(3,0),N=JU.BSUtil.copy(this.vwr.bsA()),E="; select "+JU.Escape.eBS(N)+";\n ",t=c.optParameterAsString(e).toLowerCase(),F=null,H=null,y=null,G=JS.CmdExt.tokAtArray(g,a);4==G&&(G=JS.T.getTokFromName(a[g].value));switch(G){default:c.iToken=1;this.invArg();break;case 134221834:c.iToken=1;t="data";E="";break;case 1715472409:c.iToken=g+1;for(a=
0;3>a;a++){switch(this.tokAt(c.iToken)){case 4:u[a]=JS.T.getTokFromName(c.getToken(c.iToken).value);break;default:u[a]=this.tokAt(c.iToken);break;case 0:0==a&&this.invArg();case 1287653388:case 32:case 64:a=2;continue}1715472409!=u[a]&&!JS.T.tokAttr(u[a],1077936128)&&this.invArg();q[a]=this.getToken(c.iToken).value.toString();c.iToken++}1287653388==this.tokAt(c.iToken)&&(y=this.stringParameter(++c.iToken),d=!1,c.iToken++);32==this.tokAt(c.iToken)&&(F=this.getPoint3f(++c.iToken,!1),c.iToken++);64==
this.tokAt(c.iToken)&&(H=this.getPoint3f(++c.iToken,!1),c.iToken++);t="property "+q[0]+(null==q[1]?"":" "+q[1])+(null==q[2]?"":" "+q[2]);0>N.nextSetBit(0)&&(N=this.vwr.getModelUndeletedAtomsBitSet(b));l="select "+JU.Escape.eBS(N)+";\n ";break;case 4138:t.equalsIgnoreCase("draw")&&(t=c.optParameterAsString(--e).toLowerCase());t=e>g&&t.startsWith("r");t="ramachandran"+(t?" r":"")+(135176==j?" draw":"");break;case 134221850:case 136314895:f=' "'+this.vwr.getQuaternionFrame()+'"';l="set quaternionFrame"+
f+";\n  ";k=!0;t.equalsIgnoreCase("draw")&&(p=!0,t=c.optParameterAsString(--e).toLowerCase());m=(r=t.startsWith("deriv")||t.startsWith("diff"))&&0<t.indexOf("2");r&&e--;if(t.equalsIgnoreCase("helix")||t.equalsIgnoreCase("axis"))r=p=!0,e=-1;t=((e<=g?"":c.optParameterAsString(e))+"w").substring(0,1);if(t.equals("a")||t.equals("r"))r=!0;JU.PT.isOneOf(t,";w;x;y;z;r;a;")||c.evalError("QUATERNION [w,x,y,z,a,r] [difference][2]",null);t="quaternion "+t+(r?" difference":"")+(m?"2":"")+(p?" draw":"")}this.st=
h;if(this.chk)return"";if(s&&(l+="plot "+t,h=this.vwr.ms.getJmolDataFrameIndex(b,l),0<h&&134221856!=j&&134222350!=j))return this.vwr.setCurrentModelIndexClear(h,!0),"";s=e=h=null;g=Array(3);if(1715472409==G){h=this.getBitsetPropertyFloat(N,u[0]|224,1715472409==u[0]?q[0]:null,null==F?NaN:F.x,null==H?NaN:H.x);g[0]=q[0]+" "+JU.Escape.eAF(h);null!=q[1]&&(e=this.getBitsetPropertyFloat(N,u[1]|224,1715472409==u[1]?q[1]:null,null==F?NaN:F.y,null==H?NaN:H.y),g[1]=q[1]+" "+JU.Escape.eAF(e));null!=q[2]&&(s=
this.getBitsetPropertyFloat(N,u[2]|224,1715472409==u[2]?q[2]:null,null==F?NaN:F.z,null==H?NaN:H.z),g[2]=q[2]+" "+JU.Escape.eAF(s));null==F&&(F=JU.P3.new3(this.getPlotMinMax(h,!1,u[0]),this.getPlotMinMax(e,!1,u[1]),this.getPlotMinMax(s,!1,u[2])));null==H&&(H=JU.P3.new3(this.getPlotMinMax(h,!0,u[0]),this.getPlotMinMax(e,!0,u[1]),this.getPlotMinMax(s,!0,u[2])));JU.Logger.info("plot min/max: "+F+" "+H);p=v=null;if(d){p=JU.P3.new3(1,1,1);v=new JU.P3;v.ave(H,F);p.sub2(H,F);p.set(p.x/200,p.y/200,p.z/200);
JS.T.tokAttr(u[0],1094713344)?(p.x=1,v.x=0):0.1<p.x&&10>=p.x&&(p.x=1);JS.T.tokAttr(u[1],1094713344)?(p.y=1,v.y=0):0.1<p.y&&10>=p.y&&(p.y=1);JS.T.tokAttr(u[2],1094713344)?(p.z=1,v.z=0):0.1<p.z&&10>=p.z&&(p.z=1);if(null==q[2]||null==q[1])v.z=F.z=H.z=p.z=0;for(a=0;a<h.length;a++)h[a]=(h[a]-v.x)/p.x;if(null!=q[1])for(a=0;a<e.length;a++)e[a]=(e[a]-v.y)/p.y;if(null!=q[2])for(a=0;a<s.length;a++)s[a]=(s[a]-v.z)/p.z}v=z(-1,[N,h,e,s,F,H,p,v,y,g])}if(134221856==j)return this.vwr.writeFileData(n,"PLOT_"+t,b,
v);d=t.equals("data")?"1 0 H 0 0 0 # Jmol PDB-encoded data":this.vwr.getPdbData(b,t,null,v,null,!0);if(134222350==j)return d;JU.Logger.debugging&&JU.Logger.debug(d);if(135176==j)return c.runScript(d),"";j=this.vwr.fm.getFileInfo();n=this.vwr.getBoolean(603979792);this.vwr.g.appendNew=!0;d=null!=d&&null==this.vwr.openStringInlineParamsAppend(d,null,!0);this.vwr.g.appendNew=n;this.vwr.fm.setFileInfo(j);if(!d)return"";j=this.vwr.ms.mc;this.vwr.ms.setJmolDataFrame(l,b,j-1);1715472409!=G&&(l+=";\n"+E);
l=this.vwr.addStateScript(l,!0,!1);d=150;switch(G){default:b="frame 0.0; frame last; reset;select visible;wireframe only;";d=10;break;case 1715472409:this.vwr.setFrameTitle(j-1,t+" plot for model "+this.vwr.getModelNumberDotted(b));b="frame 0.0; frame last; reset;select visible; spacefill 3.0; wireframe 0;draw plotAxisX"+j+' {100 -100 -100} {-100 -100 -100} "'+q[0]+'";draw plotAxisY'+j+' {-100 100 -100} {-100 -100 -100} "'+q[1]+'";';null!=q[2]&&(b+="draw plotAxisZ"+j+' {-100 -100 100} {-100 -100 -100} "'+
q[2]+'";');break;case 4138:this.vwr.setFrameTitle(j-1,"ramachandran plot for model "+this.vwr.getModelNumberDotted(b));b="frame 0.0; frame last; reset;select visible; color structure; spacefill 3.0; wireframe 0;draw ramaAxisX"+j+' {100 0 0} {-100 0 0} "phi";draw ramaAxisY'+j+' {0 100 0} {0 -100 0} "psi";';break;case 134221850:case 136314895:this.vwr.setFrameTitle(j-1,t.$replace("w"," ")+f+" for model "+this.vwr.getModelNumberDotted(b)),b=JU.C.getHexCode(this.vwr.cm.colixBackgroundContrast),b="frame 0.0; frame last; reset;select visible; wireframe 0; spacefill 3.0; isosurface quatSphere"+
j+" color "+b+" sphere 100.0 mesh nofill frontonly translucent 0.8;draw quatAxis"+j+'X {100 0 0} {-100 0 0} color red "x";draw quatAxis'+j+'Y {0 100 0} {0 -100 0} color green "y";draw quatAxis'+j+'Z {0 0 100} {0 0 -100} color blue "z";color structure;draw quatCenter'+j+"{0 0 0} scale 0.02;"}c.runScript(b+E);l.setModelIndex(this.vwr.am.cmi);this.vwr.setRotationRadius(d,!0);c.sm.loadShape(31);this.showString("frame "+this.vwr.getModelNumberDotted(j-1)+(0<t.length?" created: "+t+(k?f:""):""));return""},
"~A");m(k,"polyhedra",function(){var a=this.e,c=1==this.slen,b=!1,e=c,f=!1,d=!1,h=!1,j=NaN,g=0;a.sm.loadShape(21);this.setShapeProperty(21,"init",Boolean.TRUE);for(var n=3.4028235E38,s=-1,p=P(-1,[-2147483648]),v=-1,l=null,k=null,m=!1,A=null,t=null,q=1;q<this.slen;++q){var u=null,A=null;switch(this.getToken(q).tok){case 1073742197:j=NaN;case 1073741872:a=1073742197==this.e.theTok?-1:2==this.tokAt(q+1)?this.intParameter(++q):1;this.chk||J.api.Interface.getInterface("JU.BZone",this.vwr,"script").setViewer(this.vwr).createBZ(a,
null,!1,k,j);this.setShapeProperty(21,"init",Boolean.FALSE);return;case 6:u="info";A=this.e.theToken.value;e=!0;break;case 134217751:u="points";A=Float.$valueOf(1073742334==this.tokAt(++q)?0:this.e.floatParameter(q));m=!0;break;case 536875009:j=this.floatParameter(++q);m=!0;continue;case 1814695966:null!=k&&this.invArg();u="unitCell";A=Boolean.TRUE;e=!0;break;case 1073742072:this.e.restrictSelected(!1,!1),a.theTok=1073742335;case 1073742335:case 12291:case 1073742334:(q+1!=this.slen||e||1<g)&&this.error(18);
u=1073742334==a.theTok?"off":1073742335==a.theTok?"on":"delete";f=!0;break;case 7:(null==k||e)&&this.invArg();e=!0;A=this.getIntArray2(q);t=this.getAllPoints(a.iToken+1,3);q=a.iToken;O(t[0],"JM.Atom")&&this.setShapeProperty(21,"model",Integer.$valueOf(t[0].getModelIndex()));u="definedFaces";A=z(-1,[A,t]);break;case 1073741961:u="full";break;case 2:null!=k&&this.invArg();u="nVertices";A=Integer.$valueOf(this.intParameter(q));e=!0;268436992==this.tokAt(q+1)&&q++;break;case 1677721602:null!=k&&this.invArg();
0<g&&this.invPO();e=!0;u="bonds";c=!0;break;case 1073741852:-1!=s&&this.invArg(),s=0,q--;case 1665140738:q++;case 3:null!=k&&this.invArg();0<g&&this.invPO();u=0>=s?"radius":"radius1";A=Float.$valueOf(s=0==s?0:this.floatParameter(q));e=!0;break;case 1073742066:if(!this.isFloatParameter(q+1)){l=this.e.centerParameter(++q,null);q=a.iToken;m=!0;continue}case 1073741937:this.setShapeProperty(21,"collapsed",null);case 1073742099:case 1073741924:u=JS.T.nameOf(a.theTok);switch(this.tokAt(q+1)){case 268440324:case 268436992:q++}A=
Float.$valueOf(this.floatParameter(++q));break;case 1094717454:null==k&&this.invArg();u="model";A=Integer.$valueOf(this.intParameter(++q));break;case 1073742170:(1<g||null!=k&&!b||v==q)&&this.invPO();g=3;a.isAtomExpression(++q)?(u=e||b?"to":"toBitSet",A=this.atomExpressionAt(q)):a.isArrayParameter(q)?(u="toVertices",A=a.getPointArray(q,-1,!1)):this.error(19);q=a.iToken;e=!0;break;case 12290:case 10:case 1073742325:d&&this.invPO();switch(++g){case 1:null!=k&&this.invArg();u="centers";break;case 2:u=
"to";e=!0;break;default:a.bad()}A=this.atomExpressionAt(q);q=a.iToken;e=(new Boolean(e|q+1==this.slen)).valueOf();break;case 1765808134:case 603979967:case 1073742074:n=this.getColorTrans(a,q,!0,p);q=a.iToken;continue;case 1073741948:case 1073741886:d&&this.error(18);d=!0;u=1073741886==this.e.theTok?"collapsed":null;e&&this.isFloatParameter(q+1)&&this.setShapeProperty(21,"faceCenterOffset",Float.$valueOf(this.floatParameter(++q)));break;case 1073742044:case 1073741933:case 1073741956:case 1073741934:h&&
this.error(18);m=h=!0;u=JS.T.nameOf(a.theTok);break;case 1073742182:case 1073742060:case 1073741861:case 1073741958:case 1073741964:continue;case 1073741974:case 268441089:case 1073741824:case 4:if(!a.isColorParam(q)){1!=q&&this.invPO();k=1073741974==a.theTok?this.stringParameter(++q):a.optParameterAsString(q);this.setShapeProperty(21,"thisID",k);this.setShapeProperty(21,"model",Integer.$valueOf(this.vwr.am.cmi));if(!a.isCenterParameter(q+1))continue;u="center";A=this.centerParameter(++q);q=a.iToken;
b=!0;break}default:if(a.isColorParam(q)){p[0]=a.getArgbParam(q);a.isCenterParameter(q)&&(v=a.iToken+1);q=a.iToken;continue}this.invArg()}null!=u&&this.setShapeProperty(21,u,A);if(f)return}e?(!d&&c&&this.setShapeProperty(21,"bonds",null),this.setShapeProperty(21,"generate",null)):m||this.error(19);null!=l&&this.setShapeProperty(21,"offset",l);Float.isNaN(j)||this.setShapeProperty(21,"scale",Float.$valueOf(j));-2147483648!=p[0]&&this.setShapeProperty(21,"colorThis",Integer.$valueOf(p[0]));3.4028235E38!=
n&&a.setShapeTranslucency(21,"","translucentThis",n,null);this.setShapeProperty(21,"init",Boolean.FALSE)});m(k,"write",function(a){var c=this.e,b=1,e=1,f=null,d=null,h=null,j=null,g="SPT",n=!0,s=!1,p=!1;null==a?(a=this.st,s=this.vwr.isApplet&&!this.vwr.isSignedApplet||!this.vwr.haveAccess(JV.Viewer.ACCESS.ALL)||0<this.vwr.fm.getPathForAllFiles().length):(b=e=0,n=!1,s=!n);var k=JS.CmdExt.tokAtArray(b,a);if(4==k&&!n){var l=JS.T.getTokenFromName(JS.SV.sValue(a[0]).toLowerCase());null!=l&&(k=l.tok)}switch(k){case 0:break;
case 134221850:case 4138:case 1715472409:return d=this.plot(a),s?d:this.writeMsg(d);case 134222850:c.isArrayParameter(b+1)&&(f=c.stringParameterSet(++b),j=h=".",e=b=c.iToken+1,k=this.tokAt(b));break;default:g=JS.SV.sValue(this.tokenAt(b,a)).toUpperCase()}var m=this.vwr.getExportDriverList(),l=null,r=n?this.slen:a.length,A="",t=null,q=!1,u=null,z=0,E=null,F=!1,H=null,y=-1,G=-1,C=!1,w=null,D=-2147483648;0!=k&&(n&&1<this.slen&&1073741848==this.tokAt(this.slen-2))&&(g=this.paramAsStr(this.slen-1).toUpperCase(),
e=r,r-=2,k=0);switch(k){case 15:case 6:g="VAR";u=this.tokenAt(b++,a);break;case 1073741984:g="INLINE";l=JS.SV.sValue(this.tokenAt(++b,a));b++;break;case 1275068447:g="PGRP";b++;A=JS.SV.sValue(this.tokenAt(b,a)).toLowerCase();A.equals("draw")&&b++;break;case 1073742329:b++;F=!0;break;case 1073742158:case 134222850:for(t=JS.SV.sValue(this.tokenAt(++b,a)).toLowerCase();t.equals("localpath")||t.equals("remotepath");)t.equals("localpath")?h=JS.SV.sValue(this.tokenAt(++b,a)):j=JS.SV.sValue(this.tokenAt(++b,
a)),t=JS.SV.sValue(this.tokenAt(++b,a)).toLowerCase();g="SPT";break;case 1228935687:case 134320141:case 1610616855:case 135180:case 1073742015:case 1073742018:case 1073877011:case 1073877010:case 135188:b++;break;case 1073741991:g="ZIPALL";b++;break;case 36868:g="VAR";b+=2;break;case 1073741929:case 4115:case 4120:case 1073742062:case 1073742139:case 4166:case 1073741824:case 4:switch(k){case 4115:b+1<r&&1073742325==a[++b].tok||10==a[b].tok?(t=c.atomExpression(a,b,0,!0,!1,null,!0),b=c.iToken+1):t=
this.vwr.getAllAtoms();this.chk||(H=this.vwr.ms.getModelBS(t,!0));break;case 1073741929:k=4120,q=!0;case 4120:g="IMAGE";b++;break;case 1073742139:t=JS.SV.sValue(this.tokenAt(++b,a)).toUpperCase();JU.PT.isOneOf(t,";PNG;PNGJ;")?(E=t,b++):E="PNG";break;case 4166:z=c.intParameterRange(++b,1,10);if(2147483647==z)return"";this.chk||(this.vwr.tm.setVibrationPeriod(0),c.isJS||c.delayScript(100));b++;break;default:k=4120}if(4120==k&&b<a.length)if(k=JS.T.getTokenFromName(JS.SV.sValue(a[b]).toLowerCase()),null!=
k&&(g=JS.SV.sValue(k).toUpperCase()),JU.PT.isOneOf(g,m.toUpperCase())){b++;g=g.substring(0,1).toUpperCase()+g.substring(1).toLowerCase();C=!0;n&&(w="Jmol."+g.toLowerCase());break}else if(JU.PT.isOneOf(g,";ZIP;ZIPALL;SPT;STATE;")){b++;break}else g="IMAGE";2==JS.CmdExt.tokAtArray(b,a)&&(y=JS.SV.iValue(this.tokenAt(b++,a)),0>=y&&this.invArg(),G=JS.SV.iValue(this.tokenAt(b++,a)),0>=G&&this.invArg())}if(e<r){t=JS.SV.sValue(this.tokenAt(b,a));if(t.equalsIgnoreCase("clipboard")){if(this.chk)return""}else JU.PT.isOneOf(t.toLowerCase(),
";jpg;jpeg;jpg64;jpeg64;gif;gift;pdf;ppm;png;pngj;pngt;")?(2==JS.CmdExt.tokAtArray(b+1,a)&&2==JS.CmdExt.tokAtArray(b+2,a)&&(y=JS.SV.iValue(this.tokenAt(++b,a)),0>=y&&this.invArg(),G=JS.SV.iValue(this.tokenAt(++b,a)),0>=G&&this.invArg()),2==JS.CmdExt.tokAtArray(b+1,a)&&(D=JS.SV.iValue(this.tokenAt(++b,a)))):JU.PT.isOneOf(t.toLowerCase(),";xyz;xyzrn;xyzvib;mol;mol67;sdf;v2000;v3000;json;pdb;pqr;cml;cif;cifp1;pwmat;pwslab;qcjson;xsf;")&&(g=t.toUpperCase(),b+1==r&&b++);g.equals("IMAGE")&&JU.PT.isOneOf(t.toLowerCase(),
";jpg;jpeg;jpg64;jpeg64;gif;gift;pdf;ppm;png;pngj;pngt;scene;")&&(g=t.toUpperCase(),D=-2147483648,b++)}b+2==r&&JS.SV.sValue(this.tokenAt(++b,a));switch(JS.CmdExt.tokAtArray(b,a)){case 0:s=!0;break;case 1073741884:break;case 805307393:w=g.equals("IMAGE")?"?jmol.png":"?jmol."+g.toLowerCase();break;case 1073741824:case 4:w=JS.SV.sValue(this.tokenAt(b,a));if(w.equalsIgnoreCase("clipboard")||!this.vwr.haveAccess(JV.Viewer.ACCESS.ALL))w=null;break;default:this.invArg()}if(g.equals("IMAGE")||g.equals("FRAME")||
g.equals("VIBRATION"))g=null!=w&&0<=w.indexOf(".")?w.substring(w.lastIndexOf(".")+1).toUpperCase():"JPG";if(g.equals("ISOSURFACE")||g.equals("CONTACT"))p=g.equals("CONTACT"),g=null!=w&&0<=w.indexOf(".")?w.substring(w.lastIndexOf(".")+1).toUpperCase():"JVXL",g.equals("PMESH")?g="ISOMESH":g.equals("PMB")&&(g="ISOMESHBIN");k=JU.PT.isOneOf(g.toLowerCase(),";jpg;jpeg;jpg64;jpeg64;gif;gift;pdf;ppm;png;pngj;pngt;scene;");if(!k&&(g.equals("MNU")?g="MENU":g.equals("WRL")||g.equals("VRML")?(g="Vrml",C=!0):
g.equals("X3D")?(g="X3d",C=!0):g.equals("STL")?(g="Stl",C=!0):g.equals("IDTF")?(g="Idtf",C=!0):g.equals("MA")?(g="Maya",C=!0):g.equals("JS")?(g="Js",C=!0):g.equals("OBJ")?(g="Obj",C=!0):g.equals("JVXL")?g="ISOSURFACE":g.equals("XJVXL")?g="ISOSURFACE":g.equals("JMOL")?g="ZIPALL":g.equals("HIS")&&(g="HISTORY"),g.equals("COORD")||g.equals("COORDS")))g=null!=w&&0<=w.indexOf(".")?w.substring(w.lastIndexOf(".")+1).toUpperCase():"XYZ";null!=f&&(JV.FileManager.isJmolType(g)||this.invArg(),g.equals("PNG")&&
(g="PNGJ"));!k&&(!C&&!JU.PT.isOneOf(g,";SCENE;JMOL;ZIP;ZIPALL;SPT;HISTORY;MO;NBO;ISOSURFACE;MESH;PMESH;PMB;ISOMESHBIN;ISOMESH;VAR;FILE;FUNCTION;CFI;CIF;CIFP1;CML;JSON;XYZ;XYZRN;XYZVIB;MENU;MOL;MOL67;PDB;PGRP;PQR;PWMAT;PWSLAB;QUAT;RAMA;SDF;V2000;V3000;QCJSON;XSF;INLINE;"))&&c.errorStr2(54,"COORDS|FILE|FUNCTIONS|HISTORY|IMAGE|INLINE|ISOSURFACE|JMOL|MENU|MO|NBO|POINTGROUP|QUATERNION [w,x,y,z] [derivative]|RAMACHANDRAN|SPT|STATE|VAR x|ZIP|ZIPALL|CLIPBOARD","CIF|CIFP1|CML|CFI|GIF|GIFT|JPG|JPG64|JMOL|JVXL|MESH|MOL|PDB|PMESH|PNG|PNGJ|PNGT|PPM|PQR|PWMAT|PWSLAB|SDF|CD|JSON|QCJSON|V2000|V3000|SPT|XJVXL|XSF|XYZ|XYZRN|XYZVIB|ZIP"+
m.toUpperCase().$replace(";","|"));if(this.chk)return"";var b=Array(1),B,e=this.vwr.getBoolean(603979934);if(C){e&&JU.Logger.startTimer("export");d=new java.util.Hashtable;d.put("type",g);null!=w&&d.put("fileName",w);(n||null!=w)&&d.put("fullPath",b);d.put("width",Integer.$valueOf(y));d.put("height",Integer.$valueOf(G));l=this.vwr.generateOutputForExport(d);if(null==l||0==l.length)return"";if(s)return l;if(!g.equals("Povray")&&!g.equals("Idtf")||null==b[0])return this.writeMsg(l);d=g.equals("Idtf")?
".tex":".ini";w=b[0]+d;B=new java.util.Hashtable;B.put("fileName",w);B.put("type",d);B.put("text",l);B.put("fullPath",b);d=this.vwr.processWriteOrCapture(B);g.equals("Idtf")&&(l=l.substring(0,l.indexOf("\\begin{comment}")));l="Created "+b[0]+":\n\n"+l;e&&this.showString(JU.Logger.getTimerMsg("export",0));null!=d&&((g=!d.startsWith("OK"))&&c.evalError(d,null),c.report(l,g));return""}C=null;m=!1;if(null==l){l=g.intern();if("MENU"===l)l=this.vwr.getMenu("");else if("PGRP"===l)l=this.vwr.ms.getPointGroupAsString(this.vwr.bsA(),
null,0,1,null,null,A.equals("draw")?"":null);else if("PDB"===l||"PQR"===l)s?l=this.vwr.getPdbAtomData(null,null,"PQR"===l,F):(m=!0,g="PDB_"+l+"-coord "+F);else if("FILE"===l)"?".equals(w)&&(w="?Jmol."+this.vwr.getP("_fileType")),s?l=this.e.getCurrentModelFileAsString(null):m=!0;else if(JU.PT.isOneOf(l,";CIF;CIFP1;SDF;MOL;MOL67;V2000;V3000;CD;JSON;XYZ;XYZRN;XYZVIB;CML;QCJSON;PWMAT;PWSLAB;XSF;")){a=this.vwr.bsA();this.vwr.setErrorMessage(null," ("+a.cardinality()+" atoms)");l=this.vwr.getModelExtract(a,
F,!1,l);d=this.vwr.getErrorMessageUn();this.vwr.setErrorMessage(null,null);if(0<=this.vwr.am.cmi&&!a.equals(B=this.vwr.getModelUndeletedAtomsBitSet(this.vwr.am.cmi)))d+="\nNote! Selected atom set "+a+" is not the same as the current model "+B;l.startsWith("ERROR:")&&(C=l)}else if("CFI"===l)l=this.vwr.getModelFileData("selected","cfi",!1);else if("FUNCTION"===l)l=this.vwr.getFunctionCalls(null),g="TXT";else if("VAR"===l)null==u&&(u=c.getParameter(JS.SV.sValue(this.tokenAt(n?2:1,a)),1073742190,!0)),
a=null,15==u.tok?(a=new JU.Lst,a.addLast(u.value.data)):6==u.tok&&(a=null==w?new JU.Lst:this.prepareBinaryOutput(u)),null==a?(l=u.asString(),g="TXT"):null!=w&&(B=new java.util.Hashtable,B.put("data",a),null==(C=l=this.vwr.createZip(w,1==a.size()||w.endsWith(".png")||w.endsWith(".pngj")?"BINARY":"ZIPDATA",B))&&c.evalError("#CANCELED#",null));else if("SPT"===l)if(F)B=this.vwr.ms.getTaintedAtoms(2),this.vwr.setAtomCoordsRelative(JU.P3.new3(0,0,0),null),l=this.vwr.getStateInfo(),this.vwr.ms.setTaintedAtoms(B,
2);else{if(l=this.vwr.getStateInfo(),null!=h||null!=j)l=JV.FileManager.setScriptFileReferences(l,h,j,null)}else"ZIP"===l||"ZIPALL"===l?null!=w&&(B=new java.util.Hashtable,null!=f&&B.put("data",f),null==(C=l=this.vwr.createZip(w,g,B))&&c.evalError("#CANCELED#",null)):"HISTORY"===l?(l=this.vwr.getSetHistory(2147483647),g="SPT"):"MO"===l||"NBO"===l?(l=this.getMoJvxl(2147483647,"NBO"===l),g="XJVXL"):"PMESH"===l||"PMB"===l?(null==(l=this.getIsosurfaceJvxl(29,l))&&this.error(31),g="XJVXL"):"ISOMESH"===
l?(null==(l=this.getIsosurfaceJvxl(24,l))&&this.error(31),g="PMESH"):"ISOMESHBIN"===l?(null==(C=this.getIsosurfaceJvxl(24,"ISOMESHBIN"))&&this.error(31),g="PMB"):"ISOSURFACE"===l||"MESH"===l?(null==(l=this.getIsosurfaceJvxl(p?25:24,l))&&this.error(31),g=0<=l.indexOf("<?xml")?"XJVXL":"JVXL",s||this.showString(this.getShapeProperty(p?25:24,"jvxlFileInfo"))):(n&&(s&&null==w)&&(s=!1,w="\u0001"),null==E&&0>D&&(D=-1));null==l&&(l="")}if(!n)return l;if(s)return c.showStringPrint(l,!0),"";if(null!=C&&"string"==
typeof C)return this.writeMsg(C);if(m)return this.writeMsg(this.vwr.writeFileData(w,g,0,null));if(g.equals("SCENE"))C=E;else if(null==C&&(!k||null!=w))C=l;e&&JU.Logger.startTimer("write");k&&(c.refresh(!1),0>y&&(y=q?250:this.vwr.getScreenWidth()),0>G&&(G=q?250:this.vwr.getScreenHeight()));B=new java.util.Hashtable;null!=w&&B.put("fileName",w);B.put("backgroundColor",Integer.$valueOf(this.vwr.getBackgroundArgb()));B.put("type",g);if(q){B.put("is2D",Boolean.TRUE);var L,c="smiles could not be generated";
try{if(L=this.vwr.getOpenSmiles(null),0<L.length){var M=this.vwr.setLoadFormat(!0,"_"+L,"2",!1),M=M+("?width="+y+"&height="+G+"&format="+g.toLowerCase());this.showString(M);c=this.vwr.fm.getFileAsBytes(M,null)}}catch(I){if(!R(I,Exception))throw I;}if("string"==typeof c)return this.showString(c),null;C=c}"string"==typeof C&&-2147483648==D?B.put("text",C):O(C,Array)&&B.put("bytes",C);null!=f&&B.put("scripts",f);null!=H&&B.put("bsFrames",H);B.put("fullPath",b);B.put("quality",Integer.$valueOf(D));B.put("width",
Integer.$valueOf(y));B.put("height",Integer.$valueOf(G));B.put("nVibes",Integer.$valueOf(z));c=this.vwr.processWriteOrCapture(B);null==c&&(c="canceled");k&&c.startsWith("OK")&&(c+="; width="+y+"; height="+G);e&&this.showString(JU.Logger.getTimerMsg("write",0));return this.writeMsg(c+(null==d?"":d))},"~A");m(k,"prepareBinaryOutput",function(a){var c=a.getMap();if(null==c||!c.containsKey("$_BINARY_$"))return null;a=new JU.Lst;for(var b,c=c.entrySet().iterator();c.hasNext()&&((b=c.next())||1);){var e=
b.getKey();if(!e.equals("$_BINARY_$")){var f=b.getValue(),d=15==f.tok?f.value.data:null;null==d&&(f=f.asString(),d=f.startsWith(";base64,")?JU.Base64.decodeBase64(f):f.getBytes());if(e.equals("_DATA_")){a=new JU.Lst;a.addLast(d);break}else e.equals("_IMAGE_")?(a.add(0,e),a.add(1,null),a.add(2,d)):(a.addLast(e),a.addLast(null),a.addLast(d))}}return a},"JS.SV");m(k,"writeMsg",function(a){if(this.chk||null==a)return"";var c=!a.startsWith("OK");c&&(this.e.evalError(a,null),alert(a));this.e.report(a,c);
return a},"~S");m(k,"show",function(){var a=this.e,c=null,b=this.paramAsStr(1),e=null,f=0;3<this.slen&&268441088==this.tokAt(this.slen-3)&&268439040==this.tokAt(this.slen-2)?(e="!/"+this.paramAsStr(this.slen-1),this.slen-=3,f=3):2<this.slen&&268441088==this.tokAt(this.slen-2)?(e="/"+this.paramAsStr(this.slen-1),this.slen-=2,f=2):0==(e=this.paramAsStr(this.slen-1)).lastIndexOf("/")?(this.slen--,f=1):e=null;var d=null,h=null,j=2,g=this.getToken(1),h=O(g,"JS.SV")&&1073741824!=g.tok?0:g.tok;4==h&&(g=
JS.T.getTokenFromName(b.toLowerCase()),null!=g&&(h=g.tok));1296041985!=h&&(1073742158!=h&&1715472409!=h&&1228935687!=h)&&this.checkLength(-3);2==this.slen&&0<=b.indexOf("?")&&(d=this.vwr.getAllSettings(b.substring(0,b.indexOf("?"))),h=-1);switch(h){case 0:this.chk||(d=a.theToken.escape());break;case 603984065:this.chk||(d=this.vwr.stm.getUndoInfo());break;case 1073741925:a.checkLength23();j=this.st.length;this.chk||(d=this.vwr.getModelInfo("domains"),d=O(d,"JS.SV")?this.vwr.getAnnotationInfo(d,a.optParameterAsString(2),
1073741925):"domain information has not been loaded");break;case 1715472409:d=this.plot(this.st);j=this.st.length;break;case 1073742189:a.checkLength23();j=this.st.length;this.chk||(d=this.vwr.getModelInfo("validation"),d=O(d,"JS.SV")?this.vwr.getAnnotationInfo(d,a.optParameterAsString(2),1073742189):"validation information has not been loaded");break;case 134221829:this.chk||(d=JU.Escape.e(this.vwr.fm.cacheList()));break;case 1111490587:a.checkLength23();j=this.st.length;this.chk||(d=this.vwr.getModelInfo("dssr"),
d=null==d?"no DSSR information has been read":2<j?JS.SV.getVariable(this.vwr.extractProperty(d,this.stringParameter(2),-1)).asString():""+JS.SV.getVariable(d).asString());break;case 1073741915:h=2;3==this.slen?h=E(this.floatParameter((j=3)-1)):this.checkLength(2+f);this.chk||(d=this.vwr.calculateStructures(null,!0,!1,h));break;case 545259572:this.checkLength(2+f);this.chk||(d=this.vwr.fm.getPathForAllFiles());break;case 1275203608:if(!this.chk){var n=Array(2);this.vwr.shm.getShapePropertyData(21,
"allInfo",n);d=JS.SV.getVariable(n[1]).asString()}break;case 1073742038:this.chk||this.vwr.getNMRPredict(a.optParameterAsString(2));return;case 603983903:!this.chk&&3==this.slen&&(d=""+this.vwr.getModelkitPropertySafely(a.stringParameter(2)),j=3);break;case 1275068433:case 1073741978:case 1073741929:case 1073741879:case 134218757:this.checkLength((1073741879==h||134218757==h&&1073742335==this.tokAt(2)?j=3:2)+f);if(this.chk)return;var k=a.optParameterAsString(2);1073741879==h&&("mf".equals(k)&&(k=
"formula"),"formula".equals(k)&&(d=this.vwr.getModelInfo("formula"),null!=d&&(d=JU.PT.rep(d," ",""))));if(null==d){try{switch(h){case 1275068433:d=this.vwr.getInchi(this.vwr.bsA(),null,null);null==d&&(d="?");break;case 1073741978:d=this.vwr.getInchi(this.vwr.bsA(),null,"key");break;case 134218757:k.equalsIgnoreCase("true")?(d=this.vwr.getBioSmiles(null),e=null):null!=e&&(d=this.vwr.getSmilesOpt(null,-1,-1,1,e+"///"),e=null);break;default:d=this.vwr.ms.getModelDataBaseName(this.vwr.bsA()),d=null!=
d&&(d.startsWith("$")||d.startsWith(":"))?d.substring(1):null}null==d&&(n=JU.Logger.getLogLevel(),JU.Logger.setLogLevel(4),d=134218757==h?this.vwr.getSmiles(null):this.vwr.getOpenSmiles(null),JU.Logger.setLogLevel(n))}catch(p){if(R(p,Exception))d=p.getMessage(),null==d&&(d=""),p.printStackTrace();else throw p;}switch(h){case 1073741929:if(0<d.length){this.vwr.fm.loadImage(this.vwr.setLoadFormat(!1,"_"+d,"2",!1),"\u0001"+d,!1);return}d="Could not show drawing -- Either insufficient atoms are selected or the model is a PDB file.";
break;case 1073741879:j=3,0<d.length?(d=this.vwr.getChemicalInfo(d,k,this.vwr.bsA()),0<=d.indexOf("FileNotFound")&&(d="?")):d="Could not show name -- Either insufficient atoms are selected or the model is a PDB file."}}break;case 134217764:case 1296041985:d="";n=null;if(2==(j=this.slen)){if(this.chk)break;n=this.vwr.getSymTemp().getSpaceGroupInfo(this.vwr.ms,null,-1,!1,null)}else if(134217764==h){n=this.paramAsStr(2);j=3;if(this.chk)break;n=this.vwr.getSymTemp().getSpaceGroupInfo(this.vwr.ms,JU.PT.rep(n,
"''",'"'),-1,!1,null)}if(null!=n){d=(134217764==h?""+n.get("spaceGroupInfo")+n.get("spaceGroupNote"):"")+(n.containsKey("symmetryInfo")?n.get("symmetryInfo"):"");break}var h=2==this.tokAt(2)?this.intParameter(2):0,n=4==this.tokAt(2)||12==this.tokAt(2)?this.paramAsStr(2):null,g=k=null,m=-1;if(3<this.slen&&4!=this.tokAt(3)){j=z(-1,[null,this.vwr.getFrameAtoms()]);k=a.centerParameter(2+(0==h?0:1),j);if(null!=j[0]&&j[0].isEmpty()){j=this.slen;break}j[0]=null;g=a.centerParameter(++a.iToken,j);if(null!=
j[0]&&j[0].isEmpty()){j=this.slen;break}0==h&&2==this.tokAt(a.iToken+1)&&(m=a.getToken(++a.iToken).intValue)}var l=1<a.iToken&&4==this.tokAt(a.iToken+1)?this.stringParameter(++a.iToken):null;this.checkLength((j=++a.iToken)+f);this.chk||(d=this.vwr.getSymmetryInfo(this.vwr.getAllAtoms().nextSetBit(0),n,h,null,k,g,0,l,0,m,0,null),d=null==d?"":O(d,"java.util.Map")?JS.SV.getVariable(d).asString():d.toString());break;case 1648363544:h=null;2<this.slen&&(j=this.slen,h=J.c.VDW.getVdwType(this.paramAsStr(2)),
null==h&&this.invArg());this.chk||(d=this.vwr.getDefaultVdwNameOrData(0,h,null));break;case 134320141:a.checkLength23();j=this.slen;h=a.optParameterAsString(2);if(null==e&&0<=(k=h.indexOf("/")))e=h.substring(k+1),h=h.substring(0,k);this.chk||(d=this.vwr.getFunctionCalls(h));break;case 36867:this.checkLength(2+f);this.chk||(d=this.vwr.getAllSettings(null));break;case 1073742166:d=this.vwr.getFrameTitle();break;case 1073742184:2==this.slen?this.chk||this.vwr.showUrl(a.getFullPathName(!1)):(h=this.paramAsStr(2),
this.chk||this.vwr.showUrl(h));return;case 1765808134:b="defaultColorScheme";break;case 1610612740:b="scaleAngstromsPerInch";break;case 134221850:case 4138:if(this.chk)return;0>this.vwr.am.cmi&&a.errorStr(30,"show "+a.theToken.value);d=this.plot(this.st);j=this.slen;break;case 14:case 1112152078:this.chk||(d=this.getContext(!1));break;case 1073741888:h=a.optParameterAsString(2);0<h.length&&(j=3);this.chk||(c=this.vwr.cm.getColorSchemeList(h));break;case 1073742192:this.chk||(d=this.vwr.getAtomDefs(this.vwr.definedAtomSets)+
this.vwr.g.getVariableList()+this.getContext(!0));break;case 536870926:this.chk||(d=this.vwr.getTrajectoryState());break;case 553648144:c=""+JS.ScriptEval.commandHistoryLevelMax;break;case 553648148:c=""+JU.Logger.getLogLevel();break;case 603979825:c=""+this.vwr.getBoolean(603979825);break;case 553648178:d="set strandCountForStrands "+this.vwr.getStrandCount(12)+"; set strandCountForMeshRibbon "+this.vwr.getStrandCount(13);break;case 536875070:d=this.vwr.showTimeout(2==(j=this.slen)?null:this.paramAsStr(2));
break;case 536870918:c=JU.Escape.eP(this.vwr.getDefaultLattice());break;case 4126:this.chk||(d=this.vwr.getMinimizationInfo());break;case 1611272194:switch(this.vwr.g.axesMode){case 603979808:d="set axesUnitcell";break;case 603979804:d="set axesMolecular";break;default:d="set axesWindow"}break;case 1610612737:d="set bondMode "+(this.vwr.getBoolean(603979812)?"OR":"AND");break;case 1649022989:this.chk||(d="set strandCountForStrands "+this.vwr.getStrandCount(12)+"; set strandCountForMeshRibbon "+this.vwr.getStrandCount(13));
break;case 1613238294:d="set hbondsBackbone "+this.vwr.getBoolean(603979852)+";set hbondsSolid "+this.vwr.getBoolean(603979854);break;case 1611141175:this.chk||(d=this.vwr.getSpinState());break;case 1611141176:d="set ssbondsBackbone "+this.vwr.getBoolean(603979952);break;case 1610625028:case 1611141172:d="selectionHalos "+(this.vwr.getSelectionHalosEnabled()?"ON":"OFF");break;case 1612709894:d="set selectHetero "+this.vwr.getBoolean(1612709894);break;case 1073741828:d=JU.Escape.eAP(this.vwr.getAdditionalHydrogens(null,
null,768));break;case 1612709900:d="set selectHydrogens "+this.vwr.getBoolean(1612709900);break;case 553648130:case 553648138:case 536870924:case 553648176:case 553648172:case 1073741995:this.chk||(d=this.vwr.getLightingState());break;case 1073742136:case 4146:this.chk||(d=this.vwr.stm.listSavedStates());break;case 1814695966:this.chk||(d=this.vwr.getUnitCellInfoText());break;case 1073742329:if(2==(j=this.slen)){this.chk||(d=this.vwr.getCoordinateState(this.vwr.bsA()));break}h=this.paramAsStr(2);
this.chk||(d=this.vwr.stm.getSavedCoordinates(h));break;case 1073742158:!this.chk&&(null==a.outputBuffer&&null==e)&&this.vwr.sm.clearConsole();if(2==(j=this.slen)){this.chk||(d=this.vwr.getStateInfo());break}if(null!=e&&3==this.slen){this.chk||(d=this.vwr.getStateInfo());break}else if(1228935687==this.tokAt(2)&&4==(j=this.slen)){this.chk||(d=this.vwr.fm.getEmbeddedFileState(this.paramAsStr(3),!0,"state.spt"));break}j=3;h=this.paramAsStr(2);this.chk||(d=this.vwr.stm.getSavedState(h));break;case 1639976963:if(2==
(j=this.slen)){this.chk||(d=this.vwr.ms.getProteinStructureState(this.vwr.bsA(),134222350));break}h=this.paramAsStr(2);this.chk||(d=this.vwr.stm.getSavedStructure(h));break;case 134221834:h=3==(j=this.slen)?this.paramAsStr(2):null;this.chk||(d=this.vwr.getDataObj(h,null,-2),d=null==d?"no data":JU.Escape.encapsulateData(d[0],d[1],d[3].intValue()));break;case 1073742330:j=3;d=a.setObjectProperty();break;case 1812599299:this.chk||(d=this.vwr.ms.getBoundBoxCommand(!0));break;case 12289:this.chk||(d="center "+
JU.Escape.eP(this.vwr.tm.fixedRotationCenter));break;case 135176:this.chk||(d=this.getShapeProperty(22,"command"));break;case 1228935687:if(2==this.slen){this.chk||(null==e&&this.vwr.sm.clearConsole(),d=this.e.getCurrentModelFileAsString(null));null==d&&(d="<unavailable>");break}j=3;c=this.paramAsStr(2);this.chk||(null==e&&this.vwr.sm.clearConsole(),d=this.vwr.getFileAsString3(c,!0,null));break;case 4115:d=1073742327==this.tokAt(2)&&0<(j=3)?this.vwr.getModelFileInfoAll():this.vwr.getModelFileInfo();
break;case 1610616855:h=2==(j=this.slen)?2147483647:this.intParameter(2);1>h&&this.invArg();this.chk||(this.vwr.sm.clearConsole(),0==a.scriptLevel&&this.vwr.removeCommand(),d=this.vwr.getSetHistory(h));break;case 135180:this.chk||(d=this.getShapeProperty(24,"jvxlDataXml"));break;case 1073877011:case 1073877010:a.optParameterAsString(2).equalsIgnoreCase("list")?(this.e.sm.loadShape(27),d=this.chk?"":this.getShapeProperty(27,"list -1"),j=3):(n=2==(j=this.slen)?-2147483648:this.intParameter(2),this.chk||
(d=this.getMoJvxl(n,1073877011==h)));break;case 1094717454:this.chk||(d=this.vwr.ms.getModelInfoAsString());break;case 537006096:this.chk||(d=this.vwr.getMeasurementInfoAsString());break;case 1073741864:j=3;!this.chk&&this.slen==j&&(d=this.paramAsStr(2),d=this.vwr.getOrientation(JS.T.getTokFromName(d.equals("box")?"volume":d.equals("rotation")?"best":d),"best",null,null).toString());break;case 1073742132:h=this.tokAt(2),0==h?h=1073742132:j=3;case 1073742178:case 4129:this.chk||(d=this.vwr.getOrientation(h,
null,null,null).toString());break;case 1073742077:j=2;if(3<this.slen)break;switch(h=this.tokAt(2)){case 1073742178:case 1073742132:case 4129:case 0:this.chk||(d=this.vwr.getOrientation(h,null,null,null).toString());break;default:h=a.optParameterAsString(2),d=this.vwr.getOrientation(1073742034,h,null,null).toString()}j=this.slen;break;case 1073742088:this.chk||(d=this.vwr.ms.getPDBHeader(this.vwr.am.cmi));break;case 1275068447:h=a.optParameterAsString(2);0==h.length&&(h=null);j=this.slen;this.chk||
(d=this.vwr.ms.getPointGroupAsString(this.vwr.bsA(),"show:"+h,0,0,null,null,null));break;case 1088421903:this.chk||(d=this.vwr.ms.getSymmetryInfoAsString());break;case 1073742176:this.chk||(d="transform:\n"+this.vwr.tm.matrixRotate.toString());break;case 4168:d="zoom "+(this.vwr.tm.zoomEnabled?""+this.vwr.tm.getZoomSetting():"off");break;case 1611272202:d=this.vwr.getShowFrank()?"frank ON":"frank OFF";break;case 1665140738:b="solventProbeRadius";break;case 1086324744:if(3==(j=this.slen)&&1073742334==
this.tokAt(2))h=1086324743;case 1073741863:case 1086326788:case 1073742120:case 1113589787:case 1086324742:case 1153433601:case 1073741982:this.chk||(d=this.vwr.getChimeInfo(h));break;case 537022465:case 1610612738:case 20482:case 1612709912:c="?";break;case 1073742030:h=2==(j=this.slen)?null:this.paramAsStr(2);this.chk||(d=this.vwr.getBindingInfo(h));break;case 1073742015:this.chk||(c=this.vwr.getMenu(""));break;case 1073741824:b.equalsIgnoreCase("fileHeader")&&(this.chk||(d=this.vwr.ms.getPDBHeader(this.vwr.am.cmi)));
break;case 1073741992:case 36868:b=this.paramAsStr(j++),n=a.getParameter(b,1073742190,!0),this.chk||(d=1073741992==h?n.toJSON():n.escape())}this.checkLength(j+f);this.chk||(null!=d?this.showString(this.filterShow(d,e)):null!=c?this.showString(b+" = "+c):null!=b&&(0<=b.indexOf(" ")?this.showString(b):this.showString(b+" = "+a.getParameter(b,1073742190,!0).escape())))});m(k,"filterShow",function(a,c){if(null==c)return a;var b=c.startsWith("!/");c=c.substring(b?2:1).toLowerCase();for(var e=JU.PT.split(a,
"\n"),f=new JU.SB,d=0;d<e.length;d++)0>e[d].toLowerCase().indexOf(c)==b&&f.append(e[d]).appendC("\n");return f.toString()},"~S,~S");m(k,"stereo",function(){for(var a=J.c.STER.DOUBLE,c=-5,b=!1,e=null,f=0,d=1;d<this.slen;++d)if(this.e.isColorParam(d))1<f&&this.e.bad(),0==f&&(e=P(2,0)),b||(c=3),e[f]=this.e.getArgbParam(d),0==f++&&(e[1]=~e[0]),d=this.e.iToken;else switch(this.getToken(d).tok){case 1073742335:this.e.checkLast(this.e.iToken=1);this.e.iToken=1;break;case 1073742334:this.e.checkLast(this.e.iToken=
1);a=J.c.STER.NONE;break;case 2:case 3:c=this.floatParameter(d);b=!0;break;case 1073741824:if(b||(c=3),a=J.c.STER.getStereoMode(this.paramAsStr(d)),null!=a)break;default:this.invArg()}this.chk||this.vwr.setStereoMode(e,a,c)});m(k,"struts",function(){var a=this.e,c=1073742072==this.tokAt(1)||1073742335==this.tokAt(1)||1==this.slen,b=a.getMadParameter();if(2147483647==b)return!1;c&&(b=Math.round(2E3*this.vwr.getFloat(570425406)));this.setShapeProperty(1,"type",Integer.$valueOf(32768));a.setShapeSizeBs(1,
b,null);this.setShapeProperty(1,"type",Integer.$valueOf(1023));return!0});m(k,"unitcell",function(a,c){var b=this.e,e=2147483647,f=2147483647,d=null,h=b.tickParamAsStr(a,!0,!1,!1);a=b.iToken;var j=null,g=null,n=null,k=null,p=f=!1,m=this.chk?null:this.vwr.getCurrentUnitCell(),l=this.tokAt(++a);switch(l){case 4142:case 4141:p=!0;d=JU.P4.new4(0,0,0,-1);b.iToken++;break;case 2097180:f=b.hklParameter(a+1,null,!1);l=b.getPointOrPlane(a+1,7);a=b.iToken;var x=NaN;this.isFloatParameter(a+1)&&(x=this.floatParameter(++a),
268441090==this.tokAt(a+1)&&(x=-x/100,a++));var r=NaN,A=!1;this.isFloatParameter(a+1)&&(r=this.floatParameter(++a),268441090==this.tokAt(a+1)&&(A=!0,a++));var t=1073742172==this.tokAt(a+1);t&&a++;b.iToken=a;if(this.chk)break;O(l,"JU.P3")?l=JU.P4.new4(l.x,l.y,l.z,0):Float.isNaN(r)&&(r=l.w);var g=this.getUVBoxFromHKL(m,l,f),k=new JU.P3,q=new JU.V3;JU.Measure.getPlaneProjection(new JU.P3,f,k,q);0<x?(g[3].normalize(),g[3].scale(x)):0>x&&g[3].scale(-x);!Float.isNaN(r)&&0!=r&&(A&&(r=r/100*g[3].length()),
g[0].scaleAdd2(r,q,g[0]));t&&g[0].scaleAdd2(-g[3].length(),q,g[0]);k="surface"+E(l.x)+E(l.y)+E(l.z);break;case 536875009:case 1073742163:d=536875009==l?b.getPointOrPlane(++a,19):b.checkHKL(b.getFractionalPoint(++a));a=b.iToken;if(this.chk)break;g=m.getUnitCellVectors();g[1].scale(Math.abs(d.x));g[2].scale(Math.abs(d.y));g[3].scale(Math.abs(d.z));d=null;k="supercell";break;case 1073741938:d=b.getFractionalPoint(++a);a=b.iToken;if(this.chk)break;d=JU.SimpleUnitCell.ptToIJK(b.checkHKL(d),1);break;case 4:case 1073741824:l=
this.paramAsStr(a).toLowerCase();if(l.equals("rhombohedral"))l="2/3a+1/3b+1/3c,-1/3a+1/3b+1/3c,-1/3a-2/3b+1/3c";else if(l.equals("trigonal")||l.equals("hexagonal"))l="a-b,b-c,a+b+c";k=l;if(0<=l.indexOf(",")||this.chk){n=l;break}f=null;b.setModelCagePts(-1,null,null);n=this.vwr.getModelInfo("unitcell_conventional");if(JU.PT.isOneOf(k,";parent;standard;primitive;")){if(null==n&&null!=this.vwr.getModelInfo("isprimitive")){this.showString("Cannot convert unit cell when file data is primitive and have no lattice information");
return}k.equals("primitive")&&4==this.tokAt(a+1)&&(f=this.paramAsStr(++a).toUpperCase())}O(n,Array)&&(g=n);null==f&&(f=this.vwr.getModelInfo("latticeType"));null!=n&&b.setModelCagePts(-1,this.vwr.getV0abc(-1,n),""+n);if(!k.equals("conventional"))if(l=this.vwr.getModelInfo("unitcell_"+k),null==l){if((l=k.equals("primitive"))||k.equals("reciprocal")){x=this.slen==a+1?1:2==this.tokAt(a+1)?3.141592653589793*this.intParameter(++a):this.floatParameter(++a);k=(null==m?"":m.getSpaceGroupName()+" ")+k;g=null==
m?z(-1,[JU.P3.new3(0,0,0),JU.P3.new3(1,0,0),JU.P3.new3(0,1,0),JU.P3.new3(0,0,1)]):m.getUnitCellVectors();null==f&&(f=this.vwr.getSymmetryInfo(this.vwr.getFrameAtoms().nextSetBit(0),null,0,null,null,null,1073741994,null,0,-1,0,null));null==m&&(m=this.vwr.getSymTemp());m.toFromPrimitive(!0,0==f.length?"P":f.charAt(0),g,this.vwr.getCurrentModelAuxInfo().get("primitiveToCrystal"));l||JU.SimpleUnitCell.getReciprocal(g,g,x);break}}else k=l,0<=l.indexOf(",")&&(n=l);break;case 135180:case 1073742330:j=b.objectNameParameter(++a);
break;case 1812599299:b.iToken=a;if(this.chk)break;g=JU.P3.newP(this.vwr.getBoundBoxCenter());d=this.vwr.getBoundBoxCornerVector();g.sub(d);g=z(-1,[g,JU.P3.new3(2*d.x,0,0),JU.P3.new3(0,2*d.y,0),JU.P3.new3(0,0,2*d.z)]);d=null;b.iToken=a;break;case 1073742176:12!=this.tokAt(++a)&&this.invArg();if(this.chk)break;n=z(-1,[this.getToken(a).value]);break;case 11:case 12:n=this.getToken(a).value;break;case 12289:switch(this.tokAt(++a)){case 12290:case 10:case 1073742325:d=this.vwr.ms.getAtomSetCenter(this.atomExpressionAt(a));
a=b.iToken;if(this.chk)break;this.vwr.toFractional(d,!0);break;default:if(b.isCenterParameter(a)){d=this.centerParameter(a);a=b.iToken;break}this.invArg()}d.x-=0.5;d.y-=0.5;d.z-=0.5;break;case 12290:case 10:case 1073742325:f=this.atomExpressionAt(a).nextSetBit(0);a=b.iToken;this.chk||this.vwr.am.setUnitCellAtomIndex(f);if(0>f)return;break;case 1073742066:if(f=!0,b.isAtomExpression(a+1)){d=b.centerParameter(++a,null);a=b.iToken;if(this.chk)break;this.vwr.toFractional(d,!1);break}case 1073742114:d=
b.getFractionalPoint(++a);if(O(d,"JU.P4"))f&&this.invArg();else{a=b.iToken;if(this.chk)break;d=!f&&555>d.x?JU.SimpleUnitCell.ptToIJK(b.checkHKL(d),1):JU.P4.new4(d.x,d.y,d.z,f?1:0)}break;case 3:case 2:if(111>this.floatParameter(a)){a--;break}e=this.intParameter(a);break;default:b.isArrayParameter(a)?(g=b.getPointArray(a,4,!1),a=b.iToken):this.slen>a+1?(d=b.getFractionalPoint(a),a=b.iToken):a--}f=b.getSetAxesTypeMad10(++a);b.checkLast(b.iToken);if(!(this.chk||2147483647==f)){2147483647==f&&this.vwr.am.setUnitCellAtomIndex(-1);
null==g&&null!=n&&(g=this.vwr.getV0abc(-1,n));if(2147483647!=e)JM.ModelSet.setUnitCellOffset(m,null,e);else if(null!=j)this.vwr.setCurrentCage(j);else if(p||null!=g){e=c?m:null;if(null!=e){if(j=this.vwr.getFrameAtoms(),n=j.cardinality(),p=0==n,!p){n=Array(n);m=this.vwr.ms.at;l=j.nextSetBit(0);for(x=0;0<=l;l=j.nextSetBit(l+1),x++)n[x]=JU.P3.newP(m[l]),this.vwr.toFractionalUC(e,n[x],!1);b.setModelCagePts(-1,g,k);e=this.vwr.getCurrentUnitCell();l=j.nextSetBit(0);for(x=0;0<=l;l=j.nextSetBit(l+1),x++)m[l].setT(n[x]),
this.vwr.toCartesianUC(e,m[l],!1);this.vwr.ms.setTaintedAtoms(j,2)}}else p=!0;p&&b.setModelCagePts(-1,g,k)}b.setObjectMad10(33,"unitCell",f);null!=d&&JM.ModelSet.setUnitCellOffset(this.vwr.getCurrentUnitCell(),d,0);null!=h&&this.setShapeProperty(33,"tickInfo",h);null!=k&&this.showString(k+(null==g?"":" "+JU.Escape.e(g)))}},"~N,~B");m(k,"getUVBoxFromHKL",function(a,c,b){var e=E(c.x),f=E(c.y),d=E(c.z);for((0==e&&0==f&&0==d||e!=c.x||f!=c.y||d!=c.z)&&this.invArg();0==e%2&&0==f%2&&0==d%2;)e/=2,f/=2,d/=
2;c=a.getUnitCellVectors();for(var h=b.w,j=JU.P4.new4(b.x,b.y,b.z,0),g=Math.max(Math.max(e,f),d),g=JU.Measure.getLatticePoints(a.getLatticeCentering(),g,g,g),k=g.size();0<=--k;)a.toCartesian(g.get(k),!0);for(var g=JU.Measure.getPointsOnPlane(g.toArray(Array(g.size())),j),j=new JU.P3,k=-179,m=3.4028235E38,p=3.4028235E38,v=a=null,l=k,x=3.4028235E38,r,A,t,q,u=g.size();0<=--u;){var z=g.get(u);r=z.length();t=!1;if(!(0.01>r||null!=a&&(l=Math.abs(JU.Measure.computeTorsion(a,j,b,z,!0)))>-k))if(q=1>l,null==
a)a=z,m=r;else{if(r<m-0.01)t=!0,l=x=3.4028235E38;else if(r<p-0.01)x=3.4028235E38;else if(!(r>=p+0.01))continue;t||(A=89<l)&&r<m+0.1&&-0.01<=z.x&&0.01>=z.y&&(3.4028235E38==x||89>x)?(q?(v=null,p=3.4028235E38):(v=a,p=m),a=z,m=r,!t&&l<x&&(x=l)):A&&r<p+0.1&&(v=z,p=r,l<x&&(x=l))}}null==a&&this.invArg();A=null;if(null==v)for(u=g.size();0<=--u;)z=g.get(u),l=JU.Measure.computeTorsion(a,j,b,z,!0),-89.9>l&&l>k+0.01&&(k=l,A=z);else l=JU.Measure.computeTorsion(a,j,b,v,!0),1<l?(A=a,a=v):A=v;null==A&&this.invArg();
c[1]=A;c[2]=a;b=1==((0>e?1:0)+(0>f?1:0)+(0>d?1:0))%2;g=c[3];j=JU.P3.newP(A);k=JU.P3.newP(a);0==e&&0==f?(k.scale(-1),j.scale(-1),c[1]=j,c[2]=k):!(0==e&&0==d)&&(0==f&&0==d)&&(j.scale(-1),k.scale(-1),c[1]=k,c[2]=j);b&&(j=c[1],c[1]=c[2],c[2]=j);g.cross(a,A);g.normalize();g.scale(h);return c},"J.api.SymmetryInterface,JU.P4,JU.P4");m(k,"modelkit",function(){var a=0,c=this.tokAt(1);switch(c){case 603984065:case 4139:this.chk&&this.e.cmdUndoRedo(603984065==c?4165:4140);return;case 1073742334:if(2==this.slen&&
null==this.vwr.getModelkitPropertySafely("exists"))return;case 0:case 1073742335:this.chk||this.vwr.setBooleanProperty("modelkitmode",1073742334!=c);if(0==this.tokAt(a+1))return;a=++this.e.iToken;break;case 4126:0>this.vwr.am.cmi&&this.e.errorStr(30,"MODELKIT MINIMIZE");this.minimize(!0);return;case 528432:case 4145:this.e.cmdRotate(!1,!0);return;case 4098:++this.e.iToken;case 134217764:case 4106:case 12291:case 1275069441:case 4129:case 1073742080:this.assign();return;case 4130:++this.e.iToken;this.mutate();
return}for(var b=this.vwr.getModelkit(!1);0!=(c=this.tokAt(++a));){var e=this.paramAsStr(a).toLowerCase(),f=null;switch(c){case 1073742335:case 1073742334:this.chk||(this.vwr.setBooleanProperty("modelkitmode",1073742335==c),1073742334==c&&this.vwr.setStringProperty("picking","identify"));continue;case 1610625028:case 12294:e="hidden";f=Boolean.$valueOf(1610625028!=c);break;case 12293:var e="constraint",f="",d=c=null,h=null;switch(this.tokAt(++a)){case 1073742334:case 1073742333:this.chk||this.vwr.setBooleanProperty("dragPicking",
!1);break;case 135198:c=this.e.getPoint3f(++a,!0,!0);a=this.e.iToken;d=this.e.getPoint3f(++a,!0,!0);f=null;break;case 134219777:h=this.e.hklParameter(++a,null,!0);f=null;break;case 134217750:h=this.e.planeParameter(++a,!1);f=null;break;default:this.invArg()}null==f?((null==c||null==d)==(null==h)&&this.invArg(),f=z(-1,[c,d,h])):f=null;a=this.e.iToken;break;case 36867:e=this.paramAsStr(++a);f=0==this.tokAt(++a)?"true":this.paramAsStr(a);break;case 1296041985:switch(this.tokAt(++a)){case 4:case 1073742333:f=
this.paramAsStr(a);break;case 12:f=this.getToken(a).value;break;case 2:f=Integer.$valueOf(this.getToken(a).intValue);break;default:this.e.isCenterParameter(a)?(e="center",f=this.e.centerParameter(a,null),a=this.e.iToken):this.invArg()}break;case 1073742066:if(f=this.paramAsStr(a+1),f.equals("none")){++a;break}case 134217751:case 12289:f=this.e.atomCenterOrCoordinateParameter(++a,null);a=this.e.iToken;break;case 1073742024:f=this.paramAsStr(++a).toLowerCase();this.vwr.isModelKitOption("M",f)||this.invArg();
break;case 1814695966:f=this.paramAsStr(++a).toLowerCase();if(!this.vwr.isModelKitOption("U",f)){this.unitcell(2,!0);return}break;case 1088421903:f=this.paramAsStr(++a).toLowerCase();this.vwr.isModelKitOption("S",f)||this.invArg();break;default:if(this.vwr.isModelKitOption("B",e)){f=Boolean.$valueOf(0==(c=this.tokAt(++a))||1073742335==c);break}if(this.vwr.isModelKitOption("M",e)){f=e;e="mode";break}if(this.vwr.isModelKitOption("U",e)){f=e;e="unitcell";break}this.invArg()}!this.chk&&(null!=f&&null!=
(f=b.setProperty(e,f))&&"hidden"!==e&&!b.isHidden())&&this.vwr.showString("modelkit "+e+" "+f.toString(),!1)}});m(k,"assign",function(){var a=1073742335==this.tokAt(this.slen-1),c=++this.e.iToken,b=this.tokAt(c),e=-1,f=-1,d=1153433601==b,h=1677721602==b,j=4106==b,g=12291==b,k=1275069441==b,m=4129==b,p=134217764==b,v=1073742080==b,l=null;d||h||j||p||g||m||k||v?c++:b=1153433601;0>this.vwr.am.cmi&&this.invArg();var x=this.vwr.getThisModelAtoms(),r=null;if(h){if(2==this.tokAt(c))e=this.e.intParameter(c);
else if(O(this.getToken(c).value,"JM.BondSet"))e=this.getToken(c).value.nextSetBit(0);else switch(r=this.expFor(c,x),e=r.nextSetBit(0),r.cardinality()){case 1:r=this.expFor(++this.e.iToken,x),f=r.nextSetBit(0),0>f&&this.invArg(),r.set(e);case 2:r=this.vwr.ms.getBondsForSelectedAtoms(r,!1);r.isEmpty()?(j=!0,b=4106):e=r.nextSetBit(0);break;default:this.invArg()}c=++this.e.iToken}else if(1073742080==b)r=x;else if(!(1153433601==b&&4==this.tokAt(c)||1275069441==b))if(!p||this.e.isAtomExpression(c)){r=
this.expFor(c,x);e=r.nextSetBit(0);if(0>e)return;c=++this.e.iToken}var A=h=null,t=null;if(k)switch(this.e.isAtomExpression(c)?(r=this.expFor(++this.e.iToken,x),c=this.e.iToken,h=this.e.optParameterAsString(c+1),h.toLowerCase().equals("packed")&&(v=!0,h="")):h=this.e.optParameterAsString(c),this.e.isPoint3f(this.e.iToken+1)?A=this.getPoint3f(++this.e.iToken,!0):this.e.isArrayParameter(this.e.iToken+1)&&(l=this.e.getPointArray(this.e.iToken+1,-1,!1)),0==h.length&&(h=null),this.tokAt(this.e.iToken+1)){case 1073742080:v=
!0;++this.e.iToken;break;case 1086324754:++this.e.iToken,t=this.paramAsStr(++this.e.iToken),c=1<t.length||0==t.length?"\x00":t.charAt(0),("a">c&&"A"!=c||"z"<c)&&this.invArg(),"packed".equals(this.e.optParameterAsString(this.e.iToken+1))&&(v=!0,++this.e.iToken)}else m?this.e.isArrayParameter(c)?l=this.e.getPointArray(c,-1,!1):A=this.getPoint3f(c,!0):p?(h=this.e.optParameterAsString(c),1073742080==this.tokAt(this.e.iToken+1)&&(v=!0,++this.e.iToken)):j?!g&&0>f&&(r=this.expFor(c,x),f=r.nextSetBit(0),
h=this.e.optParameterAsString(++this.e.iToken)):(h=this.e.optParameterAsString(c),d&&(A=++this.e.iToken<(a?this.slen-1:this.slen)?this.centerParameter(this.e.iToken):null));if(!this.chk)switch(this.vwr.pushState(),b){case 1153433601:this.e.clearDefinedVariableAtomSets();this.vwr.getModelkit(!1).cmdAssignAtom(e,A,h,this.e.fullCommand,a);break;case 1677721602:this.vwr.getModelkit(!1).cmdAssignBond(e,(h+"-").charAt(0),this.e.fullCommand);break;case 4106:this.vwr.getModelkit(!1).cmdAssignConnect(e,f,
(h+"1").charAt(0),this.e.fullCommand);break;case 1073742080:h=null;case 1275069441:case 1086324754:null==A&&(null==r&&null==l&&null==t)&&this.invArg();null==l&&null!=A&&(l=z(-1,[A]));v=this.vwr.getModelkit(!1).cmdAssignAddAtoms(h+(null!=t?":"+t:""),l,r,v?"packed":"",this.e.fullCommand,a);this.e.doReport()&&this.e.report(J.i18n.GT.i(J.i18n.GT.$("{0} atoms added"),v),!1);break;case 12291:v=this.vwr.getModelkit(!1).cmdAssignDeleteAtoms(r);this.e.doReport()&&this.e.report(J.i18n.GT.i(J.i18n.GT.$("{0} atoms deleted"),
v),!1);break;case 4129:v=this.vwr.getModelkit(!1).cmdAssignMoveAtoms(r,null,null,e,A,l,!0);0<v&&this.vwr.checkCoordinatesChanged();this.e.doReport()&&this.e.report(J.i18n.GT.i(J.i18n.GT.$("{0} atoms moved"),v),!1);break;case 134217764:a=this.vwr.assignSpaceGroup(r,h),this.e.doReport()&&this.e.showString(a),v&&!a.endsWith("!")&&(v=this.vwr.getModelkit(!1).cmdAssignAddAtoms(null,null,x,"packed",this.e.fullCommand,!1),this.e.doReport()&&this.e.report(J.i18n.GT.i(J.i18n.GT.$("{0} atoms added"),v),!1))}});
m(k,"expFor",function(a,c){var b=JU.BS.copy(this.atomExpressionAt(a));b.and(c);return b},"~N,JU.BS");m(k,"getContext",function(a){for(var c=new JU.SB,b=this.e.thisContext;null!=b;)a?null!=b.vars&&(c.append(this.getScriptID(b)),c.append(JV.StateManager.getVariableList(b.vars,80,!0,!1))):c.append(JS.ScriptError.getErrorLineMessage(b.functionName,b.scriptFileName,this.e.getLinenumber(b),b.pc,JS.ScriptEval.statementAsString(this.vwr,b.statement,-9999,this.e.debugHigh))),b=b.parentContext;a?null!=this.e.contextVariables&&
(c.append(this.getScriptID(null)),c.append(JV.StateManager.getVariableList(this.e.contextVariables,80,!0,!1))):c.append(this.e.getErrorLineMessage2());return c.toString()},"~B");m(k,"getIsosurfaceJvxl",function(a,c){return this.chk?"":this.getShapeProperty(a,"PMESH"===c||"MESH"===c?"jvxlMeshX":"ISOMESH"===c?"pmesh":"ISOMESHBIN"===c||"PMB"===c?"pmeshbin":"jvxlDataXml")},"~N,~S");m(k,"getMoJvxl",function(a,c){var b=c?28:27;this.e.sm.loadShape(b);var e=this.vwr.am.cmi;0>e&&this.e.errorStr(30,"show/write MO/NBO");
var f=this.vwr.ms.getInfo(e,"moData");null==f&&this.error(27);var d=this.getShapeProperty(b,"moNumber");(null==d||0==d.intValue())&&this.setShapeProperty(b,"init",Integer.$valueOf(e));this.setShapeProperty(b,"moData",f);return this.e.sm.getShapePropertyIndex(b,"showMO",a)},"~N,~B");m(k,"getScriptID",function(a){return"\n# "+(null==a?this.e.functionName:"function "+a.functionName)+" (file "+(null==a?this.e.scriptFileName:a.scriptFileName)+(null==a?"":" context "+a.id)+")\n"},"JS.ScriptContext");m(k,
"tokenAt",function(a,c){return a<c.length?c[a]:null},"~N,~A");k.tokAtArray=m(k,"tokAtArray",function(a,c){return a<c.length&&null!=c[a]?c[a].tok:0},"~N,~A");m(k,"getPlotMinMax",function(a,c,b){if(null==a)return 0;switch(b){case 1111490568:case 1111490569:case 1111490570:return c?180:-180;case 1111490565:case 1111490576:return c?360:0;case 1111490574:return c?1:-1}b=c?-1E10:1E10;for(var e=a.length;0<=--e;){var f=a[e];Float.isNaN(f)||c==f>b&&(b=f)}return b},"~A,~B,~N");m(k,"parseDataArray",function(a,
c){a=JU.Parser.fixDataString(a);var b=JU.Parser.markLines(a,"\n"),e=b.length;if(!c){for(var f=JU.AU.newFloat2(e),d=0,h=0;d<e;h=b[d++])h=JU.PT.getTokens(a.substring(h,b[d])),JU.PT.parseFloatArrayData(h,f[d]=Q(h.length,0));return f}h=JU.PT.getTokens(a.substring(0,b[0]));if(3!=h.length)return Q(0,0,0,0);var j=JU.PT.parseInt(h[0]),g=JU.PT.parseInt(h[1]),k=JU.PT.parseInt(h[2]);if(1>j||1>g||1>k)return Q(1,1,1,0);for(var f=JU.AU.newFloat3(j,g),m=0,p=0,d=1,h=b[0];d<e&&m<j;h=b[d++])h=JU.PT.getTokens(a.substring(h,
b[d])),h.length<k||(JU.PT.parseFloatArrayData(h,f[m][p]=Q(h.length,0)),++p==g&&(m++,p=0));return m!=j?(System.out.println("Error reading 3D data -- nX = "+j+", but only "+m+" blocks read"),Q(1,1,1,0)):f},"~S,~B");m(k,"getBitsetPropertyFloat",function(a,c,b,e,f){c=null==b||1086325010==c||1111490843==c?this.e.getBitsetProperty(a,null,c,null,null,b,null,!1,2147483647,!1):this.vwr.getDataObj(b,a,1);if(null==c||!JU.AU.isAF(c))return null==a?null:Q(a.cardinality(),0);if(!Float.isNaN(e))for(a=0;a<c.length;a++)c[a]<
e&&(c[a]=NaN);if(!Float.isNaN(f))for(a=0;a<c.length;a++)c[a]>f&&(c[a]=NaN);return c},"JU.BS,~N,~S,~N,~N")})})(Clazz,Clazz.getClassName,Clazz.newLongArray,Clazz.doubleToByte,Clazz.doubleToInt,Clazz.doubleToLong,Clazz.declarePackage,Clazz.instanceOf,Clazz.load,Clazz.instantialize,Clazz.decorateAsClass,Clazz.floatToInt,Clazz.floatToLong,Clazz.makeConstructor,Clazz.defineEnumConstant,Clazz.exceptionOf,Clazz.newIntArray,Clazz.newFloatArray,Clazz.declareType,Clazz.prepareFields,Clazz.superConstructor,Clazz.newByteArray,
Clazz.declareInterface,Clazz.newShortArray,Clazz.innerTypeInstance,Clazz.isClassDefined,Clazz.prepareCallback,Clazz.newArray,Clazz.castNullAs,Clazz.floatToShort,Clazz.superCall,Clazz.decorateAsType,Clazz.newBooleanArray,Clazz.newCharArray,Clazz.implementOf,Clazz.newDoubleArray,Clazz.overrideConstructor,Clazz.clone,Clazz.doubleToShort,Clazz.getInheritedLevel,Clazz.getParamsType,Clazz.isAF,Clazz.isAB,Clazz.isAI,Clazz.isAS,Clazz.isASS,Clazz.isAP,Clazz.isAFloat,Clazz.isAII,Clazz.isAFF,Clazz.isAFFF,Clazz.tryToSearchAndExecute,
Clazz.getStackTrace,Clazz.inheritArgs,Clazz.alert,Clazz.defineMethod,Clazz.overrideMethod,Clazz.declareAnonymous,Clazz.cloneFinals);
