Clazz.declarePackage("J.api");Clazz.declareInterface(J.api,"JmolStateCreator");Clazz.declarePackage("J.viewer");
Clazz.load(["J.api.JmolStateCreator","java.util.Hashtable"],"J.viewer.StateCreator","java.io.BufferedOutputStream $.BufferedWriter $.FileWriter java.lang.Boolean $.Float java.util.Arrays $.Date J.constant.EnumAxesMode $.EnumPalette $.EnumStereoMode $.EnumStructure $.EnumVdw J.io.Base64 $.JmolBinary $.OutputStringBuilder J.modelset.AtomCollection $.Bond J.shape.Object2d $.Shape J.util.BSUtil $.ColorEncoder $.Escape $.JmolEdge $.JmolFont $.JmolList $.Logger $.P3 $.Parser $.SB $.TextFormat $.V3 J.viewer.DataManager $.FileManager $.JC $.StateManager $.Viewer".split(" "),function(){c$=
Clazz.decorateAsClass(function(){this.temp3=this.temp2=this.temp=this.viewer=null;this.undoWorking=!1;Clazz.instantialize(this,arguments)},J.viewer,"StateCreator",null,J.api.JmolStateCreator);Clazz.prepareFields(c$,function(){this.temp=new java.util.Hashtable;this.temp2=new java.util.Hashtable;this.temp3=new java.util.Hashtable});Clazz.makeConstructor(c$,function(){});Clazz.overrideMethod(c$,"setViewer",function(a){this.viewer=a},"J.viewer.Viewer");Clazz.overrideMethod(c$,"getWrappedState",function(a,
b,c,d,e,f){if(c&&!this.viewer.global.imageState&&!d||!this.viewer.global.preserveState)return"";c=this.viewer.getStateInfo3(null,e,f);if(d)return null!=a&&this.viewer.fileManager.clearPngjCache(a),J.io.JmolBinary.createZipSet(this.viewer.fileManager,this.viewer,null,c,b,!0);try{c=J.viewer.JC.embedScript(J.viewer.FileManager.setScriptFileReferences(c,".",null,null))}catch(g){J.util.Logger.error("state could not be saved: "+g.toString()),c="Jmol "+J.viewer.Viewer.getJmolVersion()}return c},"~S,~A,~B,~B,~N,~N");
Clazz.overrideMethod(c$,"getStateScript",function(a,b,c){var d=null==a||a.equalsIgnoreCase("all"),e=new J.util.SB,f=d?(new J.util.SB).append("function _setState() {\n"):null;d&&e.append("# Jmol state version "+J.viewer.Viewer.getJmolVersion()+";\n");this.viewer.isApplet()&&d&&(J.viewer.StateCreator.appendCmd(e,"# fullName = "+J.util.Escape.eS(this.viewer.fullName)),J.viewer.StateCreator.appendCmd(e,"# documentBase = "+J.util.Escape.eS(this.viewer.appletDocumentBase)),J.viewer.StateCreator.appendCmd(e,
"# codeBase = "+J.util.Escape.eS(this.viewer.appletCodeBase)),e.append("\n"));var g=this.viewer.global;(d||a.equalsIgnoreCase("windowState"))&&e.append(this.getWindowState(f,b,c));(d||a.equalsIgnoreCase("fileState"))&&e.append(this.getFileState(f));(d||a.equalsIgnoreCase("definedState"))&&e.append(this.getDefinedState(f,!0));(d||a.equalsIgnoreCase("variableState"))&&e.append(this.getVariableState(g,f));(d||a.equalsIgnoreCase("dataState"))&&this.getDataState(this.viewer.dataManager,e,f,this.getAtomicPropertyState(-1,
null));(d||a.equalsIgnoreCase("modelState"))&&e.append(this.getModelState(f,!0,this.viewer.getBooleanProperty("saveProteinStructureState")));(d||a.equalsIgnoreCase("colorState"))&&e.append(this.getColorState(this.viewer.colorManager,f));(d||a.equalsIgnoreCase("frameState"))&&e.append(this.getAnimState(this.viewer.animationManager,f));(d||a.equalsIgnoreCase("perspectiveState"))&&e.append(this.getViewState(this.viewer.transformManager,f));(d||a.equalsIgnoreCase("selectionState"))&&e.append(this.getSelectionState(this.viewer.selectionManager,
f));null!=f&&(J.viewer.StateCreator.appendCmd(f,"set refreshing true"),J.viewer.StateCreator.appendCmd(f,"set antialiasDisplay "+g.antialiasDisplay),J.viewer.StateCreator.appendCmd(f,"set antialiasTranslucent "+g.antialiasTranslucent),J.viewer.StateCreator.appendCmd(f,"set antialiasImages "+g.antialiasImages),this.viewer.getSpinOn()&&J.viewer.StateCreator.appendCmd(f,"spin on"),f.append("}\n\n_setState;\n"));d&&e.appendSB(f);return e.toString()},"~S,~N,~N");$_M(c$,"getDefinedState",($fz=function(a,
b){var c=this.viewer.modelSet,d=c.stateScripts.size();if(0==d)return"";for(var e=!1,f=new J.util.SB,g,k=0;k<d;k++){var j=c.stateScripts.get(k);if(j.inDefinedStateBlock&&0<(g=j.toString()).length)f.append("  ").append(g).append("\n"),e=!0}if(!e)return"";g="";b&&null!=a&&(a.append("  _setDefinedState;\n"),g="function _setDefinedState() {\n\n");null!=a&&f.append("\n}\n\n");return g+f.toString()},$fz.isPrivate=!0,$fz),"J.util.SB,~B");Clazz.overrideMethod(c$,"getModelState",function(a,b,c){var d=new J.util.SB;
b&&null!=a&&(a.append("  _setModelState;\n"),d.append("function _setModelState() {\n"));var e,f=this.viewer.modelSet,g=f.bonds,k=f.models,j=f.modelCount;if(b){for(var l=f.stateScripts.size(),h=0;h<l;h++){var m=f.stateScripts.get(h);!m.inDefinedStateBlock&&0<(e=m.toString()).length&&d.append("  ").append(e).append("\n")}e=new J.util.SB;for(h=0;h<f.bondCount;h++)if(!k[g[h].atom1.modelIndex].isModelKit&&(g[h].isHydrogen()||0!=(g[h].order&131072)))l=g[h],m=l.atom1.index,l.atom1.getGroup().isAdded(m)&&
(m=-1-m),e.appendI(m).appendC("\t").appendI(l.atom2.index).appendC("\t").appendI(l.order&-131073).appendC("\t").appendF(l.mad/1E3).appendC("\t").appendF(l.getEnergy()).appendC("\t").append(J.util.JmolEdge.getBondOrderNameFromOrder(l.order)).append(";\n");0<e.length()&&d.append('data "connect_atoms"\n').appendSB(e).append('end "connect_atoms";\n');d.append("\n")}if(f.haveHiddenBonds){e=new J.modelset.Bond.BondSet;for(h=f.bondCount;0<=--h;)0!=g[h].mad&&0==(g[h].shapeVisibilityFlags&J.modelset.Bond.myVisibilityFlag)&&
e.set(h);e.isEmpty()?f.haveHiddenBonds=!1:d.append("  hide ").append(J.util.Escape.eBond(e)).append(";\n")}this.viewer.setModelVisibility();c&&d.append(f.getProteinStructureState(null,b,!1,0));this.getShapeState(d,b,2147483647);if(b){c=!1;for(h=0;h<j;h++)if(k[h].isJmolDataFrame){c=!0;break}for(h=0;h<j;h++)g="  frame "+f.getModelNumberDotted(h),e=f.getModelAuxiliaryInfoValue(h,"modelID"),null!=e&&!e.equals(f.getModelAuxiliaryInfoValue(h,"modelID0"))&&d.append(g).append("; frame ID ").append(J.util.Escape.eS(e)).append(";\n"),
e=f.frameTitles[h],null!=e&&0<e.length&&d.append(g).append("; frame title ").append(J.util.Escape.eS(e)).append(";\n"),c&&(null!=k[h].orientation&&!f.isTrajectorySubFrame(h))&&d.append(g).append("; ").append(k[h].orientation.getMoveToText(!1)).append(";\n"),0!=k[h].frameDelay&&!f.isTrajectorySubFrame(h)&&d.append(g).append("; frame delay ").appendF(k[h].frameDelay/1E3).append(";\n"),null!=k[h].simpleCage&&(d.append(g).append("; unitcell ").append(J.util.Escape.eAP(k[h].simpleCage.getUnitCellVectors())).append(";\n"),
this.getShapeState(d,b,33));if(null!=f.unitCells){for(h=0;h<j;h++)k=f.getUnitCell(h),null!=k&&(d.append("  frame ").append(f.getModelNumberDotted(h)),c=k.getFractionalOffset(),null!=c&&d.append("; set unitcell ").append(J.util.Escape.eP(c)),c=k.getUnitCellMultiplier(),null!=c&&d.append("; set unitcell ").append(J.util.Escape.eP(c)),d.append(";\n"));this.getShapeState(d,b,33)}d.append("  set fontScaling "+this.viewer.getBoolean(603979845)+";\n");this.viewer.getBoolean(603979882)&&d.append("  set modelKitMode true;\n")}null!=
a&&d.append("\n}\n\n");return d.toString()},"J.util.SB,~B,~B");$_M(c$,"getShapeState",($fz=function(a,b,c){var d=this.viewer.shapeManager.shapes;if(null!=d){var e,f,g;2147483647==c?(c=0,g=36):g=c+1;for(;c<g;++c)null!=(f=d[c])&&((b||J.viewer.JC.isShapeSecondary(c))&&null!=(e=f.getShapeState())&&1<e.length)&&a.append(e);a.append("  select *;\n")}},$fz.isPrivate=!0,$fz),"J.util.SB,~B,~N");$_M(c$,"getWindowState",($fz=function(a,b,c){var d=this.viewer.global,e=new J.util.SB;null!=a&&(a.append("  initialize;\n  set refreshing false;\n  _setWindowState;\n"),
e.append("\nfunction _setWindowState() {\n"));0!=b&&e.append("# preferredWidthHeight ").appendI(b).append(" ").appendI(c).append(";\n");e.append("# width ").appendI(0==b?this.viewer.getScreenWidth():b).append(";\n# height ").appendI(0==c?this.viewer.getScreenHeight():c).append(";\n");J.viewer.StateCreator.appendCmd(e,"stateVersion = "+d.getParameter("_version"));J.viewer.StateCreator.appendCmd(e,"background "+J.util.Escape.escapeColor(d.objColors[0]));for(b=1;8>b;b++)0!=d.objColors[b]&&J.viewer.StateCreator.appendCmd(e,
J.viewer.StateManager.getObjectNameFromId(b)+'Color = "'+J.util.Escape.escapeColor(d.objColors[b])+'"');null!=d.backgroundImageFileName&&J.viewer.StateCreator.appendCmd(e,"background IMAGE /*file*/"+J.util.Escape.eS(d.backgroundImageFileName));e.append(this.getSpecularState());J.viewer.StateCreator.appendCmd(e,"statusReporting  = "+d.statusReporting);null!=a&&e.append("}\n\n");return e.toString()},$fz.isPrivate=!0,$fz),"J.util.SB,~N,~N");Clazz.overrideMethod(c$,"getSpecularState",function(){var a=
new J.util.SB,b=this.viewer.gdata;J.viewer.StateCreator.appendCmd(a,"set ambientPercent "+b.getAmbientPercent());J.viewer.StateCreator.appendCmd(a,"set diffusePercent "+b.getDiffusePercent());J.viewer.StateCreator.appendCmd(a,"set specular "+b.getSpecular());J.viewer.StateCreator.appendCmd(a,"set specularPercent "+b.getSpecularPercent());J.viewer.StateCreator.appendCmd(a,"set specularPower "+b.getSpecularPower());J.viewer.StateCreator.appendCmd(a,"set celShading "+b.getCel());var c=b.getSpecularExponent(),
b=b.getPhongExponent();Math.pow(2,c)==b?J.viewer.StateCreator.appendCmd(a,"set specularExponent "+c):J.viewer.StateCreator.appendCmd(a,"set phongExponent "+b);J.viewer.StateCreator.appendCmd(a,"set zShadePower "+this.viewer.global.zShadePower);return a.toString()});$_M(c$,"getFileState",($fz=function(a){var b=new J.util.SB;null!=a&&(a.append("  _setFileState;\n"),b.append("function _setFileState() {\n\n"));0>b.indexOf("append")&&this.viewer.getModelSetFileName().equals("zapped")&&b.append("  zap;\n");
this.appendLoadStates(b);null!=a&&b.append("\n}\n\n");return b.toString()},$fz.isPrivate=!0,$fz),"J.util.SB");$_M(c$,"getDataState",($fz=function(a,b,c,d){if(null!=a.dataValues){var e=a.dataValues.keySet().iterator(),f=new J.util.SB,g=0;0<d.length&&(g=1,f.append(d));for(;e.hasNext();)if(d=e.next(),0==d.indexOf("property_")){g++;var k=a.dataValues.get(d),j=k[1];null!=j&&1==k[3].intValue()?(this.getAtomicPropertyStateBuffer(f,14,k[2],d,j),f.append("\n")):f.append("\n").append(J.util.Escape.encapsulateData(d,
j,0))}else 0==d.indexOf("data2d")?(k=a.dataValues.get(d),j=k[1],null!=j&&2==k[3].intValue()&&(g++,f.append("\n").append(J.util.Escape.encapsulateData(d,j,2)))):0==d.indexOf("data3d")&&(k=a.dataValues.get(d),j=k[1],null!=j&&3==k[3].intValue()&&(g++,f.append("\n").append(J.util.Escape.encapsulateData(d,j,3))));null!=a.userVdws&&(a=a.getDefaultVdwNameOrData(0,J.constant.EnumVdw.USER,a.bsUserVdws),0<a.length&&(g++,f.append(a)));0!=g&&(null!=c&&b.append("function _setDataState() {\n"),b.appendSB(f),null!=
c&&(c.append("  _setDataState;\n"),b.append("}\n\n")))}},$fz.isPrivate=!0,$fz),"J.viewer.DataManager,J.util.SB,J.util.SB,~S");$_M(c$,"getColorState",($fz=function(a,b){var c=new J.util.SB,d=this.getCEState(a.propertyColorEncoder,c);0<d&&null!=b&&b.append("\n  _setColorState\n");return 0<d&&null!=b?"function _setColorState() {\n"+c.append("}\n\n").toString():c.toString()},$fz.isPrivate=!0,$fz),"J.viewer.ColorManager,J.util.SB");$_M(c$,"getCEState",($fz=function(a,b){for(var c=0,d,e=a.schemes.entrySet().iterator();e.hasNext()&&
((d=e.next())||1);){var f=d.getKey();(new Boolean(0<f.length&0<=c++)).valueOf()&&b.append('color "'+f+"="+J.util.ColorEncoder.getColorSchemeList(d.getValue())+'";\n')}return c},$fz.isPrivate=!0,$fz),"J.util.ColorEncoder,J.util.SB");$_M(c$,"getAnimState",($fz=function(a,b){var c=this.viewer.getModelCount();if(2>c)return"";var d=new J.util.SB;null!=b&&(b.append("  _setFrameState;\n"),d.append("function _setFrameState() {\n"));d.append("# frame state;\n");d.append("# modelCount ").appendI(c).append(";\n# first ").append(this.viewer.getModelNumberDotted(0)).append(";\n# last ").append(this.viewer.getModelNumberDotted(c-
1)).append(";\n");0<=a.backgroundModelIndex&&J.viewer.StateCreator.appendCmd(d,"set backgroundModel "+this.viewer.getModelNumberDotted(a.backgroundModelIndex));c=this.viewer.getFrameOffsets();null!=c&&J.viewer.StateCreator.appendCmd(d,"frame align "+J.util.Escape.eBS(c));J.viewer.StateCreator.appendCmd(d,"frame RANGE "+a.getModelNumber(-1)+" "+a.getModelNumber(1));J.viewer.StateCreator.appendCmd(d,"animation DIRECTION "+(1==a.animationDirection?"+1":"-1"));J.viewer.StateCreator.appendCmd(d,"animation FPS "+
a.animationFps);J.viewer.StateCreator.appendCmd(d,"animation MODE "+a.animationReplayMode.name()+" "+a.firstFrameDelay+" "+a.lastFrameDelay);0<a.morphCount&&J.viewer.StateCreator.appendCmd(d,"animation MORPH "+a.morphCount);J.viewer.StateCreator.appendCmd(d,"frame "+a.getModelNumber(0));J.viewer.StateCreator.appendCmd(d,"animation "+(!a.animationOn?"OFF":1==a.currentDirection?"PLAY":"PLAYREV"));a.animationOn&&a.animationPaused&&J.viewer.StateCreator.appendCmd(d,"animation PAUSE");null!=b&&d.append("}\n\n");
return d.toString()},$fz.isPrivate=!0,$fz),"J.viewer.AnimationManager,J.util.SB");$_M(c$,"getVariableState",($fz=function(a,b){var c=Array(a.htBooleanParameterFlags.size()+a.htNonbooleanParameterValues.size()),d=new J.util.SB;null!=b&&(b.append("  _setVariableState;\n"),d.append("function _setVariableState() {\n\n"));var e=0,f,g;for(f=a.htBooleanParameterFlags.keySet().iterator();f.hasNext();)g=f.next(),J.viewer.StateManager.doReportProperty(g)&&(c[e++]="set "+g+" "+a.htBooleanParameterFlags.get(g));
for(f=a.htNonbooleanParameterValues.keySet().iterator();f.hasNext();)if(g=f.next(),J.viewer.StateManager.doReportProperty(g)){var k=a.htNonbooleanParameterValues.get(g);"="==g.charAt(0)?g=g.substring(1):(g=0==g.indexOf("default")?" set "+g:"set "+g,k=J.util.Escape.e(k));c[e++]=g+" "+k}switch(a.axesMode){case J.constant.EnumAxesMode.UNITCELL:c[e++]="set axes unitcell";break;case J.constant.EnumAxesMode.BOUNDBOX:c[e++]="set axes window";break;default:c[e++]="set axes molecular"}java.util.Arrays.sort(c,
0,e);for(f=0;f<e;f++)null!=c[f]&&J.viewer.StateCreator.appendCmd(d,c[f]);c=J.viewer.StateManager.getVariableList(a.htUserVariables,0,!1,!0);0<c.length&&(d.append("\n#user-defined atom sets; \n"),d.append(c));this.viewer.loadShape(5);d.append(this.getDefaultLabelState(this.viewer.shapeManager.shapes[5]));a.haveSetStructureList&&(c=a.structureList,d.append("struture HELIX set "+J.util.Escape.eAF(c.get(J.constant.EnumStructure.HELIX))),d.append("struture SHEET set "+J.util.Escape.eAF(c.get(J.constant.EnumStructure.SHEET))),
d.append("struture TURN set "+J.util.Escape.eAF(c.get(J.constant.EnumStructure.TURN))));null!=b&&d.append("\n}\n\n");return d.toString()},$fz.isPrivate=!0,$fz),"J.viewer.StateManager.GlobalSettings,J.util.SB");$_M(c$,"getDefaultLabelState",($fz=function(a){var b=(new J.util.SB).append("\n# label defaults;\n");J.viewer.StateCreator.appendCmd(b,"select none");J.viewer.StateCreator.appendCmd(b,J.shape.Shape.getColorCommand("label",a.defaultPaletteID,a.defaultColix,a.translucentAllowed));J.viewer.StateCreator.appendCmd(b,
"background label "+J.shape.Shape.encodeColor(a.defaultBgcolix));J.viewer.StateCreator.appendCmd(b,"set labelOffset "+J.shape.Object2d.getXOffset(a.defaultOffset)+" "+-J.shape.Object2d.getYOffset(a.defaultOffset));var c=J.shape.Object2d.getAlignmentName(a.defaultAlignment);J.viewer.StateCreator.appendCmd(b,"set labelAlignment "+(5>c.length?"left":c));c=J.shape.Object2d.getPointer(a.defaultPointer);J.viewer.StateCreator.appendCmd(b,"set labelPointer "+(0==c.length?"off":c));0!=(a.defaultZPos&32)?J.viewer.StateCreator.appendCmd(b,
"set labelFront"):0!=(a.defaultZPos&16)&&J.viewer.StateCreator.appendCmd(b,"set labelGroup");J.viewer.StateCreator.appendCmd(b,J.shape.Shape.getFontCommand("label",J.util.JmolFont.getFont3D(a.defaultFontId)));return b.toString()},$fz.isPrivate=!0,$fz),"J.shape.Labels");$_M(c$,"getSelectionState",($fz=function(a,b){var c=new J.util.SB;null!=b&&(b.append("  _setSelectionState;\n"),c.append("function _setSelectionState() {\n"));J.viewer.StateCreator.appendCmd(c,this.getTrajectoryState());var d=new java.util.Hashtable,
e=null;J.viewer.StateCreator.addBs(c,"hide ",a.bsHidden);J.viewer.StateCreator.addBs(c,"subset ",a.bsSubset);J.viewer.StateCreator.addBs(c,"delete ",a.bsDeleted);J.viewer.StateCreator.addBs(c,"fix ",a.bsFixed);d.put("-",a.bsSelection);e=this.getCommands(d,null,"select");null==e?J.viewer.StateCreator.appendCmd(c,"select none"):c.append(e);J.viewer.StateCreator.appendCmd(c,"set hideNotSelected "+a.hideNotSelected);c.append(this.viewer.getShapeProperty(1,"selectionState"));this.viewer.getSelectionHaloEnabled(!1)&&
J.viewer.StateCreator.appendCmd(c,"SelectionHalos ON");null!=b&&c.append("}\n\n");return c.toString()},$fz.isPrivate=!0,$fz),"J.viewer.SelectionManager,J.util.SB");Clazz.overrideMethod(c$,"getTrajectoryState",function(){var a="",b=this.viewer.modelSet;if(null==b.trajectorySteps)return"";for(var c=b.modelCount;0<=--c;){var d=b.models[c].getSelectedTrajectory();0<=d&&(a=" or "+b.getModelNumberDotted(d)+a,c=b.models[c].trajectoryBaseIndex)}0<a.length&&(a="set trajectory {"+a.substring(4)+"}");return a});
$_M(c$,"getViewState",($fz=function(a,b){var c=new J.util.SB;null!=b&&(b.append("  _setPerspectiveState;\n"),c.append("function _setPerspectiveState() {\n"));J.viewer.StateCreator.appendCmd(c,"set perspectiveModel "+a.perspectiveModel);J.viewer.StateCreator.appendCmd(c,"set scaleAngstromsPerInch "+a.scale3DAngstromsPerInch);J.viewer.StateCreator.appendCmd(c,"set perspectiveDepth "+a.perspectiveDepth);J.viewer.StateCreator.appendCmd(c,"set visualRange "+a.visualRange);a.isWindowCentered()||J.viewer.StateCreator.appendCmd(c,
"set windowCentered false");J.viewer.StateCreator.appendCmd(c,"set cameraDepth "+a.cameraDepth);1==a.mode&&J.viewer.StateCreator.appendCmd(c,"set navigationMode true");J.viewer.StateCreator.appendCmd(c,this.viewer.getBoundBoxCommand(!1));J.viewer.StateCreator.appendCmd(c,"center "+J.util.Escape.eP(a.fixedRotationCenter));c.append(this.viewer.getSavedOrienationText(null));J.viewer.StateCreator.appendCmd(c,a.getMoveToText(0,!1));a.stereoMode!==J.constant.EnumStereoMode.NONE&&J.viewer.StateCreator.appendCmd(c,
"stereo "+(null==a.stereoColors?a.stereoMode.getName():J.util.Escape.escapeColor(a.stereoColors[0])+" "+J.util.Escape.escapeColor(a.stereoColors[1]))+" "+a.stereoDegrees);1!=a.mode&&!a.zoomEnabled&&J.viewer.StateCreator.appendCmd(c,"zoom off");c.append("  slab ").appendI(a.slabPercentSetting).append(";depth ").appendI(a.depthPercentSetting).append(a.slabEnabled&&1!=a.mode?";slab on":"").append(";\n");c.append("  set slabRange ").appendF(a.slabRange).append(";\n");a.zShadeEnabled&&c.append("  set zShade;\n");
try{null!=a.zSlabPoint&&c.append("  set zSlab ").append(J.util.Escape.eP(a.zSlabPoint)).append(";\n")}catch(d){if(!Clazz.exceptionOf(d,Exception))throw d;}null!=a.slabPlane&&c.append("  slab plane ").append(J.util.Escape.eP4(a.slabPlane)).append(";\n");null!=a.depthPlane&&c.append("  depth plane ").append(J.util.Escape.eP4(a.depthPlane)).append(";\n");c.append(this.getSpinState(!0)).append("\n");this.viewer.modelSetHasVibrationVectors()&&a.vibrationOn&&J.viewer.StateCreator.appendCmd(c,"set vibrationPeriod "+
a.vibrationPeriod+";vibration on");1==a.mode&&(c.append(a.getNavigationState()),(null!=a.depthPlane||null!=a.slabPlane)&&c.append("  slab on;\n"));null!=b&&c.append("}\n\n");return c.toString()},$fz.isPrivate=!0,$fz),"J.viewer.TransformManager,J.util.SB");Clazz.overrideMethod(c$,"getSpinState",function(){var a=this.viewer.transformManager,b="  set spinX "+Clazz.floatToInt(a.spinX)+"; set spinY "+Clazz.floatToInt(a.spinY)+"; set spinZ "+Clazz.floatToInt(a.spinZ)+"; set spinFps "+Clazz.floatToInt(a.spinFps)+
";";Float.isNaN(a.navFps)||(b+="  set navX "+Clazz.floatToInt(a.navX)+"; set navY "+Clazz.floatToInt(a.navY)+"; set navZ "+Clazz.floatToInt(a.navZ)+"; set navFps "+Clazz.floatToInt(a.navFps)+";");a.navOn&&(b+=" navigation on;");if(!a.spinOn)return b;var c=a.isSpinSelected?"\n  select "+J.util.Escape.eBS(this.viewer.getSelectionSet(!1))+";\n  rotateSelected":"\n ";if(a.isSpinInternal){var d=J.util.P3.newP(a.internalRotationCenter);d.sub(a.rotationAxis);b+=c+" spin "+a.rotationRate+" "+J.util.Escape.eP(a.internalRotationCenter)+
" "+J.util.Escape.eP(d)}else b=a.isSpinFixed?b+(c+" spin axisangle "+J.util.Escape.eP(a.rotationAxis)+" "+a.rotationRate):b+" spin on";return b+";"},"~B");Clazz.overrideMethod(c$,"getInfo",function(a){return Clazz.instanceOf(a,J.viewer.AnimationManager)?this.getAnimationInfo(a):null},"~O");$_M(c$,"getAnimationInfo",($fz=function(a){var b=new java.util.Hashtable;b.put("firstModelIndex",Integer.$valueOf(a.firstFrameIndex));b.put("lastModelIndex",Integer.$valueOf(a.lastFrameIndex));b.put("animationDirection",
Integer.$valueOf(a.animationDirection));b.put("currentDirection",Integer.$valueOf(a.currentDirection));b.put("displayModelIndex",Integer.$valueOf(a.currentModelIndex));b.put("displayModelNumber",this.viewer.getModelNumberDotted(a.currentModelIndex));b.put("displayModelName",0<=a.currentModelIndex?this.viewer.getModelName(a.currentModelIndex):"");b.put("animationFps",Integer.$valueOf(a.animationFps));b.put("animationReplayMode",a.animationReplayMode.name());b.put("firstFrameDelay",Float.$valueOf(a.firstFrameDelay));
b.put("lastFrameDelay",Float.$valueOf(a.lastFrameDelay));b.put("animationOn",Boolean.$valueOf(a.animationOn));b.put("animationPaused",Boolean.$valueOf(a.animationPaused));return b},$fz.isPrivate=!0,$fz),"J.viewer.AnimationManager");Clazz.overrideMethod(c$,"getCommands",function(a,b,c){var d=new J.util.SB;a=J.viewer.StateCreator.getCommands2(a,d,null,c);null!=b&&J.viewer.StateCreator.getCommands2(b,d,a,"select");return d.toString()},"java.util.Map,java.util.Map,~S");c$.getCommands2=$_M(c$,"getCommands2",
($fz=function(a,b,c,d){if(null==a)return"";var e;for(a=a.entrySet().iterator();a.hasNext()&&((e=a.next())||1);){var f=e.getKey(),g=J.util.Escape.eBS(e.getValue());5>g.length||(g=d+" "+g,g.equals(c)||J.viewer.StateCreator.appendCmd(b,g),c=g,0!=f.indexOf("-")&&J.viewer.StateCreator.appendCmd(b,f))}return c},$fz.isPrivate=!0,$fz),"java.util.Map,J.util.SB,~S,~S");c$.appendCmd=$_M(c$,"appendCmd",($fz=function(a,b){0!=b.length&&a.append("  ").append(b).append(";\n")},$fz.isPrivate=!0,$fz),"J.util.SB,~S");
c$.addBs=$_M(c$,"addBs",($fz=function(a,b,c){null==c||0==c.length()||J.viewer.StateCreator.appendCmd(a,b+J.util.Escape.eBS(c))},$fz.isPrivate=!0,$fz),"J.util.SB,~S,J.util.BS");Clazz.overrideMethod(c$,"getFontState",function(a,b){var c=J.viewer.StateManager.getObjectIdFromName(a.equalsIgnoreCase("axes")?"axis":a);if(0>c)return"";var d=this.viewer.getObjectMad(c),c=(new J.util.SB).append("\n");J.viewer.StateCreator.appendCmd(c,a+(0==d?" off":1==d?" on":-1==d?" dotted":20>d?" "+d:" "+d/2E3));if(3>c.length())return"";
d=J.shape.Shape.getFontCommand(a,b);0<d.length&&(d="  "+d+";\n");return c+d},"~S,J.util.JmolFont");Clazz.overrideMethod(c$,"getFontLineShapeState",function(a,b,c){var d=0<=a.indexOf(" off"),e=new J.util.SB;e.append(a);for(a=0;4>a;a++)null!=c[a]&&this.appendTickInfo(b,e,c[a]);d&&e.append("  "+b+" off;\n");return e.toString()},"~S,~S,~A");$_M(c$,"appendTickInfo",($fz=function(a,b,c){b.append("  ");b.append(a);J.viewer.StateCreator.addTickInfo(b,c,!1);b.append(";\n")},$fz.isPrivate=!0,$fz),"~S,J.util.SB,J.modelset.TickInfo");
c$.addTickInfo=$_M(c$,"addTickInfo",($fz=function(a,b,c){a.append(" ticks ").append(b.type).append(" ").append(J.util.Escape.eP(b.ticks));var d=null!=b.scale&&Float.isNaN(b.scale.x);d&&a.append(" UNITCELL");null!=b.tickLabelFormats&&a.append(" format ").append(J.util.Escape.eAS(b.tickLabelFormats,!1));!d&&null!=b.scale&&a.append(" scale ").append(J.util.Escape.eP(b.scale));c&&(!Float.isNaN(b.first)&&0!=b.first)&&a.append(" first ").appendF(b.first);null!=b.reference&&a.append(" point ").append(J.util.Escape.eP(b.reference))},
$fz.isPrivate=!0,$fz),"J.util.SB,J.modelset.TickInfo,~B");Clazz.overrideMethod(c$,"getShapeSetState",function(a,b,c,d,e,f,g){for(var k=J.viewer.JC.shapeClassBases[b.shapeID],j=0;j<c;j++){var l=d[j].firstAtomIndex,h=d[j].lastAtomIndex;if(null!=a.bsSizeSet&&(a.bsSizeSet.get(j)||null!=a.bsColixSet&&a.bsColixSet.get(j)))e.get(j)?J.util.BSUtil.setMapBitSet(f,l,h,k+(a.bsSizeSet.get(j)?" on":" off")):J.util.BSUtil.setMapBitSet(f,l,h,k+" "+a.mads[j]/2E3);null!=a.bsColixSet&&a.bsColixSet.get(j)&&J.util.BSUtil.setMapBitSet(g,
l,h,J.shape.Shape.getColorCommand(k,a.paletteIDs[j],a.colixes[j],b.translucentAllowed))}},"J.shape.AtomShape,J.shape.Shape,~N,~A,J.util.BS,java.util.Map,java.util.Map");Clazz.overrideMethod(c$,"getMeasurementState",function(a,b,c,d,e){var f=new J.util.SB;J.viewer.StateCreator.appendCmd(f,"measures delete");for(var g=0;g<c;g++){var k=b.get(g),j=k.getCount(),l=(new J.util.SB).append("measure"),h=k.tickInfo;null!=h&&J.viewer.StateCreator.addTickInfo(l,h,!0);for(h=1;h<=j;h++)l.append(" ").append(k.getLabel(h,
!0,!0));l.append("; # "+a.getInfoAsString(g));J.viewer.StateCreator.appendCmd(f,l.toString())}J.viewer.StateCreator.appendCmd(f,"select *; set measures "+this.viewer.getMeasureDistanceUnits());J.viewer.StateCreator.appendCmd(f,J.shape.Shape.getFontCommand("measures",d));d=0;j=new java.util.Hashtable;l=J.util.BSUtil.newBitSet(c);for(g=0;g<c;g++)k=b.get(g),k.isHidden&&(d++,l.set(g)),null!=a.bsColixSet&&a.bsColixSet.get(g)&&J.util.BSUtil.setMapBitSet(j,g,g,J.shape.Shape.getColorCommandUnk("measure",
k.colix,a.translucentAllowed)),null!=k.getStrFormat()&&J.util.BSUtil.setMapBitSet(j,g,g,"measure "+J.util.Escape.eS(k.getStrFormat()));if(0<d)if(d==c)J.viewer.StateCreator.appendCmd(f,"measures off; # lines and numbers off");else for(g=0;g<c;g++)l.get(g)&&J.util.BSUtil.setMapBitSet(j,g,g,"measure off");null!=e&&(f.append(" measure "),J.viewer.StateCreator.addTickInfo(f,e,!0),f.append(";\n"));0<=a.mad&&f.append(" set measurements "+a.mad/2E3).append(";\n");a=this.getCommands(j,null,"select measures");
null!=a&&0!=a.length&&(f.append(a),J.viewer.StateCreator.appendCmd(f,"select measures ({null})"));return f.toString()},"J.shape.AtomShape,J.util.JmolList,~N,J.util.JmolFont,J.modelset.TickInfo");Clazz.overrideMethod(c$,"getBondState",function(a,b,c){this.clearTemp();var d=this.viewer.modelSet,e=d.bonds,f=d.bondCount,g;if(c||null!=a.bsSizeSet)for(d=c?f-1:a.bsSizeSet.nextSetBit(0);0<=d;d=c?d-1:a.bsSizeSet.nextSetBit(d+1))J.util.BSUtil.setMapBitSet(this.temp,d,d,"wireframe "+(1==(g=e[d].mad)?"on":""+
g/2E3));if(c||null!=b)for(d=c?f-1:b.nextSetBit(0);0<=d;d=c?d-1:b.nextSetBit(d+1))g=e[d],(c||0==(g.order&131072))&&J.util.BSUtil.setMapBitSet(this.temp,d,d,"bondOrder "+J.util.JmolEdge.getBondOrderNameFromOrder(g.order));if(null!=a.bsColixSet)for(d=a.bsColixSet.nextSetBit(0);0<=d;d=a.bsColixSet.nextSetBit(d+1))b=e[d].colix,2==(b&-30721)?J.util.BSUtil.setMapBitSet(this.temp,d,d,J.shape.Shape.getColorCommand("bonds",J.constant.EnumPalette.CPK.id,b,a.translucentAllowed)):J.util.BSUtil.setMapBitSet(this.temp,
d,d,J.shape.Shape.getColorCommandUnk("bonds",b,a.translucentAllowed));a=this.getCommands(this.temp,null,"select BONDS")+"\n";this.clearTemp();return a},"J.shape.Shape,J.util.BS,~B");$_M(c$,"clearTemp",($fz=function(){this.temp.clear();this.temp2.clear()},$fz.isPrivate=!0,$fz));Clazz.overrideMethod(c$,"getAtomShapeSetState",function(a,b){this.clearTemp();for(var c=b.length;0<=--c;){var d=b[c];0<d.monomerCount&&(d.isActive&&!(null==d.bsSizeSet&&null==d.bsColixSet))&&this.viewer.getShapeSetState(d,a,
d.monomerCount,d.getMonomers(),d.bsSizeDefault,this.temp,this.temp2)}c="\n"+this.getCommands(this.temp,this.temp2,9==a.shapeID?"Backbone":"select");this.clearTemp();return c},"J.shape.Shape,~A");$_M(c$,"getShapeState",function(a){this.clearTemp();var b;switch(a.shapeID){case 30:b=new J.util.SB;b.append("\n  set echo off;\n");for(a=a.objects.values().iterator();a.hasNext();){var c=a.next();b.append(c.getState());c.hidden&&b.append("  set echo ID ").append(J.util.Escape.eS(c.target)).append(" hidden;\n")}b=
b.toString();break;case 8:b=this.getAtomShapeState(a)+(2==a.colixSelection?"":0==a.colixSelection?"  color SelectionHalos NONE;\n":J.shape.Shape.getColorCommandUnk("selectionHalos",a.colixSelection,a.translucentAllowed)+";\n");null!=a.bsHighlight&&(b+="  set highlight "+J.util.Escape.eBS(a.bsHighlight)+"; "+J.shape.Shape.getColorCommandUnk("highlight",a.colixHighlight,a.translucentAllowed)+";\n");break;case 34:if(null!=a.atomFormats)for(b=this.viewer.getAtomCount();0<=--b;)null!=a.atomFormats[b]&&
J.util.BSUtil.setMapBitSet(this.temp,b,b,"set hoverLabel "+J.util.Escape.eS(a.atomFormats[b]));b="\n  hover "+J.util.Escape.eS(null==a.labelFormat?"":a.labelFormat)+";\n"+this.getCommands(this.temp,null,"select");break;case 5:for(b=a.bsSizeSet.nextSetBit(0);0<=b;b=a.bsSizeSet.nextSetBit(b+1)){c=a.getLabel(b);c=null==c?null:c.getCommand();null==c&&(c="label "+J.util.Escape.eS(a.formats[b]));J.util.BSUtil.setMapBitSet(this.temp,b,b,c);null!=a.bsColixSet&&a.bsColixSet.get(b)&&J.util.BSUtil.setMapBitSet(this.temp2,
b,b,J.shape.Shape.getColorCommand("label",a.paletteIDs[b],a.colixes[b],a.translucentAllowed));null!=a.bsBgColixSet&&a.bsBgColixSet.get(b)&&J.util.BSUtil.setMapBitSet(this.temp2,b,b,"background label "+J.shape.Shape.encodeColor(a.bgcolixes[b]));c=a.getLabel(b);c=null!=c?c.getScalePixelsPerMicron():0;0<c&&J.util.BSUtil.setMapBitSet(this.temp2,b,b,"set labelScaleReference "+1E4/c);if(null!=a.offsets&&a.offsets.length>b){c=a.offsets[b];J.util.BSUtil.setMapBitSet(this.temp2,b,b,"set "+(128==(c&128)?"labelOffsetExact ":
"labelOffset ")+J.shape.Object2d.getXOffset(c>>8)+" "+-J.shape.Object2d.getYOffset(c>>8));var d=J.shape.Object2d.getAlignmentName(c>>2),e=J.shape.Object2d.getPointer(c);0<e.length&&J.util.BSUtil.setMapBitSet(this.temp2,b,b,"set labelPointer "+e);0!=(c&32)?J.util.BSUtil.setMapBitSet(this.temp2,b,b,"set labelFront"):0!=(c&16)&&J.util.BSUtil.setMapBitSet(this.temp2,b,b,"set labelGroup");0<d.length&&J.util.BSUtil.setMapBitSet(this.temp3,b,b,"set labelAlignment "+d)}null!=a.mads&&0>a.mads[b]&&J.util.BSUtil.setMapBitSet(this.temp2,
b,b,"set toggleLabel");null!=a.bsFontSet&&a.bsFontSet.get(b)&&J.util.BSUtil.setMapBitSet(this.temp2,b,b,J.shape.Shape.getFontCommand("label",J.util.JmolFont.getFont3D(a.fids[b])))}b=this.getCommands(this.temp,this.temp2,"select")+this.getCommands(null,this.temp3,"select");this.temp3.clear();break;case 0:c=this.viewer.getAtomCount();d=this.viewer.modelSet.atoms;for(b=e=0;b<c;b++)if(null!=a.bsSizeSet&&a.bsSizeSet.get(b)&&(0>(e=d[b].madAtom)?J.util.BSUtil.setMapBitSet(this.temp,b,b,"Spacefill on"):J.util.BSUtil.setMapBitSet(this.temp,
b,b,"Spacefill "+e/2E3)),null!=a.bsColixSet&&a.bsColixSet.get(b)){var f=d[b].getPaletteID();(f!=J.constant.EnumPalette.CPK.id||d[b].isTranslucent())&&J.util.BSUtil.setMapBitSet(this.temp,b,b,J.shape.Shape.getColorCommand("atoms",f,d[b].getColix(),a.translucentAllowed))}b=this.getCommands(this.temp,null,"select");break;default:b=""}this.clearTemp();return b},"J.shape.Shape");Clazz.overrideMethod(c$,"getLoadState",function(a){var b=this.viewer.global,c=new J.util.SB;J.viewer.StateCreator.appendCmd(c,
"set allowEmbeddedScripts false");b.allowEmbeddedScripts&&b.setB("allowEmbeddedScripts",!0);J.viewer.StateCreator.appendCmd(c,"set appendNew "+b.appendNew);J.viewer.StateCreator.appendCmd(c,"set appletProxy "+J.util.Escape.eS(b.appletProxy));J.viewer.StateCreator.appendCmd(c,"set applySymmetryToBonds "+b.applySymmetryToBonds);0<b.atomTypes.length&&J.viewer.StateCreator.appendCmd(c,"set atomTypes "+J.util.Escape.eS(b.atomTypes));J.viewer.StateCreator.appendCmd(c,"set autoBond "+b.autoBond);b.axesOrientationRasmol&&
J.viewer.StateCreator.appendCmd(c,"set axesOrientationRasmol true");J.viewer.StateCreator.appendCmd(c,"set bondRadiusMilliAngstroms "+b.bondRadiusMilliAngstroms);J.viewer.StateCreator.appendCmd(c,"set bondTolerance "+b.bondTolerance);J.viewer.StateCreator.appendCmd(c,"set defaultLattice "+J.util.Escape.eP(b.ptDefaultLattice));J.viewer.StateCreator.appendCmd(c,"set defaultLoadFilter "+J.util.Escape.eS(b.defaultLoadFilter));J.viewer.StateCreator.appendCmd(c,'set defaultLoadScript ""');0<b.defaultLoadScript.length&&
b.setS("defaultLoadScript",b.defaultLoadScript);J.viewer.StateCreator.appendCmd(c,"set defaultStructureDssp "+b.defaultStructureDSSP);var d=this.viewer.getDefaultVdwTypeNameOrData(-2147483648,null);J.viewer.StateCreator.appendCmd(c,"set defaultVDW "+d);d.equals("User")&&J.viewer.StateCreator.appendCmd(c,this.viewer.getDefaultVdwTypeNameOrData(2147483647,null));J.viewer.StateCreator.appendCmd(c,"set forceAutoBond "+b.forceAutoBond);J.viewer.StateCreator.appendCmd(c,"#set defaultDirectory "+J.util.Escape.eS(b.defaultDirectory));
J.viewer.StateCreator.appendCmd(c,"#set loadFormat "+J.util.Escape.eS(b.loadFormat));J.viewer.StateCreator.appendCmd(c,"#set loadLigandFormat "+J.util.Escape.eS(b.loadLigandFormat));J.viewer.StateCreator.appendCmd(c,"#set smilesUrlFormat "+J.util.Escape.eS(b.smilesUrlFormat));J.viewer.StateCreator.appendCmd(c,"#set nihResolverFormat "+J.util.Escape.eS(b.nihResolverFormat));J.viewer.StateCreator.appendCmd(c,"#set pubChemFormat "+J.util.Escape.eS(b.pubChemFormat));J.viewer.StateCreator.appendCmd(c,
"#set edsUrlFormat "+J.util.Escape.eS(b.edsUrlFormat));J.viewer.StateCreator.appendCmd(c,"#set edsUrlCutoff "+J.util.Escape.eS(b.edsUrlCutoff));J.viewer.StateCreator.appendCmd(c,"set legacyAutoBonding "+b.legacyAutoBonding);J.viewer.StateCreator.appendCmd(c,"set minBondDistance "+b.minBondDistance);J.viewer.StateCreator.appendCmd(c,"set minimizationCriterion  "+b.minimizationCriterion);J.viewer.StateCreator.appendCmd(c,"set minimizationSteps  "+b.minimizationSteps);J.viewer.StateCreator.appendCmd(c,
"set pdbAddHydrogens "+(null!=a&&a.get("pdbNoHydrogens")!==Boolean.TRUE?b.pdbAddHydrogens:!1));J.viewer.StateCreator.appendCmd(c,"set pdbGetHeader "+b.pdbGetHeader);J.viewer.StateCreator.appendCmd(c,"set pdbSequential "+b.pdbSequential);J.viewer.StateCreator.appendCmd(c,"set percentVdwAtom "+b.percentVdwAtom);J.viewer.StateCreator.appendCmd(c,"set smallMoleculeMaxAtoms "+b.smallMoleculeMaxAtoms);J.viewer.StateCreator.appendCmd(c,"set smartAromatic "+b.smartAromatic);b.zeroBasedXyzRasmol&&J.viewer.StateCreator.appendCmd(c,
"set zeroBasedXyzRasmol true");return c.toString()},"java.util.Map");Clazz.overrideMethod(c$,"getAllSettings",function(a){var b=this.viewer.global,c=new J.util.SB,d,e,f=Array(b.htBooleanParameterFlags.size()+b.htNonbooleanParameterValues.size()+b.htUserVariables.size()),g=0,k="_"+a;for(d=b.htBooleanParameterFlags.keySet().iterator();d.hasNext();)if(e=d.next(),null==a||0==e.indexOf(a)||0==e.indexOf(k))f[g++]=(0==e.indexOf("_")?e+" = ":"set "+e+" ")+b.htBooleanParameterFlags.get(e);for(d=b.htNonbooleanParameterValues.keySet().iterator();d.hasNext();)if(e=
d.next(),"@"!=e.charAt(0)&&(null==a||0==e.indexOf(a)||0==e.indexOf(k))){var j=b.htNonbooleanParameterValues.get(e);Clazz.instanceOf(j,String)&&(j=J.viewer.StateCreator.chop(J.util.Escape.eS(j)));f[g++]=(0==e.indexOf("_")?e+" = ":"set "+e+" ")+j}for(d=b.htUserVariables.keySet().iterator();d.hasNext();)if(e=d.next(),null==a||0==e.indexOf(a))j=b.htUserVariables.get(e),k=j.asString(),f[g++]=e+" "+(e.startsWith("@")?"":"= ")+(4==j.tok?J.viewer.StateCreator.chop(J.util.Escape.eS(k)):k);java.util.Arrays.sort(f,
0,g);for(a=0;a<g;a++)null!=f[a]&&J.viewer.StateCreator.appendCmd(c,f[a]);c.append("\n");return c.toString()},"~S");c$.chop=$_M(c$,"chop",($fz=function(a){var b=a.length;if(512>b)return a;for(var c=new J.util.SB,d=0,e=72;e<b;d=e,e+=72){for(;"\\"==a.charAt(e-1);)e++;c.append(0==d?"":'"\\\n    + "').append(a.substring(d,e))}c.append('"\\\n    + "').append(a.substring(d,b));return c.toString()},$fz.isPrivate=!0,$fz),"~S");Clazz.overrideMethod(c$,"getAtomShapeState",function(a){this.clearTemp();var b=
J.viewer.JC.shapeClassBases[a.shapeID];if(null!=a.bsSizeSet)for(var c=a.bsSizeSet.nextSetBit(0);0<=c;c=a.bsSizeSet.nextSetBit(c+1))J.util.BSUtil.setMapBitSet(this.temp,c,c,b+(0>a.mads[c]?" on":" "+a.mads[c]/2E3));if(null!=a.bsColixSet)for(c=a.bsColixSet.nextSetBit(0);0<=c;c=a.bsColixSet.nextSetBit(c+1))J.util.BSUtil.setMapBitSet(this.temp2,c,c,J.shape.Shape.getColorCommand(b,a.paletteIDs[c],a.colixes[c],a.translucentAllowed));a=this.getCommands(this.temp,this.temp2,"select");this.clearTemp();return a},
"J.shape.AtomShape");Clazz.overrideMethod(c$,"getFunctionCalls",function(a){null==a&&(a="");var b=new J.util.SB,c=a.indexOf("*"),d=0<=c,e=0==a.indexOf("static_"),f=a.equalsIgnoreCase("names")||a.equalsIgnoreCase("static_names");f&&(a="");d&&(a=a.substring(0,c));a=a.toLowerCase();for(var c=e?J.viewer.Viewer.staticFunctions:this.viewer.localFunctions,e=Array(c.size()),g=c.keySet().iterator(),k=0;g.hasNext();){var j=g.next();if(0==a.length&&!j.startsWith("_")||j.equalsIgnoreCase(a)||d&&0==j.toLowerCase().indexOf(a))e[k++]=
j}java.util.Arrays.sort(e,0,k);for(a=0;a<k;a++)d=c.get(e[a]),b.append(f?d.getSignature():d.toString()),b.appendC("\n");return b.toString()},"~S");c$.isTainted=$_M(c$,"isTainted",($fz=function(a,b,c){return null!=a&&null!=a[c]&&a[c].get(b)},$fz.isPrivate=!0,$fz),"~A,~N,~N");Clazz.overrideMethod(c$,"getAtomicPropertyState",function(a,b){if(!this.viewer.global.preserveState)return"";for(var c,d=new J.util.SB,e=0;14>e;e++)if(0>a||e==a)null!=(c=null!=b?b:this.viewer.getTaintedAtoms(e))&&this.getAtomicPropertyStateBuffer(d,
e,c,null,null);return d.toString()},"~N,J.util.BS");Clazz.overrideMethod(c$,"getAtomicPropertyStateBuffer",function(a,b,c,d,e){if(this.viewer.global.preserveState){var f=new J.util.SB;d=(null==d?J.modelset.AtomCollection.userSettableValues[b]:d)+" set";var g=0,k=2==b,j=this.viewer.modelSet.atoms,l=this.viewer.modelSet.tainted;if(null!=c)for(var h=c.nextSetBit(0);0<=h;h=c.nextSetBit(h+1)){f.appendI(h+1).append(" ").append(j[h].getElementSymbol()).append(" ").append(j[h].getInfo().$replace(" ","_")).append(" ");
switch(b){case 14:h<e.length&&f.appendF(e[h]);break;case 13:f.appendI(j[h].getAtomNumber());break;case 0:f.append(j[h].getAtomName());break;case 1:f.append(j[h].getAtomType());break;case 2:J.viewer.StateCreator.isTainted(l,h,2)&&(k=!1);f.appendF(j[h].x).append(" ").appendF(j[h].y).append(" ").appendF(j[h].z);break;case 12:var m=j[h].getVibrationVector();null==m&&(m=new J.util.V3);f.appendF(m.x).append(" ").appendF(m.y).append(" ").appendF(m.z);break;case 3:f.appendI(j[h].getAtomicAndIsotopeNumber());
break;case 4:f.appendI(j[h].getFormalCharge());break;case 6:f.appendF(j[h].getBondingRadiusFloat());break;case 7:f.appendI(j[h].getOccupancy100());break;case 8:f.appendF(j[h].getPartialCharge());break;case 9:f.appendF(j[h].getBfactor100()/100);break;case 10:f.appendI(j[h].getValence());break;case 11:f.appendF(j[h].getVanderwaalsRadiusFloat(this.viewer,J.constant.EnumVdw.AUTO))}f.append(" ;\n");++g}0!=g&&(k&&(d+="(default)"),a.append('\n  DATA "'+d+'"\n').appendI(g).append(" ;\nJmol Property Data Format 1 -- Jmol ").append(J.viewer.Viewer.getJmolVersion()).append(";\n"),
a.appendSB(f),a.append('  end "'+d+'";\n'))}},"J.util.SB,~N,J.util.BS,~S,~A");Clazz.overrideMethod(c$,"undoMoveAction",function(a,b){switch(a){case 4165:case 4139:switch(b){case -2:this.viewer.undoClear();break;case -1:(4165==a?this.viewer.actionStates:this.viewer.actionStatesRedo).clear();break;case 0:b=2147483647;default:100<b&&(b=(4165==a?this.viewer.actionStates:this.viewer.actionStatesRedo).size());for(var c=0;c<b;c++)this.undoMoveActionClear(0,a,!0)}}},"~N,~N");Clazz.overrideMethod(c$,"undoMoveActionClear",
function(a,b,c){if(this.viewer.global.preserveState){var d=0<=a?this.viewer.modelSet.atoms[a].modelIndex:this.viewer.modelSet.modelCount-1;switch(b){case 4139:case 4165:this.viewer.stopMinimization();var e="";switch(b){default:case 4165:e=this.viewer.actionStates;a=this.viewer.actionStatesRedo;break;case 4139:if(e=this.viewer.actionStatesRedo,a=this.viewer.actionStates,1==this.viewer.actionStatesRedo.size())return}if(0==e.size()||this.undoWorking)return;this.undoWorking=!0;a.add(0,e.remove(0));e=
this.viewer.actionStatesRedo.get(0);4165==b&&1==a.size()&&(a=[1],b=J.util.Parser.parseIntNext(e,a),a=J.util.Parser.parseIntNext(e,a),this.undoMoveActionClear(a,b,!1));this.viewer.modelSet.models[d].isModelkit()||0>e.indexOf("zap ")?(J.util.Logger.debugging&&this.viewer.log(e),this.viewer.evalStringQuiet(e)):this.viewer.actionStates.clear();break;default:if(this.undoWorking&&c)return;this.undoWorking=!0;e=new J.util.SB;e.append("#"+b+" "+a+" "+new java.util.Date+"\n");0<=a?(d=this.viewer.getModelUndeletedAtomsBitSet(d),
this.viewer.modelSet.taintAtoms(d,b),e.append(this.getAtomicPropertyState(-1,null))):(d=this.viewer.getModelUndeletedAtomsBitSet(d),e.append("zap "),e.append(J.util.Escape.eBS(d)).append(";"),J.viewer.DataManager.getInlineData(e,this.viewer.getModelExtract(d,!1,!0,"MOL"),!0,null),e.append("set refreshing false;").append(this.viewer.actionManager.getPickingState()).append(this.viewer.transformManager.getMoveToText(0,!1)).append("set refreshing true;"));c?(this.viewer.actionStates.add(0,e.toString()),
this.viewer.actionStatesRedo.clear()):this.viewer.actionStatesRedo.add(1,e.toString());100==this.viewer.actionStates.size()&&this.viewer.actionStates.remove(99)}this.undoWorking=!c}},"~N,~N,~B");$_M(c$,"appendLoadStates",function(a){var b=this.viewer.ligandModelSet;if(null!=b)for(var c,b=b.keySet().iterator();b.hasNext()&&((c=b.next())||1);){var d=this.viewer.ligandModels.get(c+"_data");null!=d&&a.append("  ").append(J.util.Escape.encapsulateData("ligand_"+c,d.trim()+"\n",0))}var b=new J.util.SB,
d=this.viewer.modelSet,e=d.models,f=d.modelCount;for(c=0;c<f;c++)if(!d.isJmolDataFrameForModel(c)&&!d.isTrajectorySubFrame(c)){var g=e[c],k=b.indexOf(g.loadState);(0>k||k!=b.lastIndexOf(g.loadState))&&b.append(e[c].loadState);e[c].isModelKit?(k=d.getModelAtomBitSetIncludingDeleted(c,!1),null!=d.tainted&&(null!=d.tainted[2]&&d.tainted[2].andNot(k),null!=d.tainted[3]&&d.tainted[3].andNot(k)),g.loadScript=new J.util.SB,J.viewer.Viewer.getInlineData(b,this.viewer.getModelExtract(k,!1,!0,"MOL"),0<c)):
b.appendSB(g.loadScript)}b=b.toString();c=b.indexOf("load /*data*/");d=b.indexOf("load /*file*/");0<=d&&d<c&&(c=d);if(0<=(d=b.indexOf('load "@'))&&d<c)c=d;0<=c&&(b=b.substring(0,c)+"zap;"+b.substring(c));a.append(b)},"J.util.SB");$_M(c$,"createSceneSet",($fz=function(a,b,c,d){var e=this.viewer.getFileAsString(a);if(null==e)return"no such file: "+a;a=J.util.TextFormat.simpleReplace(a,".spt","");b=b.toLowerCase();var f=J.util.TextFormat.splitChars(e,"pause scene "),g=new java.util.Hashtable,k=new J.util.JmolList,
g=J.io.JmolBinary.getSceneScript(f,g,k);J.util.Logger.debug(g);e=J.util.TextFormat.simpleReplace(e,"pause scene","delay "+this.viewer.animationManager.lastFrameDelay+" # scene");e=[e,g,null];this.viewer.saveState("_scene0");g=0;""!==f[0]&&this.viewer.zap(!0,!0,!1);for(var j=-1,l=0;l<f.length-1;l++)try{var h=k.get(l).intValue();h>j&&this.viewer.showString("Creating Scene "+h,!1);this.viewer.eval.runScript(f[l]);if(!(h<=j)){j=h;e[2]="all";var m=a+"_scene_"+h+".all."+b,n=this.createImagePathCheck(m,
"PNGJ",null,null,e,null,-1,c,d,null,!1);e[0]=null;e[2]="min";m=a+"_scene_"+h+".min."+b;n+="\n"+this.createImagePathCheck(m,"PNGJ",null,null,e,null,-1,Math.min(c,200),Math.min(d,200),null,!1);this.viewer.showString(n,!1);g+=2}}catch(p){if(Clazz.exceptionOf(p,Exception))return"script error "+p.toString();throw p;}try{this.viewer.eval.runScript(this.viewer.getSavedState("_scene0"))}catch(q){if(!Clazz.exceptionOf(q,Exception))throw q;}return"OK "+g+" files created"},$fz.isPrivate=!0,$fz),"~S,~S,~N,~N");
Clazz.overrideMethod(c$,"createImageSet",function(a,b,c,d,e,f,g,k,j,l,h){if(null==j&&0==l)return this.createImagePathCheck(a,b,c,d,e,null,f,g,k,h,!0);c="";d=0;a=this.getOutputFileNameFromDialog(a,f);null!=h&&(h[0]=a);if(null==a)return null;var m=a.indexOf(".");0>m&&(m=a.length);e=a.substring(0,m);a=a.substring(m);m=new J.util.SB;if(null==j){this.viewer.transformManager.vibrationOn=!0;for(var m=new J.util.SB,n=0;n<l;n++)for(j=0;20>j;j++)if(this.viewer.transformManager.setVibrationT(j/20+0.2501),!this.writeFrame(++d,
e,a,h,b,f,g,k,m))return"ERROR WRITING FILE SET: \n"+c;this.viewer.setVibrationOff()}else for(n=j.nextSetBit(0);0<=n;n=j.nextSetBit(n+1))if(this.viewer.setCurrentModelIndex(n),!this.writeFrame(++d,e,a,h,b,f,g,k,m))return"ERROR WRITING FILE SET: \n"+c;0==c.length&&(c="OK\n");return c+"\n"+d+" files created"},"~S,~S,~S,~A,~A,~N,~N,~N,J.util.BS,~N,~A");$_M(c$,"writeFrame",($fz=function(a,b,c,d,e,f,g,k,j){a="0000"+a;a=b+a.substring(a.length-4)+c;null!=d&&(d[0]=a);b=this.createImagePathCheck(a,e,null,null,
null,"",f,g,k,null,!1);this.viewer.scriptEcho(b);j.append(b).append("\n");return b.startsWith("OK")},$fz.isPrivate=!0,$fz),"~N,~S,~S,~A,~S,~N,~N,~N,J.util.SB");Clazz.overrideMethod(c$,"createImagePathCheck",function(a,b,c,d,e,f,g,k,j,l,h){var m=f=null,n=null==a;if(!n){h&&(a=this.getOutputFileNameFromDialog(a,g));if(null==a)return null;!this.viewer.isJS&&J.viewer.FileManager.isLocal(a)&&(m=a);null!=l&&(l[0]=a)}l=this.viewer.dimScreen.width;h=this.viewer.dimScreen.height;this.viewer.creatingImage=!0;
-2147483648!=g&&(this.viewer.mustRender=!0,this.viewer.resizeImage(k,j,!0,!1,!1),this.viewer.setModelVisibility());try{n?f=this.viewer.clipImage(c):(b.equals("JMOL")&&(b="ZIPALL"),b.equals("ZIP")||b.equals("ZIPALL")?(null!=e&&b.equals("ZIP")&&(b="ZIPALL"),f=J.io.JmolBinary.createZipSet(this.viewer.fileManager,this.viewer,m,c,e,b.equals("ZIPALL"))):b.equals("SCENE")?f=this.viewer.isJS?"ERROR: Not Available":this.createSceneSet(a,c,k,j):(b.equals("OutputStream")||(f=this.viewer.statusManager.createImage(a,
b,c,d,g)),null==f&&(f=this.viewer.getImageCreator().createImage(m,b,c,d,e,null,g),Clazz.instanceOf(f,String)&&this.viewer.statusManager.createImage(f,b,null,null,g))),Clazz.instanceOf(f,Array)&&(f="OK "+J.io.JmolBinary.postByteArray(this.viewer.fileManager,a,f)))}catch(p){J.util.Logger.error(this.viewer.setErrorMessage(f="ERROR creating image??: "+p,null))}this.viewer.creatingImage=!1;-2147483648!=g&&this.viewer.resizeImage(l,h,!0,!1,!0);return f},"~S,~S,~S,~A,~A,~O,~N,~N,~N,~A,~B");Clazz.overrideMethod(c$,
"syncScript",function(a,b,c){var d=this.viewer.statusManager;if("GET_GRAPHICS".equalsIgnoreCase(a))d.setSyncDriver(5),d.syncSend(a,b,0),this.viewer.setBooleanProperty("_syncMouse",!1),this.viewer.setBooleanProperty("_syncScript",!1);else{"=".equals(b)&&(b="~",d.setSyncDriver(2));var e="~".equals(b);if(0<c||!e&&!".".equals(b))if(d.syncSend(a,b,c),!"*".equals(b)||a.startsWith("{"))return;if(a.equalsIgnoreCase("on")||a.equalsIgnoreCase("true"))d.setSyncDriver(1);else if(a.equalsIgnoreCase("off")||a.equalsIgnoreCase("false"))d.setSyncDriver(0);
else if(a.equalsIgnoreCase("slave"))d.setSyncDriver(2);else if(b=d.getSyncMode(),0!=b)if(1!=b&&(e=!1),J.util.Logger.debugging&&J.util.Logger.debug(this.viewer.htmlName+" syncing with script: "+a),e&&d.setSyncDriver(3),0!=a.indexOf("Mouse: ")){if(a.startsWith("Select: ")){var d=J.util.Parser.getQuotedAttribute(a,"file"),f=J.util.Parser.getQuotedAttribute(a,"model"),g=J.util.Parser.getQuotedAttribute(a,"baseModel"),e=J.util.Parser.getQuotedAttribute(a,"atoms");b=J.util.Parser.getQuotedAttribute(a,"select");
c=J.util.Parser.getQuotedAttribute(a,"script");(a=null!=f&&f.startsWith("$"))&&(d=f.substring(1).equals(this.viewer.getParameter("_smilesstring"))?null:f);f=a||null==f?null:(null==d?"":d+"#")+f;"".equals(g)&&(f+=".baseModel");a=null==f?-3:this.viewer.getModelIndexFromId(f);if(-2==a)return;a=-1==a&&null!=d?a="load "+J.util.Escape.eS(d):"";null!=f&&(a+=";model "+J.util.Escape.eS(f));null!=e?a+=";select visible & (@"+J.util.TextFormat.simpleReplace(e,","," or @")+")":null!=b&&(a+=";select visible & ("+
b+")");null!=c&&(a+=";"+c)}else if(a.toLowerCase().startsWith("jspecview")){e||d.syncSend(this.viewer.fullName+"JSpecView"+a.substring(9),">",0);return}this.viewer.evalStringQuietSync(a,!0,!1)}else this.quickScript(a),e&&this.viewer.setSyncDriver(4)}},"~S,~S,~N");Clazz.overrideMethod(c$,"quickScript",function(a){a=J.util.Parser.getTokens(a);var b=a[1];switch(a.length){case 3:b.equals("zoomByFactor")?this.viewer.zoomByFactor(J.util.Parser.parseFloatStr(a[2]),2147483647,2147483647):b.equals("zoomBy")?
this.viewer.zoomBy(J.util.Parser.parseInt(a[2])):b.equals("rotateZBy")&&this.viewer.rotateZBy(J.util.Parser.parseInt(a[2]),2147483647,2147483647);break;case 4:b.equals("rotateXYBy")?this.viewer.rotateXYBy(J.util.Parser.parseFloatStr(a[2]),J.util.Parser.parseFloatStr(a[3])):b.equals("translateXYBy")?this.viewer.translateXYBy(J.util.Parser.parseInt(a[2]),J.util.Parser.parseInt(a[3])):b.equals("rotateMolecule")&&this.viewer.rotateSelected(J.util.Parser.parseFloatStr(a[2]),J.util.Parser.parseFloatStr(a[3]),
null);break;case 5:b.equals("spinXYBy")?this.viewer.spinXYBy(J.util.Parser.parseInt(a[2]),J.util.Parser.parseInt(a[3]),J.util.Parser.parseFloatStr(a[4])):b.equals("zoomByFactor")?this.viewer.zoomByFactor(J.util.Parser.parseFloatStr(a[2]),J.util.Parser.parseInt(a[3]),J.util.Parser.parseInt(a[4])):b.equals("rotateZBy")?this.viewer.rotateZBy(J.util.Parser.parseInt(a[2]),J.util.Parser.parseInt(a[3]),J.util.Parser.parseInt(a[4])):b.equals("rotateArcBall")&&this.viewer.rotateArcBall(J.util.Parser.parseInt(a[2]),
J.util.Parser.parseInt(a[3]),J.util.Parser.parseFloatStr(a[4]));break;case 7:b.equals("centerAt")&&this.viewer.centerAt(J.util.Parser.parseInt(a[2]),J.util.Parser.parseInt(a[3]),J.util.P3.new3(J.util.Parser.parseFloatStr(a[4]),J.util.Parser.parseFloatStr(a[5]),J.util.Parser.parseFloatStr(a[6])))}},"~S");Clazz.overrideMethod(c$,"generateOutputForExport",function(a,b,c,d){var e=null;if(null!=b){b[0]=this.getOutputFileNameFromDialog(b[0],-2147483648);if(null==b[0])return null;e=b[0]}this.viewer.mustRender=
!0;b=this.viewer.dimScreen.width;var f=this.viewer.dimScreen.height;this.viewer.resizeImage(c,d,!0,!0,!1);this.viewer.setModelVisibility();a=this.viewer.repaintManager.renderExport(a,this.viewer.gdata,this.viewer.modelSet,e);this.viewer.resizeImage(b,f,!0,!0,!0);return a},"~S,~A,~N,~N");$_M(c$,"getOutputFileNameFromDialog",($fz=function(a,b){if(null==a||this.viewer.$isKiosk)return null;var c=0==a.indexOf("?");c&&(a=a.substring(1));c=(new Boolean(c|(this.viewer.$isApplet&&0>a.indexOf("http:")))).valueOf();
a=J.viewer.FileManager.getLocalPathForWritingFile(this.viewer,a);c&&(a=this.viewer.dialogAsk(-2147483648==b?"save":"saveImage",a));return a},$fz.isPrivate=!0,$fz),"~S,~N");Clazz.overrideMethod(c$,"getImageAsWithComment",function(a,b,c,d,e,f,g,k){var j=this.viewer.dimScreen.width,l=this.viewer.dimScreen.height;this.viewer.mustRender=!0;this.viewer.resizeImage(c,d,!0,!1,!1);this.viewer.setModelVisibility();this.viewer.creatingImage=!0;d=c=null;a=a.toLowerCase();if(!J.util.Parser.isOneOf(a,"jpg;jpeg;jpg64;jpeg64"))try{c=
this.viewer.getImageCreator()}catch(h){if(!Clazz.exceptionOf(h,Error))throw h;}if(null==c)try{if(d=this.viewer.apiPlatform.getJpgImage(this.viewer,b,k),a.equals("jpg64")||a.equals("jpeg64"))d=null==d?"":J.io.Base64.getBase64(d).toString()}catch(m){if(Clazz.exceptionOf(m,Error))this.viewer.releaseScreenImage(),this.viewer.handleError(m,!1),this.viewer.setErrorMessage("Error creating image: "+m,null),d=this.viewer.getErrorMessage();else throw m;}else try{d=c.getImageBytes(a,b,e,f,null,null,g)}catch(n){if(Clazz.exceptionOf(n,
java.io.IOException))d=n,this.viewer.setErrorMessage("Error creating image: "+n,null);else if(Clazz.exceptionOf(n,Error))this.viewer.handleError(n,!1),this.viewer.setErrorMessage("Error creating image: "+n,null),d=this.viewer.getErrorMessage();else throw n;}this.viewer.creatingImage=!1;this.viewer.resizeImage(j,l,!0,!1,!0);return d},"~S,~N,~N,~N,~S,~A,java.io.OutputStream,~S");Clazz.overrideMethod(c$,"streamFileData",function(a,b,c,d,e){var f=null,g=Array(1);a=this.getOutputStream(a,g);if(null==a)return"";
b.equals("PDB")||b.equals("PQR")?(f=new J.io.OutputStringBuilder(new java.io.BufferedOutputStream(a)),f.type=b,f=this.viewer.getPdbData(null,f)):b.equals("FILE")?f=this.writeCurrentFile(a):b.equals("PLOT")&&(f=new J.io.OutputStringBuilder(new java.io.BufferedOutputStream(a)),f=this.viewer.modelSet.getPdbData(d,c,this.viewer.getSelectionSet(!1),e,f));null!=f&&(f="OK "+f+" "+g[0]);try{a.flush(),a.close()}catch(k){if(!Clazz.exceptionOf(k,java.io.IOException))throw k;}return f},"~S,~S,~S,~N,~A");$_M(c$,
"writeCurrentFile",($fz=function(a){var b=this.viewer.getFullPathName();if(b.equals("string")||0<=b.indexOf("[]")||b.equals("JSNode"))return b=this.viewer.getCurrentFileAsString(),a=new java.io.BufferedOutputStream(a),a=new J.io.OutputStringBuilder(a),a.append(b),a.toString();b=this.viewer.getModelSetPathName();return null==b?"":this.viewer.getFileAsBytes(b,a)},$fz.isPrivate=!0,$fz),"java.io.OutputStream");Clazz.overrideMethod(c$,"getOutputStream",function(a,b){if(!this.viewer.isRestricted(J.viewer.Viewer.ACCESS.ALL))return null;
var c=this.createImagePathCheck(a,"OutputStream",null,null,null,null,-2147483648,0,0,b,!0);return Clazz.instanceOf(c,String)?(J.util.Logger.error(c),null):c},"~S,~A");Clazz.overrideMethod(c$,"openFileAsync",function(a,b){a=a.trim();var c=!a.startsWith("\t");c||(a=a.substring(1));a=a.$replace("\\","/");this.viewer.$isApplet&&0>a.indexOf("://")&&(a="file://"+(a.startsWith("/")?"":"/")+a);if(a.endsWith(".pse"))this.viewer.evalString("zap;load SYNC "+J.util.Escape.eS(a)+" filter 'DORESIZE'");else{var d=
null;if(a.endsWith("jvxl"))d="isosurface ";else if(!a.endsWith(".spt")){var e=this.viewer.fileManager.getFileTypeName(a);if(null==e){if(e=J.io.JmolBinary.determineSurfaceTypeIs(this.viewer.getBufferedInputStream(a)),null!=e){this.viewer.evalString("if (_filetype == 'Pdb') { isosurface sigma 1.0 within 2.0 {*} "+J.util.Escape.eS(a)+" mesh nofill }; else; { isosurface "+J.util.Escape.eS(a)+"}");return}}else if(e.equals("Jmol"))d="load ";else if(e.equals("Cube"))d="isosurface sign red blue ";else if(!e.equals("spt")){d=
this.viewer.global.defaultDropScript;d=J.util.TextFormat.simpleReplace(d,"%FILE",a);d=J.util.TextFormat.simpleReplace(d,"%ALLOWCARTOONS",""+b);this.viewer.evalString(d);return}}c&&this.viewer.scriptEditorVisible&&null==d?this.showEditor([a,this.viewer.getFileAsString(a)]):this.viewer.evalString((null==d?"script ":d)+J.util.Escape.eS(a))}},"~S,~B");Clazz.overrideMethod(c$,"showEditor",function(a){null==a&&(a=[null,null]);null==a[1]&&(a[1]="<no data>");var b=a[0];a=a[1];var c=this.viewer.getProperty("DATA_API",
"getScriptEditor",Boolean.TRUE);null!=c&&(null!=a&&(c.setFilename(b),c.output(J.io.JmolBinary.getEmbeddedScript(a))),c.setVisible(!0))},"~A");Clazz.overrideMethod(c$,"logToFile",function(a){try{var b=a.equals("$CLEAR$");0<=a.indexOf("$NOW$")&&(a=J.util.TextFormat.simpleReplace(a,"$NOW$",(new java.util.Date).toString()));if(null==this.viewer.logFile)System.out.println(a);else{var c=new java.io.FileWriter(this.viewer.logFile,!b),d=new java.io.BufferedWriter(c);if(!b){var e=a.indexOf("\x00");0<=e&&(a=
a.substring(0,e));d.write(a);0>e&&d.write(10)}d.close()}}catch(f){if(Clazz.exceptionOf(f,Exception))J.util.Logger.debug("cannot log "+a);else throw f;}},"~S");Clazz.overrideMethod(c$,"getAtomDefs",function(a){var b=new J.util.SB,c;for(a=a.entrySet().iterator();a.hasNext()&&((c=a.next())||1);)Clazz.instanceOf(c.getValue(),J.util.BS)&&b.append("{"+c.getKey()+"} <"+c.getValue().cardinality()+" atoms>\n");return b.append("\n").toString()},"java.util.Map");Clazz.defineStatics(c$,"MAX_ACTION_UNDO",100)});
