(function(R,S,T,U,I,V,G,s,K,L,M,W,X,N,Y,Z,O,H,x,$,P,aa,ba,Q,ca,da,ea,fa,ga,ha,v,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,j,q){G("J.api");Q(J.api,"JmolPropertyManager");G("JV");K(["J.api.JmolPropertyManager","java.util.Hashtable"],"JV.PropertyManager","java.lang.Boolean $.Double $.Float java.util.Arrays $.Map JU.AU $.BArray $.BS $.Base64 $.Lst $.M3 $.M4 $.P3 $.PT $.SB $.V3 J.api.Interface JM.BondSet $.LabelToken JS.SV $.T JU.BSUtil $.C $.Edge $.Escape $.JmolMolecule $.Logger JV.ActionManager $.FileManager $.JC $.Viewer JV.binding.Binding".split(" "),
function(){c$=M(function(){this.map=this.vwr=null;L(this,arguments)},JV,"PropertyManager",null,J.api.JmolPropertyManager);P(c$,function(){this.map=new java.util.Hashtable});N(c$,function(){});q(c$,"setViewer",function(b){this.vwr=b;for(var c=b=0;b<JV.PropertyManager.propertyTypes.length;b+=3,c++)0<JV.PropertyManager.propertyTypes[b].length&&this.map.put(JV.PropertyManager.propertyTypes[b].toLowerCase(),Integer.$valueOf(c))},"JV.Viewer");q(c$,"getPropertyNumber",function(b){b=this.map.get(null==b?
"":b.toLowerCase());return null==b?-1:b.intValue()},"~S");q(c$,"getDefaultPropertyParam",function(b){return 0>b?"":JV.PropertyManager.propertyTypes[3*b+2]},"~N");q(c$,"checkPropertyParameter",function(b){b=this.getPropertyNumber(b);b=JV.PropertyManager.getParamType(b);return 0<b.length&&"<atom selection>"!==b},"~S");q(c$,"getProperty",function(b,c,f){144!=JV.PropertyManager.propertyTypes.length&&JU.Logger.warn("propertyTypes is not the right length: "+JV.PropertyManager.propertyTypes.length+" != 144");
var a;0<=c.indexOf(".")||0<=c.indexOf("[")?(a=this.getArguments(c),f=this.getPropertyAsObject(a[0].asString(),f,null),a=this.extractProperty(f,a,1,null,!1)):a=this.getPropertyAsObject(c,f,b);if(null==b)return a;(f=b.equalsIgnoreCase("readable"))&&(b=JV.PropertyManager.isReadableAsString(c)?"String":"JSON");return b.equalsIgnoreCase("String")?null==a?"":a.toString():f?JU.Escape.toReadable(c,a):b.equalsIgnoreCase("JSON")?JS.SV.safeJSON(c,a):a},"~S,~S,~O");j(c$,"getArguments",function(b){var c=b.toLowerCase(),
f=-1;if(0<=b.indexOf('"')||0<=b.indexOf("'"))b=this.fixSelectQuotes(b);for(;0<=(f=c.indexOf("[select ",++f));){var a=c.indexOf(" where ",f),e=c.indexOf(" wherein ",f);0<e&&e<a&&(a=e);var d=c.indexOf("][select ",f);0>d&&(d=c.lastIndexOf("]"));e=c.indexOf("[",f);0<=e&&e<d&&(a=e);0>a||a>d||(b=b.substring(0,f+1)+b.substring(f+1,d).$replace(".","\u0001").$replace("[","\u0002").$replace("]","\u0003")+b.substring(d))}b=JU.PT.rep(JU.PT.rep(b.$replace("]","\x00").$replace("[","\x00"),"..","\u0004").$replace(".",
"\x00").$replace("\u0001",".").$replace("\u0002","[").$replace("\u0003","]"),"\u0004","..");b=JU.PT.rep(b,"\x00\x00","\x00");b=JU.PT.split(JU.PT.trim(b,"\x00"),"\x00");for(var c=Array(b.length),f=0,g;f<b.length;f++)c[f]=b[f].startsWith("'")||b[f].startsWith('"')?JS.SV.newS(JU.PT.trim(b[f],"'\"")):-2147483648==(g=JU.PT.parseInt(b[f]))?JS.SV.newS(b[f]):JS.SV.newI(g);return c},"~S");j(c$,"fixSelectQuotes",function(b){b=b.toCharArray();for(var c=!1,f=!1,a=!1,e=b.length;0<=--e;)switch(b[e]){case "'":a||
(c=f=!c);break;case '"':f||(c=a=!c);break;case ".":c&&(b[e]="\u0001");break;case "[":c&&(b[e]="\u0002");break;case "]":c&&(b[e]="\u0003")}return b=String.instantialize(b)},"~S");q(c$,"extractProperty",function(b,c,f,a,e){0>f&&(c=this.getArguments(c),f=0);if(f>=c.length)return b;if(!e){e=c=this.compileSelect(c);var d=f;for(c=e.length;d<c;d++)if(1275082245==e[d].tok){a=Array(d+1);for(var g=0;g<=d;g++)a[g]=e[g];for(b=this.extractProperty(b,a,f,null,!0);++d<c;)a[a.length-1]=e[d],b=this.extractProperty(b,
a,a.length-1,null,!0);return b}c=e}e=c[f++];g=JS.SV.oValue(b);switch(e.tok){case 2:d=e.intValue-1;if(s(g,JU.Lst))return 0>d&&(d+=g.size()),0<=d&&d<g.size()?this.extractProperty(g.get(d),c,f,null,!0):"";if(s(g,JU.M3))return a=g,a=v(-1,[x(-1,[a.m00,a.m01,a.m02]),x(-1,[a.m10,a.m11,a.m12]),x(-1,[a.m20,a.m21,a.m22])]),0>d&&(d+=3),0<=d&&3>d?this.extractProperty(a,c,--f,null,!0):"";if(s(g,JU.M4))return a=g,a=v(-1,[x(-1,[a.m00,a.m01,a.m02,a.m03]),x(-1,[a.m10,a.m11,a.m12,a.m13]),x(-1,[a.m20,a.m21,a.m22,a.m23]),
x(-1,[a.m30,a.m31,a.m32,a.m33])]),0>d&&(d+=4),0<=d&&4>d?this.extractProperty(a,c,--f,null,!0):"";if(JU.AU.isAI(g))return 0>d&&(d+=g.length),0<=d&&d<g.length?Integer.$valueOf(g[d]):"";if(JU.AU.isAD(g))return 0>d&&(d+=g.length),0<=d&&d<g.length?Double.$valueOf(g[d]):"";if(JU.AU.isAF(g))return 0>d&&(d+=g.length),0<=d&&d<g.length?Float.$valueOf(g[d]):"";if(JU.AU.isAII(g)||JU.AU.isAFF(g))return 0>d&&(d+=g.length),0<=d&&d<g.length?this.extractProperty(g[d],c,f,null,!0):"";if(JU.AU.isAS(g)||s(g,Array))return 0>
d&&(d+=g.length),0<=d&&d<g.length?g[d]:"";break;case 1275082245:case 4:if(s(g,java.util.Map)){var h=!1,D=b=!1,l=1275082245==e.tok?e.value[0]:null,k=null;if(1275082245==e.tok)if(D=!0,k=e.value[1],d=e.myName,b=0<=d.indexOf(";"),d.contains("**")){for(var r=0==l.size(),j="",m,q=g.entrySet().iterator();q.hasNext()&&((m=q.next())||1);)for(var n=m.getKey(),d=r?1:l.size();0<=--d;)if(r||JU.PT.isLike(n,l.get(d))){var h=m.getValue(),t=!1;switch(s(h,JS.SV)?h.tok:0){case 7:t=!0;h=h.getList();break;case 6:case 14:h=
h.getMap();break;default:if(!s(h,java.util.Map)&&!(t=s(h,JU.Lst)))h=null}if(null!=h){if(t){null==a&&(a=new JU.Lst);f=h;c=f.size();for(e=0;e<c;e++)if(h=f.get(e),s(h,JS.SV)&&null!=(h=h.getMap()))(null==k||this.vwr.checkSelect(h,k))&&a.addLast(h);return a}if(null==k||this.vwr.checkSelect(h,k))j+=","+n}}if(0==j.length)return new JU.Lst;d=j.substring(1);h=!b;l=null}else{if(null!=k&&!this.vwr.checkSelect(g,k))return""}else if(d=e.asString(),d.equalsIgnoreCase("keys")){a=new JU.Lst;for(e=g.keySet().iterator();e.hasNext()&&
((n=e.next())||1);)a.addLast(n);return this.extractProperty(a,c,f,null,!0)}m=b||0<=d.indexOf(",")||0<=d.indexOf(";");D&&!m&&(m=!0,d+=",");k=b||d.startsWith("*")||d.endsWith("*")||m;n=null!=a;if(k&&(n||(a=new JU.Lst),!b&&(null==l?1==d.length:0==l.size()))){if(f==c.length){if(!n)return g;a.addLast(g);return a}return this.extractProperty(g,c,f,a,!0)}d.contains("**")&&(d=JU.PT.rep(d,"**","*"));k&&!m&&(d+=",");if(h||b||d.contains(",")){m=new java.util.Hashtable;null!=l&&0==l.size()&&(l=null,d="*");b=(new Boolean(b|
1==e.index)).valueOf();if(null==l){e=JU.PT.split(d,",");for(d=e.length;0<=--d;)JV.PropertyManager.getMapSubset(g,e[d],m,b?a:null)}else for(d=0;d<l.size();d++)JV.PropertyManager.getMapSubset(g,l.get(d),m,b?a:null);if(h&&!n)return m;if(f==c.length){if(!b){if(!n)return m;a.addLast(m)}return a}return this.extractProperty(m,c,f,n?a:null,!0)}d=this.checkMap(g,d,k,a,c,f,D);return null!=d&&!k?this.extractProperty(g.get(d),c,f,null,!0):!k?"":a}if(s(g,JU.Lst)){null==a&&(a=new JU.Lst);f--;t=!1;for(d=0;d<g.size();d++)if(h=
g.get(d),s(h,java.util.Map)||(t=s(h,JU.Lst))||s(h,JS.SV)&&(null!=h.getMap()||(t=null!=h.getList())))t||1==e.index?(n=this.extractProperty(h,c,f,null,!0),""!==n&&a.addLast(n)):this.extractProperty(h,c,f,a,!0);return a}}return b},"~O,~O,~N,JU.Lst,~B");c$.getMapSubset=j(c$,"getMapSubset",function(b,c,f,a){if(c.startsWith('"')||c.startsWith("'"))c=JU.PT.trim(c,"\"'");var e=b.get(c);if(null!=e)null==a?f.put(c,e):a.addLast(e);else{var d;for(b=b.entrySet().iterator();b.hasNext()&&((d=b.next())||1);)e=d.getKey(),
JU.PT.isLike(e,c)&&(null==a?f.put(e,d.getValue()):a.addLast(d.getValue()))}},"java.util.Map,~S,java.util.Map,JU.Lst");j(c$,"compileSelect",function(b){for(var c=null,f=b.length;0<=--f;)if(4==b[f].tok){var a=b[f].value,e=a.toUpperCase();e.startsWith("WHERE")&&(e=(a="SELECT * "+a).toUpperCase());if(e.startsWith("SELECT ")){null==c&&(c=JU.AU.arrayCopyObject(b,b.length));e=(a=a.substring(6).trim()).toUpperCase();if(e.startsWith("WHERE ")||e.startsWith("WHEREIN "))e=(a="* "+a).toUpperCase();var d=e.indexOf(" WHEREIN "),
g=0>d?"":0<=a.indexOf(";")?";**":",**";0>d&&(d=e.indexOf(" WHERE "));var e=a.substring(0,0>d?a.length:d).trim(),h=0;e.startsWith("(")&&e.endsWith(")")?e=e.substring(1,e.length-1)+";":e.startsWith("[")&&e.endsWith("]")&&(e=e.substring(1,e.length-1),h=1);0>d?(c[f]=JS.SV.newV(1275082245,v(-1,[this.getKeys(e),null])),c[f].myName=e,c[f].index=h):(e+=g,c[f]=JS.SV.newV(1275082245,v(-1,[this.getKeys(e),this.vwr.compileExpr(a.substring(d+6+g.length).trim())])),c[f].index=h,c[f].myName=e)}}return null==c?b:
c},"~A");j(c$,"getKeys",function(b){var c=new JU.Lst;b=JU.PT.rep(JU.PT.rep(b,"**","*"),";",",")+",";for(var f=0,a=-1;0<=(a=b.indexOf(",",a+1));)if(a>f){var e=b.substring(f,a);if(e.equals("*")){if(0==c.size())break}else c.addLast(e),f=a+1}return c},"~S");j(c$,"checkMap",function(b,c,f,a,e,d,g){var h=null==a&&b.containsKey(c);if(!h)for(var j=c.contains(";"),l=j?JU.PT.split(c,";"):null,k=f&&!g?c.toLowerCase():null,r,u=b.keySet().iterator();u.hasNext()&&((r=u.next())||1);){if(j){for(var m=l.length;0<=
--m;c=null)if(c=l[m],0!=c.length){if(g){if(!JU.PT.isLike(r,c))continue;break}k=0<=c.indexOf("*")?c.toLowerCase():null;if(this.checkKey(r,c,k))break}if(null==c)continue}else if(g?!JU.PT.isLike(r,c):!this.checkKey(r,c,k))continue;if(null==a)return r;a.addLast(this.extractProperty(b.get(r),e,d,null,!0));if(!f&&!j)return null}return h?c:null},"java.util.Map,~S,~B,JU.Lst,~O,~N,~B");j(c$,"checkKey",function(b,c,f){return b.equalsIgnoreCase(c)||null!=f&&JU.PT.isLike(b.toLowerCase(),f)},"~S,~S,~S");c$.getPropertyName=
j(c$,"getPropertyName",function(b){return 0>b?"":JV.PropertyManager.propertyTypes[3*b]},"~N");c$.getParamType=j(c$,"getParamType",function(b){return 0>b?"":JV.PropertyManager.propertyTypes[3*b+1]},"~N");c$.isReadableAsString=j(c$,"isReadableAsString",function(b){for(var c=JV.PropertyManager.readableTypes.length;0<=--c;)if(b.equalsIgnoreCase(JV.PropertyManager.readableTypes[c]))return!0;return!1},"~S");j(c$,"getPropertyAsObject",function(b,c,f){if(b.equals("tokenList"))return JS.T.getTokensLike(c);
var a=null,e=b.indexOf("#");0<e&&(a=v(-1,[b.substring(e+1),c]),b=b.substring(0,e));var e=this.getPropertyNumber(b),d=null!=a||null!=c&&""!==c;null==a&&(a=d?c:this.getDefaultPropertyParam(e));switch(e){case 47:return this.getUnitCellInfo();case 46:return this.vwr.getModelkitProperty(a.toString());case 0:return this.getAppletInfo();case 5:return this.getAnimationInfo();case 14:return this.getAllAtomInfo(this.vwr.getAtomBitSet(a));case 24:return this.vwr.getAuxiliaryInfoForAtoms(a);case 15:return this.getAllBondInfo(a);
case 25:return this.getBoundBoxInfo();case 10:return this.vwr.tm.fixedRotationCenter;case 16:return this.getAllChainInfo(this.vwr.getAtomBitSet(a));case 37:return this.vwr.getProperty("DATA_API","consoleText",null);case 26:return this.vwr.getDataObj(a.toString(),null,-1);case 33:return this.vwr.getErrorMessageUn();case 28:return this.vwr.evaluateExpression(a.toString());case 20:return this.vwr.getModelExtract(a,!0,!1,"MOL");case 32:return JV.PropertyManager.getFileInfo(this.vwr.getFileData(),a.toString());
case 45:return this.vwr.readCifData(a.toString(),null);case 1:return this.vwr.fm.getFullPathName(!1);case 2:return this.vwr.getFileHeader();case 4:case 3:return d?this.vwr.getFileAsString3(a.toString(),!0,null):this.vwr.getCurrentFileAsString("prop");case 27:return b=a.toString().toLowerCase(),this.getImage(b,0>b.indexOf("g64")&&0>b.indexOf("base64")&&(null==f||f.equalsIgnoreCase("java")));case 35:return this.vwr.getShapeProperty(24,"info");case 36:return this.vwr.getShapeProperty(24,"data");case 40:return this.vwr.getNMRCalculation().getInfo(a.toString());
case 41:return this.getVariables(a.toString());case 21:return this.vwr.getStatusChanged(a.toString());case 22:return this.vwr;case 38:return this.vwr.getJspecViewProperties(a);case 7:return this.getLigandInfo(this.vwr.getAtomBitSet(a));case 9:return this.getMeasurementInfo();case 29:return this.vwr.getMenu(a.toString());case 23:return this.vwr.sm.messageQueue;case 30:return this.vwr.getMinimizationInfo();case 6:return this.getModelInfo(this.vwr.getAtomBitSet(a));case 18:return this.getMoleculeInfo(this.vwr.getAtomBitSet(a));
case 34:return this.getMouseInfo();case 11:return this.vwr.tm.getOrientationInfo();case 31:return this.vwr.ms.getPointGroupInfo(this.vwr.getAtomBitSet(a));case 17:return this.getAllPolymerInfo(this.vwr.getAtomBitSet(a));case 39:return this.vwr.getScriptQueueInfo();case 8:return this.getShapeInfo();case 19:return this.vwr.getStateInfo3(a.toString(),0,0);case 12:return JU.M3.newM3(this.vwr.tm.matrixRotate);case 42:return this.getAnnotationInfo(a,1073741925);case 43:return this.getAnnotationInfo(a,1073742189);
case 44:return a=JS.SV.oValue(a),a=s(a,java.util.Map)?a:null,null==a?null:this.vwr.sm.processService(a)}f=Array(48);for(c=0;48>c;c++)a=JV.PropertyManager.getParamType(c),e=this.getDefaultPropertyParam(c),d=JV.PropertyManager.getPropertyName(c),f[c]=0==d.length||"X"==d.charAt(0)?"":d+(""!==a?" "+JV.PropertyManager.getParamType(c)+(""!==e?" #default: "+this.getDefaultPropertyParam(c):""):"");java.util.Arrays.sort(f);a=new JU.SB;a.append("getProperty ERROR\n").append(b).append("?\nOptions include:\n");
for(c=0;48>c;c++)0<f[c].length&&a.append("\n getProperty ").append(f[c]);return a.toString()},"~S,~O,~S");j(c$,"getUnitCellInfo",function(){var b=this.vwr.getCurrentUnitCell();return null==b?"":b.getUnitCellInfoMap()});j(c$,"getImage",function(b,c){var f=-1,a=-1,e;if(0<=(e=b.indexOf("height=")))f=JU.PT.parseInt(b.substring(e+7));if(0<=(e=b.indexOf("width=")))a=JU.PT.parseInt(b.substring(e+6));0>a&&0>f?f=a=-1:0>a?a=f:f=a;var d="JPG";0<=b.indexOf("type=")&&(d=JU.PT.getTokens(JU.PT.replaceWithCharacter(b.substring(b.indexOf("type=")+
5),";,"," "))[0]);e=Array(1);f=this.vwr.getImageAsBytes(d.toUpperCase(),a,f,-1,e);return null!=e[0]?e[0]:c?new JU.BArray(f):JU.Base64.getBase64(f).toString()},"~S,~B");j(c$,"getVariables",function(b){return b.toLowerCase().equals("all")?this.vwr.g.getAllVariables():this.vwr.evaluateExpressionAsVariable(b)},"~S");c$.getFileInfo=j(c$,"getFileInfo",function(b,c){var f=new java.util.Hashtable;if(null==b)return f;var a=null!=c&&0<c.length;if(s(b,java.util.Map))return a?b.get(c):b;var e=JU.PT.split(b,"\n");
if(0==e.length||7>e[0].length||" "!=e[0].charAt(6)||!e[0].substring(0,6).equals(e[0].substring(0,6).toUpperCase()))return f.put("fileHeader",b),f;var d="",g=new JU.SB;a&&(c=c.toUpperCase());for(var h="",j=0;j<e.length;j++){var l=e[j];if(!(12>l.length)){var h=l.substring(0,6).trim(),k=l.substring(7,10).trim();h.equals("REMARK")&&(h+=k);if(!h.equals(d)){if(a&&d.equals(c))return g.toString();a||(f.put(d,g.toString()),g=new JU.SB);d=h}(!a||h.equals(c))&&g.append(l).appendC("\n")}}a||f.put(d,g.toString());
return a?h.equals(c)?g.toString():"":f},"~O,~S");j(c$,"getMoleculeInfo",function(b){b=this.vwr.getAtomBitSet(b);for(var c=this.vwr.ms.getMolecules(),f=new JU.Lst,a=new JU.BS,e=0;e<c.length;e++){var a=JU.BSUtil.copy(b),d=c[e];a.and(d.atomList);0<a.length()&&(a=new java.util.Hashtable,a.put("mf",d.getMolecularFormula(!0,null,!1)),a.put("number",Integer.$valueOf(d.moleculeIndex+1)),a.put("modelNumber",this.vwr.ms.getModelNumberDotted(d.modelIndex)),a.put("numberInModel",Integer.$valueOf(d.indexInModel+
1)),a.put("nAtoms",Integer.$valueOf(d.ac)),a.put("nElements",Integer.$valueOf(d.nElements)),f.addLast(a))}return f},"~O");q(c$,"getModelInfo",function(b){b=this.vwr.ms.getModelBS(this.vwr.getAtomBitSet(b),!1);var c=this.vwr.ms,f=new java.util.Hashtable;f.put("modelSetName",c.modelSetName);f.put("modelIndex",Integer.$valueOf(this.vwr.am.cmi));f.put("modelCount",Integer.$valueOf(c.mc));f.put("isTainted",Boolean.$valueOf(null!=c.tainted));f.put("canSkipLoad",Boolean.$valueOf(c.canSkipLoad));f.put("modelSetHasVibrationVectors",
Boolean.$valueOf(c.modelSetHasVibrationVectors()));null!=c.modelSetProperties&&f.put("modelSetProperties",c.modelSetProperties);f.put("modelCountSelected",Integer.$valueOf(b.cardinality()));f.put("modelsSelected",b);var a=new JU.Lst;c.getMolecules();for(var e=b.nextSetBit(0);0<=e;e=b.nextSetBit(e+1)){var d=new java.util.Hashtable;d.put("_ipt",Integer.$valueOf(e));d.put("num",Integer.$valueOf(c.getModelNumber(e)));d.put("file_model",c.getModelNumberDotted(e));d.put("name",c.getModelName(e));var g=
c.getModelTitle(e);null!=g&&d.put("title",g);g=c.getModelFileName(e);null!=g&&d.put("file",g);g=c.getInfo(e,"modelID");null!=g&&d.put("id",g);d.put("vibrationVectors",Boolean.$valueOf(this.vwr.modelHasVibrationVectors(e)));g=c.am[e];d.put("atomCount",Integer.$valueOf(g.act));d.put("bondCount",Integer.$valueOf(g.getBondCount()));d.put("groupCount",Integer.$valueOf(g.getGroupCount()));d.put("moleculeCount",Integer.$valueOf(g.moleculeCount));g.isBioModel&&d.put("polymerCount",Integer.$valueOf(g.getBioPolymerCount()));
d.put("chainCount",Integer.$valueOf(c.getChainCountInModelWater(e,!0)));null!=g.properties&&d.put("modelProperties",g.properties);var h=c.getInfo(e,"Energy");null!=h&&d.put("energy",h);d.put("atomCount",Integer.$valueOf(g.act));a.addLast(d)}f.put("models",a);return f},"~O");q(c$,"getLigandInfo",function(b){var c=this.vwr.getAtomBitSet(b),f=this.vwr.getAtomBitSet("solvent");b=new java.util.Hashtable;var a=new JU.Lst;b.put("ligands",a);var e=this.vwr.ms,d=JU.BSUtil.copyInvert(c,e.ac);d.or(f);for(var f=
e.at,g=c.nextSetBit(0);0<=g;g=c.nextSetBit(g+1))(f[g].group.isProtein()||f[g].group.isDna()||f[g].group.isRna())&&f[g].group.setAtomBitsAndClear(d,c);c=Array(e.mc);for(g=e.mc;0<=--g;)c[g]=this.vwr.getModelUndeletedAtomsBitSet(g),c[g].andNot(d);d=JU.JmolMolecule.getMolecules(f,c,null,d);for(g=0;g<d.length;g++){var c=d[g].atomList,h=new java.util.Hashtable;a.addLast(h);h.put("atoms",JU.Escape.eBS(c));for(var j="",l="",k=null,r=0,u=null,m="",s="",n=2147483647,t=2147483647,w=c.nextSetBit(0);0<=w;w=c.nextSetBit(w+
1)){var p=f[w];if(k!==p.group){var k=p.group,q=p.getResno(),v=p.getChainID();n!=q-1&&(0!=m.length&&n!=t&&(m+="-"+n),v=-1,t=q);s="/"+e.getModelNumberDotted(p.mi);0!=r&&v!=r&&(m+=":"+u+s);-1==v&&(m+=" "+q);n=q;r=p.getChainID();u=p.getChainIDStr();j+=l+p.getGroup3(!1);l="-"}}m+=(t==n?"":"-"+n)+(0==r?"":":"+u)+s;h.put("groupNames",j);h.put("residueList",m.substring(1))}return b},"~O");q(c$,"getAtomData",function(b,c,f){b.startsWith("{")||(b="{"+b+"}");var a=c.toLowerCase().startsWith("user:"),e=c.toLowerCase().startsWith("property_");
f&&(!a&&!e)&&(c=c.toUpperCase());a=e?"%{"+c+"}":a?c.substring(5):c.equals("xyzrn")?"%-2e %8.3x %8.3y %8.3z %4.2[vdw] 1 [%n]%r.%a#%i":c.equals("xyzvib")?"%-2e %10.5x %10.5y %10.5z %10.5vx %10.5vy %10.5vz":c.equals("pdb")?'{selected and not hetero}.label("ATOM  %5i %-4a%1A%3.3n %1c%4R%1E   %8.3x%8.3y%8.3z%6.2Q%6.2b          %2e  ").lines+{selected and hetero}.label("HETATM%5i %-4a%1A%3.3n %1c%4R%1E   %8.3x%8.3y%8.3z%6.2Q%6.2b          %2e  ").lines':c.equals("xyz")?"%-2e %10.5x %10.5y %10.5z":c.equals("cfi")?
"print '$CFI from Jmol"+JV.Viewer.getJmolVersion()+"\n'+{selected}.count + ' ' + {selected}.bonds.count + '\n'   + {selected}.format('%10.0[atomno] %10.0[elemno] %10.4[xyz]')  + {selected}.bonds.format('%i1 %i2') + '\n' + {selected}.bonds.format('%ORDER')":null;if(null==a)return this.getModelExtract(this.vwr.getAtomBitSet(b),!1,!1,c.toUpperCase(),f);if(a.startsWith("print"))return b.equals("selected")||(a=JU.PT.rep(a,"selected",b.substring(1,b.length-1))),this.vwr.runScriptCautiously(a);0>a.indexOf("label")?
a=b+'.label("'+a+'").lines':b.equals("selected")||(a=JU.PT.rep(a,"selected",b.substring(1,b.length-1)));return this.vwr.evaluateExpression(a)},"~S,~S,~B");q(c$,"getModelExtract",function(b,c,f,a,e){if(0>b.nextSetBit(0))return"";a=a.toUpperCase();if(JU.PT.isOneOf(a,";CIF;QCJSON;XSF;PWMAT;"))return this.getModel(a,b,null,null);if(a.equals("CIFP1"))return this.getModel("CIF",b,v(-1,["P1"]),null);if(a.equals("CML"))return this.getModelCml(b,2147483647,!0,c,e);if(a.equals("PDB")||a.equals("PQR"))return this.getPdbAtomData(b,
null,a.equals("PQR"),c,e);var d=a.equals("V3000"),g=a.equals("SDF"),h=a.equals("MOL"),j=!c&&a.equals("XYZVIB"),l=a.equals("XYZRN"),k=a.startsWith("XYZ"),r=a.equals("JSON")||a.equals("CD");a=new JU.SB;var u=this.vwr.ms,m=JU.BSUtil.copy(b),s=this.vwr.ms.getModelBS(m,!0);if(!k&&!r){var n=this.vwr.ms.getFrameTitle(s.nextSetBit(0)),n=null!=n?n.$replace("\n"," "):f?"Jmol Model Kit":JV.FileManager.fixDOSName(this.vwr.fm.getFullPathName(!1));80<n.length&&(n=n.substring(0,77)+"...");a.append(n);f=JV.Viewer.getJmolVersion();
a.append("\n__Jmol-").append(f.substring(0,2));var t,q,p;p=new Date;f=p.getMonth();n=p.getDate();t=p.getFullYear();q=p.getHours();p=p.getMinutes();JU.PT.rightJustify(a,"_00",""+(1+f));JU.PT.rightJustify(a,"00",""+n);a.append((""+t).substring(2,4));JU.PT.rightJustify(a,"00",""+q);JU.PT.rightJustify(a,"00",""+p);a.append("3D 1   1.00000     0.00000     0");a.append("\nJmol version ").append(JV.Viewer.getJmolVersion()).append(" EXTRACT: ").append(JU.Escape.eBS(b)).append("\n")}n=u.at;for(f=b.nextSetBit(0);0<=
f;f=b.nextSetBit(f+1))c&&n[f].isDeleted()&&m.clear(f);t=JV.PropertyManager.getCovalentBondsForAtoms(u.bo,u.bondCount,m);if(!j&&m.isEmpty())return"";b=!0;null!=u.trajectory&&!e&&u.trajectory.selectDisplayed(s);c=c?this.vwr.tm.getRotationQ():null;if(k){h=JM.LabelToken.compile(this.vwr,l?"%-2e _XYZ_ %4.2[vdw] 1 [%n]%r.%a#%i\n":"%-2e _XYZ_\n","\x00",null);g=j?JM.LabelToken.compile(this.vwr,"%-2e _XYZ_ %12.5vx %12.5vy %12.5vz\n","\x00",null):null;e=new JU.P3;for(f=s.nextSetBit(0);0<=f;f=s.nextSetBit(f+
1))if(d=JU.BSUtil.copy(m),d.and(u.getModelAtomBitSetIncludingDeleted(f,!1)),!d.isEmpty()){a.appendI(d.cardinality()).appendC("\n");l=u.am[f].properties;a.append("Model["+(f+1)+"]: ");if(null!=u.frameTitles[f]&&0<u.frameTitles[f].length)a.append(u.frameTitles[f].$replace("\n"," "));else if(null==l)a.append("Jmol "+JV.Viewer.getJmolVersion());else{k=new JU.SB;r=l.propertyNames();for(t=null;r.hasMoreElements();)q=r.nextElement(),q.equals(".PATH")?t=l.getProperty(q):k.append(";").append(q).append("=").append(l.getProperty(q));
null!=t&&k.append(";PATH=").append(t);t=k.substring(0<k.length()?1:0);a.append(t.$replace("\n"," "))}a.appendC("\n");l=v(-1,[e]);for(k=d.nextSetBit(0);0<=k;k=d.nextSetBit(k+1))r=JM.LabelToken.formatLabelAtomArray(this.vwr,n[k],j&&null!=u.getVibration(k,!1)?g:h,"\x00",null,e),u.getPointTransf(f,n[k],c,e),r=JU.PT.rep(r,"_XYZ_",JU.PT.sprintf("%12.5p %12.5p %12.5p","p",l)),a.append(r)}}else if(j=J.api.Interface.getInterface("J.adapter.writers.MOLWriter",this.vwr,"write").setViewer(this.vwr),g){n=a.toString();
a=new JU.SB;for(f=s.nextSetBit(0);0<=f&&!(a.append(n),d=JU.BSUtil.copy(m),d.and(u.getModelAtomBitSetIncludingDeleted(f,!1)),t=JV.PropertyManager.getCovalentBondsForAtoms(u.bo,u.bondCount,d),!(b=j.addMolFile(f,a,d,t,!1,!1,h,c)));f=s.nextSetBit(f+1));}else b=j.addMolFile(-1,a,m,t,d,r,h,c);return b?a.toString():"ERROR: Too many atoms or bonds -- use V3000 format."},"JU.BS,~B,~B,~S,~B");j(c$,"getModel",function(b,c,f,a){b=J.api.Interface.getInterface("J.adapter.writers."+b+"Writer",this.vwr,"script");
b.set(this.vwr,a,f);return b.write(c)},"~S,JU.BS,~A,JU.OC");c$.getCovalentBondsForAtoms=j(c$,"getCovalentBondsForAtoms",function(b,c,f){for(var a=new JU.BS,e=0;e<c;e++){var d=b[e];f.get(d.atom1.i)&&(f.get(d.atom2.i)&&d.isCovalent())&&a.set(e)}return a},"~A,~N,JU.BS");q(c$,"getChimeInfo",function(b,c){switch(b){case 1073741982:var f=new JU.SB;this.vwr.getChimeMessenger().getAllChimeInfo(f);return f.appendC("\n").toString().substring(1);case 1073741863:return this.getBasePairInfo(c);default:return this.getChimeInfoA(this.vwr.ms.at,
b,c)}},"~N,JU.BS");j(c$,"getChimeInfoA",function(b,c,f){var a=(new JU.SB).append("\n"),e="",d=null,g=null,h=-1,j=0;if(null!=f)for(var l=f.nextSetBit(0);0<=l;l=f.nextSetBit(l+1)){var k=b[l];switch(c){default:return"";case 1113589787:e=k.getInfo();break;case 1140850689:e=""+k.getAtomNumber();break;case 1086324742:e=k.getGroup3(!1);break;case 1086326788:case 1073742120:case 1086324744:case 1086324743:var r=k.getChainID(),e=0==r?" ":k.getChainIDStr();300<=r&&(e=JU.PT.esc(e));switch(c){case 1073742120:e=
"["+k.getGroup3(!1)+"]"+k.group.getSeqcodeString()+":"+e;break;case 1086324744:case 1086324743:k.mi!=h&&(a.appendC("\n"),j=0,h=k.mi,a.append("Model "+k.getModelNumber()),d=g=null);k.group.chain!==d&&(a.appendC("\n"),j=0,d=k.group.chain,a.append("Chain "+e+":\n"),g=null);e=k.group;e!==g&&(g=e,1086324743==c?a.append(k.getGroup1("?")):(0==j++%5&&1<j&&a.appendC("\n"),JU.PT.leftJustify(a,"          ","["+k.getGroup3(!1)+"]"+k.getResno()+" ")));continue}}0>a.indexOf("\n"+e+"\n")&&a.append(e).appendC("\n")}1086324744==
c&&a.appendC("\n");return a.toString().substring(1)},"~A,~N,JU.BS");q(c$,"getModelFileInfo",function(b){for(var c=this.vwr.ms,f=new JU.SB,a=0;a<c.mc;++a)if(null==b||b.get(a)){var e='["'+c.getModelNumberDotted(a)+'"] = ';f.append("\n\nfile").append(e).append(JU.PT.esc(c.getModelFileName(a)));var d=c.getInfo(a,"modelID");null!=d&&f.append("\nid").append(e).append(JU.PT.esc(d));f.append("\ntitle").append(e).append(JU.PT.esc(c.getModelTitle(a)));f.append("\nname").append(e).append(JU.PT.esc(c.getModelName(a)));
f.append("\ntype").append(e).append(JU.PT.esc(c.getModelFileType(a)))}return f.toString()},"JU.BS");j(c$,"getAllAtomInfo",function(b){for(var c=new JU.Lst,f=new JU.P3,a=-1,e=null,d=b.nextSetBit(0);0<=d;d=b.nextSetBit(d+1)){var g=this.vwr.ms.at[d].getModelIndex();g!=a&&(e=this.vwr.ms.getUnitCell(g),a=g);c.addLast(this.getAtomInfoLong(d,f,e))}return c},"JU.BS");j(c$,"getAtomInfoLong",function(b,c,f){var a=this.vwr.ms,e=a.at[b],d=new java.util.Hashtable;a.getAtomIdentityInfo(b,d,c);d.put("element",a.getElementName(b));
d.put("elemno",Integer.$valueOf(a.at[b].getElementNumber()));d.put("x",Float.$valueOf(e.x));d.put("y",Float.$valueOf(e.y));d.put("z",Float.$valueOf(e.z));null!=f&&(c.setT(e),f.toFractional(c,!0),d.put("fx",Float.$valueOf(c.x)),d.put("fy",Float.$valueOf(c.y)),d.put("fz",Float.$valueOf(c.z)));d.put("coord",JU.P3.newP(e));null!=a.vibrations&&null!=a.vibrations[b]&&a.vibrations[b].getInfo(d);d.put("bondCount",Integer.$valueOf(e.getCovalentBondCount()));d.put("radius",Float.$valueOf(e.getRasMolRadius()/
120));d.put("model",e.getModelNumberForLabel());c=e.atomPropertyString(this.vwr,1086324748);null!=c&&d.put("shape",c);d.put("visible",Boolean.$valueOf(e.checkVisible()));d.put("clickabilityFlags",Integer.$valueOf(e.clickabilityFlags));d.put("visibilityFlags",Integer.$valueOf(e.shapeVisibilityFlags));d.put("spacefill",Float.$valueOf(e.getRadius()));c=JU.Escape.escapeColor(this.vwr.gdata.getColorArgbOrGray(e.colixAtom));null!=c&&d.put("color",c);d.put("colix",Integer.$valueOf(e.colixAtom));(c=JU.C.isColixTranslucent(e.colixAtom))&&
d.put("translucent",Boolean.$valueOf(c));d.put("formalCharge",Integer.$valueOf(e.getFormalCharge()));d.put("partialCharge",Float.$valueOf(e.getPartialCharge()));c=e.getSurfaceDistance100()/100;0<=c&&d.put("surfaceDistance",Float.$valueOf(c));a.am[e.mi].isBioModel&&(d.put("resname",e.getGroup3(!1)),c=e.group.getInsertionCode(),f=e.getResno(),0<f&&d.put("resno",Integer.$valueOf(f)),0!=c.charCodeAt(0)&&d.put("insertionCode",""+c),d.put("name",a.at[b].getAtomName()),d.put("chain",e.getChainIDStr()),d.put("atomID",
Integer.$valueOf(e.atomID)),d.put("groupID",Integer.$valueOf(e.group.groupID)),"\x00"!=e.altloc&&d.put("altLocation",""+e.altloc),d.put("structure",Integer.$valueOf(e.group.getProteinStructureType().getId())),d.put("polymerLength",Integer.$valueOf(e.group.getBioPolymerLength())),d.put("occupancy",Integer.$valueOf(e.getOccupancy100())),b=e.getBfactor100(),d.put("temp",Integer.$valueOf(I(b/100))));return d},"~N,JU.P3,J.api.SymmetryInterface");j(c$,"getAllBondInfo",function(b){var c=new JU.Lst,f=this.vwr.ms,
a=f.bondCount,f=f.bo,e;s(b,String)&&(b=this.vwr.getAtomBitSet(b));var d=new JU.P3;if(s(b,Array)){e=b[0];var g=b[1];for(b=0;b<a;b++){var h=f[b].atom1.i,j=f[b].atom2.i;(e.get(h)&&g.get(j)||g.get(h)&&e.get(j))&&c.addLast(this.getBondInfo(b,d))}}else if(s(b,JM.BondSet)){e=b;for(b=e.nextSetBit(0);0<=b&&b<a;b=e.nextSetBit(b+1))c.addLast(this.getBondInfo(b,d))}else if(s(b,JU.BS)){e=b;g=1==e.cardinality()?e.nextSetBit(0):-1;for(b=0;b<a;b++)(0<=g?f[b].atom1.i==g||f[b].atom2.i==g:e.get(f[b].atom1.i)&&e.get(f[b].atom2.i))&&
c.addLast(this.getBondInfo(b,d))}return c},"~O");j(c$,"getBondInfo",function(b,c){var f=this.vwr.ms.bo[b],a=f.atom1,e=f.atom2,d=new java.util.Hashtable;d.put("_bpt",Integer.$valueOf(b));var g=new java.util.Hashtable;this.vwr.ms.getAtomIdentityInfo(a.i,g,c);var h=new java.util.Hashtable;this.vwr.ms.getAtomIdentityInfo(e.i,h,c);d.put("atom1",g);d.put("atom2",h);d.put("jmol_order","0x"+Integer.toHexString(f.getBondType()));d.put("order",Float.$valueOf(JU.Edge.getBondOrderNumberFromOrder(f.getBondType())));
d.put("type",JU.Edge.getBondOrderNameFromOrder(f.getBondType()));d.put("radius",Float.$valueOf(f.mad/2E3));d.put("length_Ang",Float.$valueOf(a.distance(e)));d.put("visible",Boolean.$valueOf(0!=f.shapeVisibilityFlags));a=JU.Escape.escapeColor(this.vwr.gdata.getColorArgbOrGray(f.colix));null!=a&&d.put("color",a);d.put("colix",Integer.$valueOf(f.colix));JU.C.isColixTranslucent(f.colix)&&d.put("translucent",Boolean.TRUE);return d},"~N,JU.P3");j(c$,"getAllChainInfo",function(b){for(var c=new java.util.Hashtable,
f=new JU.Lst,a=this.vwr.ms.mc,e=0;e<a;++e){var d=new java.util.Hashtable,g=this.getChainInfo(e,b);0<g.size()&&(d.put("modelIndex",Integer.$valueOf(e)),d.put("chains",g),f.addLast(d))}c.put("models",f);return c},"JU.BS");j(c$,"getChainInfo",function(b,c){for(var f=this.vwr.ms.am[b],a=f.getChainCount(!0),e=new JU.Lst,d=new JU.P3,g=0;g<a;g++){for(var h=f.getChainAt(g),j=new JU.Lst,l=h.groupCount,k=new java.util.Hashtable,r=0;r<l;r++){var q=h.groups[r];c.get(q.firstAtomIndex)&&j.addLast(q.getGroupInfo(r,
d))}j.isEmpty()||(k.put("residues",j),e.addLast(k))}return e},"~N,JU.BS");j(c$,"getAllPolymerInfo",function(b){var c=new java.util.Hashtable;null!=this.vwr.ms.bioModelset&&this.vwr.ms.bioModelset.getAllPolymerInfo(b,c);return c},"JU.BS");j(c$,"getBasePairInfo",function(b){var c=new JU.SB,f=new JU.Lst;this.vwr.ms.calcRasmolHydrogenBonds(b,b,f,!0,1,!1,null);for(b=f.size();0<=--b;){var a=f.get(b);JV.PropertyManager.getAtomResidueInfo(c,a.atom1);c.append(" - ");JV.PropertyManager.getAtomResidueInfo(c,
a.atom2);c.append("\n")}return c.toString()},"JU.BS");c$.getAtomResidueInfo=j(c$,"getAtomResidueInfo",function(b,c){b.append("[").append(c.getGroup3(!1)).append("]").append(c.group.getSeqcodeString()).append(":");var f=c.getChainID();b.append(0==f?" ":c.getChainIDStr())},"JU.SB,JM.Atom");j(c$,"getAppletInfo",function(){var b=new java.util.Hashtable;b.put("htmlName",this.vwr.htmlName);b.put("syncId",this.vwr.syncId);b.put("fullName",this.vwr.fullName);b.put("codeBase",""+JV.Viewer.appletCodeBase);
this.vwr.isApplet&&(b.put("documentBase",JV.Viewer.appletDocumentBase),b.put("registry",this.vwr.sm.getRegistryInfo()));b.put("version",JV.JC.version);b.put("date",JV.JC.date);b.put("javaVendor",JV.Viewer.strJavaVendor);b.put("javaVersion",JV.Viewer.strJavaVersion+(!JV.Viewer.isJS?"":this.vwr.isWebGL?"(WebGL)":"(HTML5)"));b.put("operatingSystem",JV.Viewer.strOSName);return b});j(c$,"getAnimationInfo",function(){var b=this.vwr.am,c=new java.util.Hashtable;c.put("firstModelIndex",Integer.$valueOf(b.firstFrameIndex));
c.put("lastModelIndex",Integer.$valueOf(b.lastFrameIndex));c.put("animationDirection",Integer.$valueOf(b.animationDirection));c.put("currentDirection",Integer.$valueOf(b.currentDirection));c.put("displayModelIndex",Integer.$valueOf(b.cmi));null!=b.animationFrames&&(c.put("isMovie",Boolean.TRUE),c.put("frames",JU.Escape.eAI(b.animationFrames)),c.put("currentAnimationFrame",Integer.$valueOf(b.caf)));c.put("displayModelNumber",this.vwr.getModelNumberDotted(b.cmi));c.put("displayModelName",0<=b.cmi?this.vwr.getModelName(b.cmi):
"");c.put("animationFps",Integer.$valueOf(b.animationFps));c.put("animationReplayMode",JS.T.nameOf(b.animationReplayMode));c.put("firstFrameDelay",Float.$valueOf(b.firstFrameDelay));c.put("lastFrameDelay",Float.$valueOf(b.lastFrameDelay));c.put("animationOn",Boolean.$valueOf(b.animationOn));c.put("animationPaused",Boolean.$valueOf(b.animationPaused));return c});j(c$,"getBoundBoxInfo",function(){var b=this.vwr.ms.getBoxInfo(null,1).getBoundBoxPoints(!0),c=new java.util.Hashtable;c.put("center",JU.P3.newP(b[0]));
c.put("vector",JU.V3.newV(b[1]));c.put("corner0",JU.P3.newP(b[2]));c.put("corner1",JU.P3.newP(b[3]));return c});j(c$,"getShapeInfo",function(){var b=new java.util.Hashtable,c=new JU.SB,f=this.vwr.shm.shapes;if(null!=f)for(var a=0;37>a;++a){var e=f[a];if(null!=e){var d=JV.JC.shapeClassBases[a],e=e.getShapeDetail();null!=e&&b.put(d,e)}}0<c.length()&&b.put("shapeCommands",c.toString());return b});j(c$,"getAnnotationInfo",function(b,c){var f=this.vwr.getAtomBitSet(b),f=this.vwr.ms.getModelBS(f,!1).nextSetBit(0);
if(0>f)return null;var a=this.vwr.ms.getModelAuxiliaryInfo(f).get(1073741925==c?"domains":"validation");if(null==a||6!=a.tok)return null;this.vwr.getAnnotationParser(!1).initializeAnnotation(a,c,f);return a.mapGet("_list")},"~O,~N");j(c$,"getMeasurementInfo",function(){return this.vwr.getShapeProperty(6,"info")});j(c$,"getMouseInfo",function(){if(!this.vwr.haveDisplay)return null;for(var b=new java.util.Hashtable,c=new JU.Lst,f=this.vwr.acm,a,e=f.b.getBindings().values().iterator();e.hasNext()&&((a=
e.next())||1);)s(a,Boolean)||(JU.AU.isAI(a)&&(a=v(-1,[JV.binding.Binding.getMouseActionName(a[0],!1),JV.ActionManager.getActionName(a[1])])),c.addLast(a));b.put("bindings",c);b.put("bindingName",f.b.name);b.put("actionNames",JV.ActionManager.actionNames);b.put("actionInfo",JV.ActionManager.actionInfo);b.put("bindingInfo",JU.PT.split(f.getBindingInfo(null),"\n"));return b});q(c$,"getPdbAtomData",function(b,c,f,a,e){return 0==this.vwr.ms.ac||0>b.nextSetBit(0)?"":this.getModel("PDB",b,v(-1,[new Boolean(f),
new Boolean(a),new Boolean(e)]),c)},"JU.BS,JU.OC,~B,~B,~B");q(c$,"getPdbData",function(b,c,f,a,e,d){this.vwr.ms.isJmolDataFrameForModel(b)&&(b=this.vwr.ms.getJmolDataSourceFrame(b));if(0>b)return"";var g=this.vwr.ms.am[b],h=g.isBioModel;if(null==a&&!h)return null;null==e&&(e=this.vwr.getOutputChannel(null,null));var j=new JU.SB,l=0<=c.indexOf("draw"),k=null,r=new JU.BS,q="\x00",m=this.vwr.ms.getLabeler().compile(this.vwr,"ATOM  %-6i%4a%1A%3.-3n %1c%4R%1E   ","\x00",null);if(null==a)q=11<c.length&&
0<=c.indexOf("quaternion ")?c.charAt(11):"R",g.getPdbData(c,q,l,f,e,m,j,r),k=this.vwr.getModelUndeletedAtomsBitSet(b);else{k=a[0];b=a[1];var g=a[2],s=a[3],n=null!=g,t=null!=s,w=a[4],p=a[5],z=a[6],C=a[7],A=a[8],B=a[9];a=null!=z&&null==A;var E=this.vwr.ms.at;if(a){e.append("REMARK   6 Jmol PDB-encoded data: ").append(c).append("; ").append(JV.Viewer.getJmolVersion()).append("; ").append(this.vwr.apiPlatform.getDateFormat(null)).append("\n");e.append("REMARK   6 Jmol data").append(" min = ").append(JU.Escape.eP(w)).append(" max = ").append(JU.Escape.eP(p)).append(" unScaledXyz = xyz * ").append(JU.Escape.eP(z)).append(" + ").append(JU.Escape.eP(C)).append(";\n");
p=null;for(c=k.nextSetBit(0);0<=c;c=k.nextSetBit(c+1))if(w=""+E[c].getAtomName(),null!=p||4<w.length)null==p?(p="",c=-1):p+=" "+w;null!=p&&e.append("REMARK   6 Jmol atom names").append(p).append("\n");p=null;for(c=k.nextSetBit(0);0<=c;c=k.nextSetBit(c+1))if(w=""+E[c].getGroup3(!0),null!=p||3<w.length)null==p?(p="",c=-1):p+=" "+w;null!=p&&e.append("REMARK   6 Jmol residue names").append(p).append("\n");for(c=0;c<B.length;c++)null!=B[c]&&e.append("REMARK   6 Jmol property ").append(B[c]).append(";\n")}B=
null;w=new JU.P3;a||(null==A&&(A="%-5i %-10s %-13.5f "+(t?"%-13.5f %-13.5f":n?"%-13.5f":"")),A+="\n");c=k.nextSetBit(0);for(p=0;0<=c;c=k.nextSetBit(c+1),p++){var z=b[p],C=n?g[p]:0,F=t?s[p]:0;if(!Float.isNaN(z)&&!Float.isNaN(C)&&!Float.isNaN(F)){var y=E[c];a?(e.append(JM.LabelToken.formatLabelAtomArray(this.vwr,y,m,"\x00",null,w)),h&&r.set(c),e.append(JU.PT.sprintf("%-8.2f%-8.2f%-10.2f    %6.3f          %2s    %s\n","ssF",v(-1,[y.getElementSymbolIso(!1).toUpperCase(),"",x(-1,[z,C,F,0])]))),null!=B&&
B.group.getBioPolymerIndexInModel()==y.group.getBioPolymerIndexInModel()&&j.append("CONECT").append(JU.PT.formatStringI("%5i","i",B.getAtomNumber())).append(JU.PT.formatStringI("%5i","i",y.getAtomNumber())).appendC("\n")):t?e.append(JU.PT.sprintf(A,"isF",v(-1,[Integer.$valueOf(y.getAtomNumber()),y.getAtomName(),x(-1,[z,C,F])]))):n?e.append(JU.PT.sprintf(A,"isF",v(-1,[Integer.$valueOf(y.getAtomNumber()),y.getAtomName(),x(-1,[z,C])]))):e.append(JU.PT.sprintf(A,"isF",v(-1,[Integer.$valueOf(y.getAtomNumber()),
y.getAtomName(),x(-1,[z])])));B=y}}}e.append(j.toString());if(l)return e.toString();f.and(k);h&&d&&e.append("\n\n"+this.vwr.ms.getProteinStructureState(r,"R"==q?4138:1073742086));return e.toString()},"~N,~S,JU.BS,~A,JU.OC,~B");q(c$,"getModelCml",function(b,c,f,a,e){return this.getModel("CML",b,v(-1,[new Integer(c),new Boolean(f),new Boolean(a),new Boolean(e)]),null)},"JU.BS,~N,~B,~B,~B");q(c$,"fixJMEFormalCharges",function(b,c){var f=!1;if(null==b)return c;for(var a=b.nextSetBit(0);0<=a;a=b.nextSetBit(a+
1)){var e=this.vwr.ms.at[a];if(0!=e.getFormalCharge()){f=!0;break}}if(!f)return c;f=this.vwr.getSmilesMatcher().getMapForJME(c,this.vwr.ms.at,b);if(null==f)return c;for(var e=f[0],d=f[1],f=JU.PT.getTokens(c),g=JU.PT.parseInt(f[0]),g=O(g,0),a=e.length;0<=--a;)g[e[a]]=d[a]+1;a=0;for(d=2;d<f.length;d+=3){var h=f[d];if(-2147483648!=JU.PT.parseInt(h))break;h=JU.PT.replaceAllCharacters(h,"+-","");e=this.vwr.ms.at[g[a++]-1];if(!e.getElementSymbol().equals(h))return c;e=e.getFormalCharge();0!=e&&(f[d]=h+
(0<e?"+":"-")+(1<Math.abs(e)?""+Math.abs(e):""))}return JU.PT.join(f," ",0)},"JU.BS,~S");H(c$,"atomExpression","<atom selection>");c$.propertyTypes=c$.prototype.propertyTypes=v(-1,"appletInfo;;;fileName;;;fileHeader;;;fileContents;<pathname>;;fileContents;;;animationInfo;;;modelInfo;<atom selection>;{*};ligandInfo;<atom selection>;{*};shapeInfo;;;measurementInfo;;;centerInfo;;;orientationInfo;;;transformInfo;;;;;;atomInfo;<atom selection>;(visible);bondInfo;<atom selection>;(visible);chainInfo;<atom selection>;(visible);polymerInfo;<atom selection>;(visible);moleculeInfo;<atom selection>;(visible);stateInfo;<state type>;all;extractModel;<atom selection>;(visible);jmolStatus;statusNameList;;jmolViewer;;;messageQueue;;;auxiliaryInfo;<atom selection>;{*};boundBoxInfo;;;dataInfo;<data type>;types;image;<width=www,height=hhh>;;evaluate;<expression>;;menu;<type>;current;minimizationInfo;;;pointGroupInfo;<atom selection>;(visible);fileInfo;<type>;;errorMessage;;;mouseInfo;;;isosurfaceInfo;;;isosurfaceData;;;consoleText;;;JSpecView;<key>;;scriptQueueInfo;;;nmrInfo;<elementSymbol> or 'all' or 'shifts';all;variableInfo;<name>;all;domainInfo;<atom selection>;{visible};validationInfo;<atom selection>;{visible};service;<hashTable>;;CIFInfo;<filename>;;modelkitInfo;<key>;data;unitcellInfo;;".split(";"));
H(c$,"PROP_APPLET_INFO",0,"PROP_FILENAME",1,"PROP_FILEHEADER",2,"PROP_FILECONTENTS_PATH",3,"PROP_FILECONTENTS",4,"PROP_ANIMATION_INFO",5,"PROP_MODEL_INFO",6,"PROP_LIGAND_INFO",7,"PROP_SHAPE_INFO",8,"PROP_MEASUREMENT_INFO",9,"PROP_CENTER_INFO",10,"PROP_ORIENTATION_INFO",11,"PROP_TRANSFORM_INFO",12,"PROP_ATOM_INFO",14,"PROP_BOND_INFO",15,"PROP_CHAIN_INFO",16,"PROP_POLYMER_INFO",17,"PROP_MOLECULE_INFO",18,"PROP_STATE_INFO",19,"PROP_EXTRACT_MODEL",20,"PROP_JMOL_STATUS",21,"PROP_JMOL_VIEWER",22,"PROP_MESSAGE_QUEUE",
23,"PROP_AUXILIARY_INFO",24,"PROP_BOUNDBOX_INFO",25,"PROP_DATA_INFO",26,"PROP_IMAGE",27,"PROP_EVALUATE",28,"PROP_MENU",29,"PROP_MINIMIZATION_INFO",30,"PROP_POINTGROUP_INFO",31,"PROP_FILE_INFO",32,"PROP_ERROR_MESSAGE",33,"PROP_MOUSE_INFO",34,"PROP_ISOSURFACE_INFO",35,"PROP_ISOSURFACE_DATA",36,"PROP_CONSOLE_TEXT",37,"PROP_JSPECVIEW",38,"PROP_SCRIPT_QUEUE_INFO",39,"PROP_NMR_INFO",40,"PROP_VAR_INFO",41,"PROP_DOM_INFO",42,"PROP_VAL_INFO",43,"PROP_SERVICE",44,"PROP_CIF_INFO",45,"PROP_MODELKIT_INFO",46,
"PROP_UNITCELL_INFO",47,"PROP_COUNT",48,"readableTypes",v(-1," stateinfo extractmodel filecontents fileheader image menu minimizationInfo".split(" ")))})})(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.defineStatics,Clazz.newFloatArray,
Clazz.declareType,Clazz.prepareFields,Clazz.superConstructor,Clazz.newByteArray,Clazz.declareInterface,Clazz.p0p,Clazz.pu$h,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);
