UNPKG

biojs-vis-pdbviewer

Version:

A BioJS 2.0 component to view protein structures

224 lines 132 kB
(function(ha,ia,ja,A,ka,E,S,Q,H,K,p,I,la,Y,U,T,R,ma,V,aa,na,ba,ca,da,oa,X,ea,fa,pa,qa,ra,Z,sa,ta,ua,va,$,ga,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,d,l){E("J.adapter.smarter");Q(["JU.P3"],"J.adapter.smarter.XtalSymmetry","java.lang.Boolean $.Float java.util.Hashtable JU.BS $.Lst $.M3 $.M4 $.P3i $.PT $.SB $.V3 J.adapter.smarter.Atom J.api.Interface JU.BSUtil $.Logger $.Vibration".split(" "),function(){c$=K(function(){this.notionalUnitCell=this.symmetry=this.asc=null;this.symmetryRange=0;
this.centroidPacked=this.doCentroidUnitCell=!1;this.packingError=0;this.filterSymop=null;this.applySymmetryToBonds=!1;this.trajectoryUnitCells=this.matSupercell=this.fmatSupercell=this.ptSupercell=this.latticeCells=null;this.doNormalize=!0;this.vibsFractional=this.doPackUnitCell=!1;this.rmaxz=this.rmaxy=this.rmaxx=this.rminz=this.rminy=this.rminx=0;this.maxXYZ0=this.minXYZ0=this.maxXYZ=this.minXYZ=this.unitCellOffset=this.ptOffset=null;this.checkAll=!1;this.bondCount0=0;this.dtype=3;this.unitCellTranslations=
null;this.latticeOp=0;this.latticeOnly=!1;this.firstSymmetryAtom=this.noSymmetryCount=0;this.mTemp=this.ptTemp=null;this.nVib=0;H(this,arguments)},J.adapter.smarter,"XtalSymmetry");V(c$,function(){this.notionalUnitCell=R(6,0);this.ptOffset=new JU.P3});I(c$,function(){});d(c$,"set",function(a){this.asc=a;this.getSymmetry();return this},"J.adapter.smarter.AtomSetCollection");d(c$,"getSymmetry",function(){return null==this.symmetry?this.symmetry=J.api.Interface.getSymmetry():this.symmetry});d(c$,"setSymmetry",
function(a){return this.symmetry=a},"J.api.SymmetryInterface");d(c$,"setSymmetryRange",function(a){this.symmetryRange=a;this.asc.setInfo("symmetryRange",Float.$valueOf(a))},"~N");d(c$,"setLatticeCells",function(a){this.latticeCells=a.latticeCells;var b=555>=this.latticeCells[0]&&555<=this.latticeCells[1]&&(0==this.latticeCells[2]||1==this.latticeCells[2]||-1==this.latticeCells[2]);this.doNormalize=0!=this.latticeCells[0]&&(!b||1==this.latticeCells[2]);this.applySymmetryToBonds=a.applySymmetryToBonds;
this.doPackUnitCell=a.doPackUnitCell;this.doCentroidUnitCell=a.doCentroidUnitCell;this.centroidPacked=a.centroidPacked;this.filterSymop=a.filterSymop;null==a.strSupercell?this.setSupercellFromPoint(a.ptSupercell):this.setSuperCellFromString(a.strSupercell)},"J.adapter.smarter.AtomSetCollectionReader");d(c$,"setSupercellFromPoint",function(a){this.ptSupercell=a;null==a?this.matSupercell=null:(this.matSupercell=new JU.M4,this.matSupercell.m00=a.x,this.matSupercell.m11=a.y,this.matSupercell.m22=a.z,
this.matSupercell.m33=1,JU.Logger.info("Using supercell \n"+this.matSupercell))},"JU.P3");d(c$,"setSuperCellFromString",function(a){null==this.fmatSupercell&&(this.fmatSupercell=R(16,0),null==this.symmetry.getMatrixFromString(a,this.fmatSupercell,!0,0)?this.matSupercell=this.fmatSupercell=null:(this.matSupercell=JU.M4.newA16(this.fmatSupercell),JU.Logger.info("Using supercell \n"+this.matSupercell)))},"~S");d(c$,"setNotionalUnitCell",function(a,b,c){this.notionalUnitCell=R(a.length,0);this.unitCellOffset=
c;for(var e=0;e<a.length;e++)this.notionalUnitCell[e]=a[e];this.asc.haveUnitCell=!0;this.asc.setAtomSetAuxiliaryInfo("notionalUnitcell",this.notionalUnitCell);this.asc.isTrajectory&&(null==this.trajectoryUnitCells&&(this.trajectoryUnitCells=new JU.Lst,this.asc.setInfo("unitCells",this.trajectoryUnitCells)),this.trajectoryUnitCells.addLast(this.notionalUnitCell));this.asc.setGlobalBoolean(2);this.getSymmetry().setUnitCell(this.notionalUnitCell,!1);null!=c&&(this.symmetry.setOffsetPt(c),this.asc.setAtomSetAuxiliaryInfo("unitCellOffset",
c));null!=b&&(this.symmetry.initializeOrientation(b),this.asc.setAtomSetAuxiliaryInfo("matUnitCellOrientation",b))},"~A,JU.M3,JU.P3");d(c$,"addSpaceGroupOperation",function(a,b){null!=a&&this.setLatticeCells(a);this.symmetry.setSpaceGroup(this.doNormalize);return this.symmetry.addSpaceGroupOperation(b,0)},"J.adapter.smarter.AtomSetCollectionReader,~S");d(c$,"setLatticeParameter",function(a){this.symmetry.setSpaceGroup(this.doNormalize);this.symmetry.setLattice(a)},"~N");d(c$,"applySymmetryFromReader",
function(a,b){this.asc.setCoordinatesAreFractional(a.iHaveFractionalCoordinates);this.setNotionalUnitCell(a.notionalUnitCell,a.matUnitCellOrientation,a.unitCellOffset);this.asc.setAtomSetSpaceGroupName(a.sgName);this.setSymmetryRange(a.symmetryRange);if(a.doConvertToFractional||a.fileCoordinatesAreFractional){this.setLatticeCells(a);var c=!0;if(a.ignoreFileSpaceGroupName||!a.iHaveSymmetryOperators){if(!a.merging||null==b)b=a.getNewSymmetry();c=b.createSpaceGroup(a.desiredSpaceGroupIndex,0<=a.sgName.indexOf("!")?
"P1":a.sgName,a.notionalUnitCell)}else a.doPreSymmetry(),this.vibsFractional=a.vibsFractional,b=null;c&&(null!=b&&this.symmetry.setSpaceGroupFrom(b),this.packingError=a.packingError,this.applySymmetryLattice(a.ms,a.altCell),null!=b&&null==this.filterSymop&&this.asc.setAtomSetSpaceGroupName(b.getSpaceGroupName()))}a.iHaveFractionalCoordinates&&(a.merging&&null!=b)&&(this.asc.toCartesian(b),this.asc.setCoordinatesAreFractional(!1),a.addVibrations=!1);return this.symmetry},"J.adapter.smarter.AtomSetCollectionReader,J.api.SymmetryInterface");
d(c$,"applySymmetryLattice",function(a,b){if(this.asc.coordinatesAreFractional&&null!=this.symmetry.getSpaceGroup()){var c=this.latticeCells[0],e=this.latticeCells[1],g=Math.abs(this.latticeCells[2]);this.firstSymmetryAtom=this.asc.getLastAtomSetAtomIndex();var h=null;this.rminx=this.rminy=this.rminz=3.4028235E38;this.rmaxx=this.rmaxy=this.rmaxz=-3.4028235E38;var f=null,d=null,k=null;this.nVib=0;var j=null,m=null,n=null;if(null!=b&&0<=b.indexOf(",")){if(f=this.symmetry.getV0abc(b),null!=f){this.minXYZ=
new JU.P3i;this.maxXYZ=JU.P3i.new3(c,e,g);this.symmetry.setMinMaxLatticeParameters(this.minXYZ,this.maxXYZ);k=JU.P3.newP(f[0]);this.symmetry.toFractional(k,!0);j=JU.P3.newP(f[1]);m=JU.P3.newP(f[2]);n=JU.P3.newP(f[3]);f[0].scaleAdd2(this.minXYZ.x,j,f[0]);f[0].scaleAdd2(this.minXYZ.y,m,f[0]);f[0].scaleAdd2(this.minXYZ.z,n,f[0]);var r=JU.P3.newP(f[0]);this.symmetry.toFractional(r,!0);this.setSymmetryMinMax(r);f[1].scale(this.maxXYZ.x-this.minXYZ.x);f[2].scale(this.maxXYZ.y-this.minXYZ.y);f[3].scale(this.maxXYZ.z-
this.minXYZ.z);for(var s=0;3>s;s++)for(var q=s+1;4>q;q++)r.add2(f[s],f[q]),0!=s&&r.add(f[0]),this.symmetry.toFractional(r,!1),this.setSymmetryMinMax(r);this.symmetry.toCartesian(r,!1);r.add(f[1]);this.symmetry.toFractional(r,!1);this.setSymmetryMinMax(r);this.minXYZ=JU.P3i.new3(A(Math.floor(this.rminx+0.001)),A(Math.floor(this.rminy+0.001)),A(Math.floor(this.rminz+0.001)));this.maxXYZ=JU.P3i.new3(A(Math.ceil(this.rmaxx-0.001)),A(Math.ceil(this.rmaxy-0.001)),A(Math.ceil(this.rmaxz-0.001)))}}else if(null!=
this.fmatSupercell){r=new JU.P3;for(s=0;1>=s;s++)for(q=0;1>=q;q++)for(d=0;1>=d;d++)r.set(s,q,d),this.setSym(r);d=this.asc.getAtomSetAuxiliaryInfoValue(-1,"unitCellOffset");this.minXYZ=JU.P3i.new3(p(this.rminx),p(this.rminy),p(this.rminz));this.maxXYZ=JU.P3i.new3(p(this.rmaxx),p(this.rmaxy),p(this.rmaxz));j=this.setSym(JU.P3.new3(1,0,0));m=this.setSym(JU.P3.new3(0,1,0));n=this.setSym(JU.P3.new3(0,0,1))}if(3.4028235E38==this.rminx)f=this.matSupercell=this.fmatSupercell=null;else{JU.Logger.info("setting min/max for original lattice to "+
this.minXYZ+" and "+this.maxXYZ);s=this.doPackUnitCell;this.doPackUnitCell=null!=f;null==this.asc.bsAtoms&&(this.asc.bsAtoms=JU.BSUtil.setAll(this.asc.ac));h=this.asc.bsAtoms;this.applyAllSymmetry(a,null,!1);this.doPackUnitCell=s;this.setVibVectors();for(var r=this.asc.atoms,q=this.asc.ac,l=this.asc.getLastAtomSetAtomIndex(),s=l;s<q;s++)this.symmetry.toCartesian(r[s],!0);this.symmetry=null;this.symmetry=this.getSymmetry();this.setNotionalUnitCell([0,0,0,0,0,0,j.x,j.y,j.z,m.x,m.y,m.z,n.x,n.y,n.z],
null,d);this.asc.setAtomSetSpaceGroupName(null==f?"P1":"cell="+b);this.symmetry.setSpaceGroup(this.doNormalize);this.symmetry.addSpaceGroupOperation("x,y,z",0);for(s=l;s<q;s++)this.symmetry.toFractional(r[s],!0),null!=k&&r[s].sub(k);this.asc.haveAnisou=!1;this.asc.setAtomSetAuxiliaryInfo("matUnitCellOrientation",null)}this.minXYZ=new JU.P3i;this.maxXYZ=JU.P3i.new3(c,e,g);null==f?(this.applyAllSymmetry(a,h,null!=this.fmatSupercell),this.fmatSupercell=null):this.trimAtomSet()}},"J.adapter.smarter.MSInterface,~S");
d(c$,"setSym",function(a){this.matSupercell.rotate(a);this.setSymmetryMinMax(a);this.symmetry.toCartesian(a,!1);return a},"JU.P3");d(c$,"setSymmetryMinMax",function(a){this.rminx>a.x&&(this.rminx=a.x);this.rminy>a.y&&(this.rminy=a.y);this.rminz>a.z&&(this.rminz=a.z);this.rmaxx<a.x&&(this.rmaxx=a.x);this.rmaxy<a.y&&(this.rmaxy=a.y);this.rmaxz<a.z&&(this.rmaxz=a.z)},"JU.P3");d(c$,"isInSymmetryRange",function(a){return a.x>=this.rminx&&a.y>=this.rminy&&a.z>=this.rminz&&a.x<=this.rmaxx&&a.y<=this.rmaxy&&
a.z<=this.rmaxz},"JU.P3");d(c$,"isWithinCell",function(a,b,c,e,g,h,f,d,k){return b.x>c-k&&b.x<e+k&&(2>a||b.y>g-k&&b.y<h+k)&&(3>a||b.z>f-k&&b.z<d+k)},"~N,JU.P3,~N,~N,~N,~N,~N,~N,~N");d(c$,"applyAllSymmetry",function(a,b,c){if(0!=this.asc.ac){this.noSymmetryCount=0==this.asc.baseSymmetryAtomCount?this.asc.getLastAtomSetAtomCount():this.asc.baseSymmetryAtomCount;this.asc.setTensors();this.bondCount0=this.asc.bondCount;this.finalizeSymmetry(this.symmetry);var e=this.symmetry.getSpaceGroupOperationCount();
this.dtype=p(this.symmetry.getUnitCellInfoType(6));this.symmetry.setMinMaxLatticeParameters(this.minXYZ,this.maxXYZ);this.doCentroidUnitCell&&this.asc.setInfo("centroidMinMax",[this.minXYZ.x,this.minXYZ.y,this.minXYZ.z,this.maxXYZ.x,this.maxXYZ.y,this.maxXYZ.z,this.centroidPacked?1:0]);if(null!=this.ptSupercell)switch(this.asc.setAtomSetAuxiliaryInfo("supercell",this.ptSupercell),this.dtype){case 3:this.minXYZ.z*=p(Math.abs(this.ptSupercell.z)),this.maxXYZ.z*=p(Math.abs(this.ptSupercell.z));case 2:this.minXYZ.y*=
p(Math.abs(this.ptSupercell.y)),this.maxXYZ.y*=p(Math.abs(this.ptSupercell.y));case 1:this.minXYZ.x*=p(Math.abs(this.ptSupercell.x)),this.maxXYZ.x*=p(Math.abs(this.ptSupercell.x))}if(this.doCentroidUnitCell||this.doPackUnitCell||0!=this.symmetryRange&&1==this.maxXYZ.x-this.minXYZ.x&&1==this.maxXYZ.y-this.minXYZ.y&&1==this.maxXYZ.z-this.minXYZ.z)switch(this.minXYZ0=JU.P3.new3(this.minXYZ.x,this.minXYZ.y,this.minXYZ.z),this.maxXYZ0=JU.P3.new3(this.maxXYZ.x,this.maxXYZ.y,this.maxXYZ.z),null!=a&&(a.setMinMax0(this.minXYZ0,
this.maxXYZ0),this.minXYZ.set(p(this.minXYZ0.x),p(this.minXYZ0.y),p(this.minXYZ0.z)),this.maxXYZ.set(p(this.maxXYZ0.x),p(this.maxXYZ0.y),p(this.maxXYZ0.z))),this.dtype){case 3:this.minXYZ.z--,this.maxXYZ.z++;case 2:this.minXYZ.y--,this.maxXYZ.y++;case 1:this.minXYZ.x--,this.maxXYZ.x++}for(var g=(this.maxXYZ.x-this.minXYZ.x)*(this.maxXYZ.y-this.minXYZ.y)*(this.maxXYZ.z-this.minXYZ.z),h=this.asc.checkSpecial?this.noSymmetryCount*e*g:0<this.symmetryRange?this.noSymmetryCount*e:1,f=Array(h),d=0;d<this.noSymmetryCount;d++)this.asc.atoms[d+
this.firstSymmetryAtom].bsSymmetry=JU.BS.newN(e*(g+1));var d=0,k=U(g,0);this.unitCellTranslations=Array(g);var j=g=0,m=Math.abs(this.symmetryRange),n=0!=this.symmetryRange,r=0>this.symmetryRange,s=0<this.symmetryRange;n&&(this.rminx=this.rminy=this.rminz=3.4028235E38,this.rmaxx=this.rmaxy=this.rmaxz=-3.4028235E38);var q=this.symmetry,l=q;this.latticeOp=q.getLatticeOp();this.checkAll=c||1==this.asc.atomSetCount&&this.asc.checkSpecial&&0<=this.latticeOp;this.latticeOnly=this.asc.checkLatticeOnly&&0<=
this.latticeOp;var W=null,C=q.getSpaceGroupOperation(0);this.doPackUnitCell&&(W=new JU.P3,this.ptOffset.set(0,0,0));for(var v=this.minXYZ.x;v<this.maxXYZ.x;v++)for(var D=this.minXYZ.y;D<this.maxXYZ.y;D++)for(var B=this.minXYZ.z;B<this.maxXYZ.z;B++)if(this.unitCellTranslations[g]=JU.V3.new3(v,D,B),k[g++]=555+100*v+10*D+B,!(0!=v||0!=D||0!=B||0==f.length)){for(d=0;d<this.noSymmetryCount;d++){j=this.asc.atoms[this.firstSymmetryAtom+d];null!=a&&(q=a.getAtomSymmetry(j,this.symmetry),q!==l&&(0==q.getSpaceGroupOperationCount()&&
this.finalizeSymmetry(l=q),C=q.getSpaceGroupOperation(0)));var w=JU.P3.newP(j);C.rotTrans(w);q.toCartesian(w,!1);if(this.doPackUnitCell)if(q.toUnitCell(w,this.ptOffset),W.setT(w),q.toFractional(W,!1),null==b)j.setT(W);else if(1E-4>j.distance(W))b.set(j.index);else{b.clear(j.index);continue}null!=b&&j.bsSymmetry.clearAll();j.bsSymmetry.set(g*e);j.bsSymmetry.set(0);n&&this.setSymmetryMinMax(w);d<h&&(f[d]=w)}r&&(this.rminx-=m,this.rminy-=m,this.rminz-=m,this.rmaxx+=m,this.rmaxy+=m,this.rmaxz+=m);j=d=
this.symmetryAddAtoms(0,0,0,0,d,g*e,f,a,!1)}s&&(this.rminx-=m,this.rminy-=m,this.rminz-=m,this.rmaxx+=m,this.rmaxy+=m,this.rmaxz+=m);g=0;for(v=this.minXYZ.x;v<this.maxXYZ.x;v++)for(D=this.minXYZ.y;D<this.maxXYZ.y;D++)for(B=this.minXYZ.z;B<this.maxXYZ.z;B++)if(g++,0!=v||0!=D||0!=B)d=this.symmetryAddAtoms(v,D,B,j,d,g*e,f,a,c);g*this.noSymmetryCount==this.asc.ac-this.firstSymmetryAtom&&this.duplicateAtomProperties(g);this.setSymmetryOps();this.asc.setAtomSetAuxiliaryInfo("presymmetryAtomIndex",Integer.$valueOf(this.firstSymmetryAtom));
this.asc.setAtomSetAuxiliaryInfo("presymmetryAtomCount",Integer.$valueOf(this.noSymmetryCount));this.asc.setAtomSetAuxiliaryInfo("latticeDesignation",q.getLatticeDesignation());this.asc.setAtomSetAuxiliaryInfo("unitCellRange",k);this.asc.setAtomSetAuxiliaryInfo("unitCellTranslations",this.unitCellTranslations);this.notionalUnitCell=R(6,0);this.reset()}},"J.adapter.smarter.MSInterface,JU.BS,~B");d(c$,"symmetryAddAtoms",function(a,b,c,e,g,h,f,d,k){var j=0==e,m=this.bondCount0>this.asc.bondIndex0&&this.applySymmetryToBonds,
n=m?U(this.noSymmetryCount,0):null;this.doPackUnitCell&&this.ptOffset.set(a,b,c);var r=this.symmetryRange*this.symmetryRange,s=0>this.symmetryRange,q=0<this.symmetryRange,l=j&&q,q=(new Boolean(q&!j)).valueOf(),p=this.symmetry.getSpaceGroupOperationCount(),C=1==p&&!this.doPackUnitCell?!1:this.asc.checkSpecial,v=s||q,D=C||v,B=C||l,w=this.symmetry;s&&(e=this.noSymmetryCount);for(var s=this.firstSymmetryAtom+this.noSymmetryCount,x=new JU.P3,A=null,I="\x00",F=0;F<p;F++)if(!(j&&0==F||this.latticeOnly&&
0<F&&F!=this.latticeOp)){for(var O=k?0:C?g:q?e:0,M=0==this.asc.vibScale?w.getSpinOp(F):this.asc.vibScale,P=this.firstSymmetryAtom;P<s;P++){var G=this.asc.atoms[P];if(!G.ignoreSymmetry&&(null==this.asc.bsAtoms||this.asc.bsAtoms.get(P))){null==d?w.newSpaceGroupPoint(F,G,x,a,b,c):(w=d.getAtomSymmetry(G,this.symmetry),w.newSpaceGroupPoint(F,G,x,a,b,c),A=w.getSpaceGroupOperationCode(F),null!=A&&(I=A.charAt(0),w=d.getSymmetryFromCode(A),0==w.getSpaceGroupOperationCount()&&this.finalizeSymmetry(w)));var N=
JU.P3.newP(x);w.toCartesian(N,!1);if(this.doPackUnitCell&&(w.toUnitCell(N,this.ptOffset),x.setT(N),w.toFractional(x,!1),!this.isWithinCell(this.dtype,x,this.minXYZ0.x,this.maxXYZ0.x,this.minXYZ0.y,this.maxXYZ0.y,this.minXYZ0.z,this.maxXYZ0.z,this.packingError)))continue;l&&this.setSymmetryMinMax(N);var z=null;if(D){var y=3.4028235E38;if(v&&!this.isInSymmetryRange(N))continue;for(var t=G.atomName,L=null==A?G.altLoc:I,u=this.checkAll?this.asc.ac:O;0<=--u;){var E=f[u];if(null!=E){E=N.distanceSquared(E);
if(C&&1E-4>E){z=this.asc.atoms[this.firstSymmetryAtom+u];if((null==z.atomName||z.atomName.equals(t))&&z.altLoc==L)break;z=null}q&&(u<e&&E<y)&&(y=E)}}if(q&&y>r)continue}u=G.atomSite;if(null!=z)m&&(n[u]=z.index),z.bsSymmetry.set(h+F),z.bsSymmetry.set(F);else if(m&&(n[u]=this.asc.ac),z=this.asc.newCloneAtom(G),null!=this.asc.bsAtoms&&this.asc.bsAtoms.set(z.index),z.setT(x),0!=M&&null!=z.vib&&(w.getSpaceGroupOperation(F).rotate(z.vib),z.vib.scale(M),System.out.println("vib for iSym "+F+" "+z+" "+z.vib)),
z.atomSite=u,null!=A&&(z.altLoc=I),z.bsSymmetry=JU.BSUtil.newAndSetBit(h+F),z.bsSymmetry.set(F),B&&(f[g++]=N),G=G.tensors,null!=G){z.tensors=null;for(u=G.size();0<=--u;)N=G.get(u),null!=N&&(1==p?z.addTensor(N.copyTensor(),null,!1):this.addRotatedTensor(z,N,F,!1,w))}}}if(m){O=this.asc.bonds;M=this.asc.atoms;for(P=this.asc.bondIndex0;P<this.bondCount0;P++)u=O[P],z=M[u.atomIndex1],G=M[u.atomIndex2],null==z||null==G||(z=n[z.atomSite],G=n[G.atomSite],(z>=s||G>=s)&&this.asc.addNewBondWithOrder(z,G,u.order))}}return g},
"~N,~N,~N,~N,~N,~N,~A,J.adapter.smarter.MSInterface,~B");d(c$,"duplicateAtomProperties",function(a){var b=this.asc.getAtomSetAuxiliaryInfoValue(-1,"atomProperties");if(null!=b)for(var c,e=b.entrySet().iterator();e.hasNext()&&((c=e.next())||1);){var g=c.getKey(),h=c.getValue();if(S(h,String)){for(var f=h,d=new JU.SB,h=a;0<=--h;)d.append(f);b.put(g,d.toString())}else{g=h;f=R(g.length*a,0);for(h=a;0<=--h;)System.arraycopy(g,0,f,h*g.length,g.length)}}},"~N");d(c$,"finalizeSymmetry",function(a){var b=
this.asc.getAtomSetAuxiliaryInfoValue(-1,"spaceGroup");a.setFinalOperations(b,this.asc.atoms,this.firstSymmetryAtom,this.noSymmetryCount,this.doNormalize,this.filterSymop);(null!=this.filterSymop||null==b||b.equals("unspecified!"))&&this.asc.setAtomSetSpaceGroupName(a.getSpaceGroupName())},"J.api.SymmetryInterface");d(c$,"setSymmetryOps",function(){var a=this.symmetry.getSpaceGroupOperationCount();if(0<a){for(var b=Array(a),c=0;c<a;c++)b[c]=""+this.symmetry.getSpaceGroupXyz(c,this.doNormalize);this.asc.setAtomSetAuxiliaryInfo("symmetryOperations",
b);this.asc.setAtomSetAuxiliaryInfo("symmetryOps",this.symmetry.getSymmetryOperations())}this.asc.setAtomSetAuxiliaryInfo("symmetryCount",Integer.$valueOf(a))});d(c$,"applySymmetryBio",function(a,b,c,e){if(null!=this.latticeCells&&0!=this.latticeCells[0])JU.Logger.error("Cannot apply biomolecule when lattice cells are indicated");else{var g=0<=e.indexOf("BYCHAIN")?1:0<=e.indexOf("BYSYMOP")?2:0;this.doNormalize=!1;var h=a.get("biomts");if(!(2>h.size())){this.symmetry=null;Float.isNaN(b[0])||this.setNotionalUnitCell(b,
null,this.unitCellOffset);this.getSymmetry().setSpaceGroup(this.doNormalize);this.addSpaceGroupOperation(null,"x,y,z");a=a.get("name");this.asc.setAtomSetSpaceGroupName(a);a=h.size();this.applySymmetryToBonds=c;this.bondCount0=this.asc.bondCount;b=(c=this.bondCount0>this.asc.bondIndex0&&c)?U(this.asc.ac,0):null;this.firstSymmetryAtom=this.asc.getLastAtomSetAtomIndex();var f=this.asc.ac,d=new java.util.Hashtable,k=0,j=this.asc.atoms;switch(g){case 1:for(g=f;--g>=this.firstSymmetryAtom;){var m=Integer.$valueOf(j[g].chainID),
n=d.get(m);null==n&&(k++,d.put(m,n=new JU.BS));n.set(g)}this.asc.bsAtoms=new JU.BS;for(g=0;g<k;g++)this.asc.bsAtoms.set(f+g),m=new J.adapter.smarter.Atom,m.set(0,0,0),m.radius=16,this.asc.addAtom(m);for(var r=0,s,d=d.entrySet().iterator();d.hasNext()&&((s=d.next())||1);){m=j[f+r++];n=s.getValue();for(g=n.nextSetBit(0);0<=g;g=n.nextSetBit(g+1))m.add(j[g]);m.scale(1/n.cardinality());m.atomName="Pt"+r;m.chainID=s.getKey().intValue()}this.firstSymmetryAtom=f;f+=k;break;case 2:this.asc.bsAtoms=new JU.BS;
this.asc.bsAtoms.set(f);m=j[f]=new J.adapter.smarter.Atom;m.set(0,0,0);for(g=f;--g>=this.firstSymmetryAtom;)m.add(j[g]);m.scale(1/(f-this.firstSymmetryAtom));m.atomName="Pt";m.radius=16;this.firstSymmetryAtom=f++}0<=e.indexOf("#<")&&(a=Math.min(a,JU.PT.parseInt(e.substring(e.indexOf("#<")+2))-1),e=JU.PT.rep(e,"#<","_<"));for(s=this.firstSymmetryAtom;s<f;s++)j[s].bsSymmetry=JU.BSUtil.newAndSetBit(0);for(g=1;g<a;g++){if(0<=e.indexOf("!#")){if(0<=e.indexOf("!#"+(g+1)+";"))continue}else if(0<=e.indexOf("#")&&
0>e.indexOf("#"+(g+1)+";"))continue;k=h.get(g);for(s=this.firstSymmetryAtom;s<f;s++)if(null==this.asc.bsAtoms||this.asc.bsAtoms.get(s))try{var q=j[s].atomSite,l;c&&(b[q]=this.asc.ac);l=this.asc.newCloneAtom(j[s]);null!=this.asc.bsAtoms&&this.asc.bsAtoms.set(l.index);l.atomSite=q;k.rotTrans(l);l.bsSymmetry=JU.BSUtil.newAndSetBit(g);if(c)for(var p=this.asc.bondIndex0;p<this.bondCount0;p++){var C=this.asc.bonds[p],v=b[j[C.atomIndex1].atomSite],D=b[j[C.atomIndex2].atomSite];(v>=f||D>=f)&&this.asc.addNewBondWithOrder(v,
D,C.order)}}catch(B){if(Y(B,Exception))this.asc.errorMessage="appendAtomCollection error: "+B;else throw B;}0<g&&this.symmetry.addBioMoleculeOperation(k,!1)}this.noSymmetryCount=f-this.firstSymmetryAtom;this.asc.setAtomSetAuxiliaryInfo("presymmetryAtomIndex",Integer.$valueOf(this.firstSymmetryAtom));this.asc.setAtomSetAuxiliaryInfo("presymmetryAtomCount",Integer.$valueOf(this.noSymmetryCount));this.asc.setAtomSetAuxiliaryInfo("biosymmetryCount",Integer.$valueOf(a));this.asc.setAtomSetAuxiliaryInfo("biosymmetry",
this.symmetry);this.finalizeSymmetry(this.symmetry);this.setSymmetryOps();this.reset()}}},"java.util.Map,~A,~B,~S");d(c$,"reset",function(){this.asc.coordinatesAreFractional=!1;this.asc.setAtomSetAuxiliaryInfo("hasSymmetry",Boolean.TRUE);this.asc.setGlobalBoolean(1)});d(c$,"addRotatedTensor",function(a,b,c,e,g){null==this.ptTemp&&(this.ptTemp=new JU.P3,this.mTemp=new JU.M3);return a.addTensor(J.api.Interface.getUtil("Tensor").setFromEigenVectors(g.rotateAxes(c,b.eigenVectors,this.ptTemp,this.mTemp),
b.eigenValues,b.isIsotropic?"iso":b.type,b.id,b),null,e)},"J.adapter.smarter.Atom,JU.Tensor,~N,~B,J.api.SymmetryInterface");d(c$,"setTensors",function(){for(var a=this.asc.ac,b=this.asc.getLastAtomSetAtomIndex();b<a;b++){var c=this.asc.atoms[b];null!=c.anisoBorU&&(c.addTensor(this.symmetry.getTensor(c.anisoBorU),null,!1),Float.isNaN(c.bfactor)&&(c.bfactor=100*c.anisoBorU[7]),c.anisoBorU=null)}});d(c$,"setTimeReversal",function(a,b){this.symmetry.setTimeReversal(a,b)},"~N,~N");d(c$,"rotateToSuperCell",
function(a){null!=this.matSupercell&&this.matSupercell.rotate(a)},"JU.V3");d(c$,"setVibVectors",function(){if(0<this.nVib||0>this.asc.iSet||!this.vibsFractional)return this.nVib;for(var a=this.asc.getAtomSetAtomIndex(this.asc.iSet),b=this.asc.ac;--b>=a;)if(null!=this.asc.atoms[b].vib){var c=new JU.Vibration;c.setT(this.asc.atoms[b].vib);c.modDim=-2;this.symmetry.toCartesian(c,!0);this.asc.atoms[b].vib=c;this.nVib++}return this.nVib});d(c$,"trimAtomSet",function(){this.symmetry.setMinMaxLatticeParameters(this.minXYZ,
this.maxXYZ);var a=this.asc.bsAtoms,b=this.asc.atoms;null==a&&(a=this.asc.bsAtoms=JU.BSUtil.newBitSet2(0,this.asc.ac));for(var c=a.nextSetBit(0);0<=c;c=a.nextSetBit(c+1))this.isWithinCell(this.dtype,b[c],this.minXYZ.x,this.maxXYZ.x,this.minXYZ.y,this.maxXYZ.y,this.minXYZ.z,this.maxXYZ.z,this.packingError)||a.clear(c)});T(c$,"PARTICLE_NONE",0,"PARTICLE_CHAIN",1,"PARTICLE_SYMOP",2)});E("J.api");ba(J.api,"SymmetryInterface");E("JS");Q(["J.api.SymmetryInterface"],"JS.Symmetry","java.lang.Float java.util.Hashtable JU.BS $.Lst $.M3 $.M4 $.P3 $.SB $.V3 JM.Atom JS.PointGroup $.SpaceGroup $.SymmetryInfo $.SymmetryOperation $.UnitCell JU.Escape $.Logger $.SimpleUnitCell".split(" "),
function(){c$=K(function(){this.unitCell=this.symmetryInfo=this.spaceGroup=this.pointGroup=null;this.$isBio=!1;H(this,arguments)},JS,"Symmetry",null,J.api.SymmetryInterface);d(c$,"isBio",function(){return this.$isBio});I(c$,function(){});l(c$,"setPointGroup",function(a,b,c,e,g,h){this.pointGroup=JS.PointGroup.getPointGroup(null==a?null:a.pointGroup,b,c,e,g,h);return this},"J.api.SymmetryInterface,~A,JU.BS,~B,~N,~N");l(c$,"getPointGroupName",function(){return this.pointGroup.getName()});l(c$,"getPointGroupInfo",
function(a,b,c,e,g,h){return!b&&!c&&null!=this.pointGroup.textInfo?this.pointGroup.textInfo:b&&this.pointGroup.isDrawType(e,g,h)?this.pointGroup.drawInfo:c&&null!=this.pointGroup.info?this.pointGroup.info:this.pointGroup.getInfo(a,b,c,e,g,h)},"~N,~B,~B,~S,~N,~N");d(c$,"setSpaceGroup",function(a){null==this.spaceGroup&&(this.spaceGroup=JS.SpaceGroup.getNull(!0).set(a))},"~B");d(c$,"addSpaceGroupOperation",function(a,b){return this.spaceGroup.addSymmetry(a,b,!1)},"~S,~N");d(c$,"addBioMoleculeOperation",
function(a,b){this.$isBio=this.spaceGroup.isBio=!0;return this.spaceGroup.addSymmetry((b?"!":"")+"[[bio"+a,0,!1)},"JU.M4,~B");l(c$,"setLattice",function(a){this.spaceGroup.setLatticeParam(a)},"~N");d(c$,"getSpaceGroup",function(){return this.spaceGroup});l(c$,"setSpaceGroupFrom",function(a){this.spaceGroup=a.getSpaceGroup()},"J.api.SymmetryInterface");l(c$,"createSpaceGroup",function(a,b,c){this.spaceGroup=JS.SpaceGroup.createSpaceGroup(a,b,c);null!=this.spaceGroup&&JU.Logger.debugging&&JU.Logger.debug("using generated space group "+
this.spaceGroup.dumpInfo(null));return null!=this.spaceGroup},"~N,~S,~O");l(c$,"getSpaceGroupInfoStr",function(a,b){return JS.SpaceGroup.getInfo(a,b)},"~S,J.api.SymmetryInterface");l(c$,"getLatticeDesignation",function(){return this.spaceGroup.getLatticeDesignation()});l(c$,"setFinalOperations",function(a,b,c,e,g,h){if(null!=a&&(a.startsWith("bio")||0<=a.indexOf(" *(")))this.spaceGroup.name=a;if(null!=h){var f=new JU.Lst;f.addLast(this.spaceGroup.operations[0]);for(var d=1;d<this.spaceGroup.operationCount;d++)h.contains(" "+
(d+1)+" ")&&f.addLast(this.spaceGroup.operations[d]);this.spaceGroup=JS.SpaceGroup.createSpaceGroup(-1,a+" *("+h.trim()+")",f)}this.spaceGroup.setFinalOperations(b,c,e,g)},"~S,~A,~N,~N,~B,~S");d(c$,"getSpaceGroupOperation",function(a){return a>=this.spaceGroup.operations.length?null:null==this.spaceGroup.finalOperations?this.spaceGroup.operations[a]:this.spaceGroup.finalOperations[a]},"~N");l(c$,"getSpaceGroupXyz",function(a,b){return this.spaceGroup.getXyz(a,b)},"~N,~B");d(c$,"newSpaceGroupPoint",
function(a,b,c,e,g,h){null==this.spaceGroup.finalOperations?(this.spaceGroup.operations[a].isFinalized||this.spaceGroup.operations[a].doFinalize(),this.spaceGroup.operations[a].newPoint(b,c,e,g,h)):this.spaceGroup.finalOperations[a].newPoint(b,c,e,g,h)},"~N,JU.P3,JU.P3,~N,~N,~N");l(c$,"rotateAxes",function(a,b,c,e){return 0==a?b:this.spaceGroup.finalOperations[a].rotateAxes(b,this.unitCell,c,e)},"~N,~A,JU.P3,JU.M3");l(c$,"getSpaceGroupOperationCode",function(a){return this.spaceGroup.operations[a].subsystemCode},
"~N");l(c$,"setTimeReversal",function(a,b){this.spaceGroup.operations[a].setTimeReversal(b)},"~N,~N");l(c$,"getSpinOp",function(a){return this.spaceGroup.operations[a].getSpinOp()},"~N");l(c$,"addLatticeVectors",function(a){return this.spaceGroup.addLatticeVectors(a)},"JU.Lst");l(c$,"getLatticeOp",function(){return this.spaceGroup.latticeOp});l(c$,"getOperationRsVs",function(a){return(null==this.spaceGroup.finalOperations?this.spaceGroup.operations:this.spaceGroup.finalOperations)[a].rsvs},"~N");
l(c$,"getSiteMultiplicity",function(a){return this.spaceGroup.getSiteMultiplicity(a,this.unitCell)},"JU.P3");l(c$,"addOp",function(a,b,c,e){this.spaceGroup.isSSG=!0;b=JS.SymmetryOperation.getXYZFromRsVs(b,c,!1);c=this.spaceGroup.addSymmetry(b,-1,!0);this.spaceGroup.operations[c].setSigma(a,e);return b},"~S,JU.Matrix,JU.Matrix,JU.Matrix");l(c$,"getMatrixFromString",function(a,b,c){return JS.SymmetryOperation.getMatrixFromString(null,a,b,c)},"~S,~A,~B,~N");d(c$,"getSpaceGroupName",function(){return null!=
this.symmetryInfo?this.symmetryInfo.sgName:null!=this.spaceGroup?this.spaceGroup.getName():null!=this.unitCell&&0<this.unitCell.name.length?"cell="+this.unitCell.name:""});l(c$,"getSpaceGroupOperationCount",function(){return null!=this.symmetryInfo?this.symmetryInfo.symmetryOperations.length:null!=this.spaceGroup&&null!=this.spaceGroup.finalOperations?this.spaceGroup.finalOperations.length:0});l(c$,"getCoordinatesAreFractional",function(){return null==this.symmetryInfo||this.symmetryInfo.coordinatesAreFractional});
l(c$,"getCellRange",function(){return this.symmetryInfo.cellRange});l(c$,"getSymmetryInfoStr",function(){return this.symmetryInfo.infoStr});d(c$,"getSymmetryOperations",function(){return null==this.symmetryInfo?this.spaceGroup.finalOperations:this.symmetryInfo.symmetryOperations});l(c$,"isPeriodic",function(){return null==this.symmetryInfo?!1:this.symmetryInfo.isPeriodic()});l(c$,"setSymmetryInfo",function(a,b,c){this.symmetryInfo=new JS.SymmetryInfo;c=this.symmetryInfo.setSymmetryInfo(b,c);null!=
c&&(this.setUnitCell(c,b.containsKey("jmolData")),this.unitCell.moreInfo=b.get("moreUnitCellInfo"),b.put("infoUnitCell",this.getUnitCellAsArray(!1)),this.setOffsetPt(b.get("unitCellOffset")),b=b.get("matUnitCellOrientation"),null!=b&&this.initializeOrientation(b),JU.Logger.debugging&&JU.Logger.debug("symmetryInfos["+a+"]:\n"+this.unitCell.dumpInfo(!0)))},"~N,java.util.Map,~A");l(c$,"haveUnitCell",function(){return null!=this.unitCell});l(c$,"checkUnitCell",function(a,b,c,e){a.toFractional(c,e);return c.x>=
b.x-1-0.02&&c.x<=b.x+0.02&&c.y>=b.y-1-0.02&&c.y<=b.y+0.02&&c.z>=b.z-1-0.02&&c.z<=b.z+0.02},"J.api.SymmetryInterface,JU.P3,JU.P3,~B");d(c$,"setUnitCell",function(a,b){this.unitCell=JS.UnitCell.newA(a,b)},"~A,~B");l(c$,"unitCellEquals",function(a){return a.unitCell.isSameAs(this.unitCell)},"J.api.SymmetryInterface");l(c$,"getUnitCellState",function(){return null==this.unitCell?"":this.unitCell.getState()});l(c$,"getMoreInfo",function(){return this.unitCell.moreInfo});d(c$,"getUnitsymmetryInfo",function(){return this.unitCell.dumpInfo(!1)});
l(c$,"initializeOrientation",function(a){this.unitCell.initOrientation(a)},"JU.M3");l(c$,"unitize",function(a){this.unitCell.unitize(a)},"JU.P3");l(c$,"toUnitCell",function(a,b){this.unitCell.toUnitCell(a,b)},"JU.P3,JU.P3");d(c$,"toCartesian",function(a,b){this.$isBio||this.unitCell.toCartesian(a,b)},"JU.T3,~B");l(c$,"toSupercell",function(a){return this.unitCell.toSupercell(a)},"JU.P3");d(c$,"toFractional",function(a,b){this.$isBio||this.unitCell.toFractional(a,b)},"JU.T3,~B");d(c$,"getNotionalUnitCell",
function(){return this.unitCell.getNotionalUnitCell()});l(c$,"getUnitCellAsArray",function(a){return this.unitCell.getUnitCellAsArray(a)},"~B");l(c$,"getTensor",function(a){if(null==a)return null;null==this.unitCell&&(this.unitCell=JS.UnitCell.newA([1,1,1,90,90,90],!0));return this.unitCell.getTensor(a)},"~A");l(c$,"getUnitCellVertices",function(){return this.unitCell.getVertices()});l(c$,"getCartesianOffset",function(){return this.unitCell.getCartesianOffset()});l(c$,"getFractionalOffset",function(){return this.unitCell.getFractionalOffset()});
l(c$,"setOffsetPt",function(a){this.unitCell.setOffset(a)},"JU.T3");l(c$,"setOffset",function(a){var b=new JU.P3;JU.SimpleUnitCell.ijkToPoint3f(a,b,0);this.unitCell.setOffset(b)},"~N");l(c$,"getUnitCellMultiplier",function(){return this.unitCell.getUnitCellMultiplier()});l(c$,"getCanonicalCopy",function(a,b){return this.unitCell.getCanonicalCopy(a,b)},"~N,~B");l(c$,"getUnitCellInfoType",function(a){return this.unitCell.getInfo(a)},"~N");l(c$,"getUnitCellInfo",function(){return this.unitCell.dumpInfo(!1)});
l(c$,"isSlab",function(){return this.unitCell.isSlab()});l(c$,"isPolymer",function(){return this.unitCell.isPolymer()});l(c$,"setMinMaxLatticeParameters",function(a,b){this.unitCell.setMinMaxLatticeParameters(a,b)},"JU.P3i,JU.P3i");l(c$,"checkDistance",function(a,b,c,e,g,h,f,d){return this.unitCell.checkDistance(a,b,c,e,g,h,f,d)},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");l(c$,"getUnitCellVectors",function(){return this.unitCell.getUnitCellVectors()});l(c$,"getUnitCell",function(a,b,c){this.unitCell=JS.UnitCell.newP(a,
b);null!=c&&(this.unitCell.name=c);return this},"~A,~B,~S");l(c$,"isSupercell",function(){return this.unitCell.isSupercell()});l(c$,"notInCentroid",function(a,b,c){try{var e=new JU.BS,g=b.nextSetBit(0),h=a.getMolecules(),f=h.length,d=a.at,k=h[f-1].firstAtomIndex==a.am[d[g].mi].firstAtomIndex,j=new JU.P3,m=1==c[6];a=f;a:for(;0<=--a&&b.get(h[a].firstAtomIndex);){var n=h[a].atomList;j.set(0,0,0);for(var g=0,r=n.nextSetBit(0);0<=r;r=n.nextSetBit(r+1))if(k||m)if(j.setT(d[r]),this.isNotCentroid(j,1,c,m))k&&
e.set(r);else{if(!k)continue a}else j.add(d[r]),g++;(m||0<g&&this.isNotCentroid(j,g,c,!1))&&e.or(n)}return e}catch(s){if(Y(s,Exception))return null;throw s;}},"JM.ModelSet,JU.BS,~A");d(c$,"isNotCentroid",function(a,b,c,e){a.scale(1/b);this.toFractional(a,!1);return e?a.x+5E-6<=c[0]||a.x-5E-6>c[3]||a.y+5E-6<=c[1]||a.y-5E-6>c[4]||a.z+5E-6<=c[2]||a.z-5E-6>c[5]:a.x+5E-6<=c[0]||a.x+5E-5>c[3]||a.y+5E-6<=c[1]||a.y+5E-5>c[4]||a.z+5E-6<=c[2]||a.z+5E-5>c[5]},"JU.P3,~N,~A,~B");l(c$,"getSpaceGroupInfo",function(a,
b,c,e,g,h,f){var d=null,k=null,j=null,m=null,n=!0;if(null==c){0>=b&&(b=S(g,JM.Atom)?g.mi:a.vwr.am.cmi);var r=!1;if(0>b)d="no single current model";else if(!(r=null!=(j=a.am[b].biosymmetry))&&null==(j=a.getUnitCell(b)))d="not applicable";null!=d?(k=new java.util.Hashtable,k.put("spaceGroupInfo",d),k.put("symmetryInfo","")):null==g&&(null==f&&0!=e)&&(k=a.getInfo(b,"spaceGroupInfo"));if(null!=k)return k;k=new java.util.Hashtable;null==g&&(null==f&&0==e)&&a.setInfo(b,"spaceGroupInfo",k);c=j.getSpaceGroupName();
b=j.getSymmetryOperations();var s=r?j.spaceGroup:null,q="";if(null==b)d="\n no symmetry operations";else{n=!r;r?this.spaceGroup=JS.SpaceGroup.getNull(!1).set(!1):this.setSpaceGroup(!1);for(var d="\n"+b.length+" symmetry operations:",m=Array(b.length),l=null,p=0;p<b.length;p++){var C=b[p],v=C.xyz,D=r?this.addBioMoleculeOperation(s.finalOperations[p],!1):this.addSpaceGroupOperation("="+v,p+1);if(!(0>D)){C=this.getSpaceGroupOperation(p);if(0!=C.timeReversal||0<C.modDim)n=!1;l=C.setCentering(l,!1);q+=
";"+v;m[p]=0<e&&e-1!=D?null:C.getDescription(a,j,g,h,f);null!=m[p]&&(d+="\n"+(p+1)+"\t"+m[p][0]+"\t"+m[p][2])}}}q=q.substring(q.indexOf(";")+1);0<=c.indexOf("[--]")&&(c=q)}else k=new java.util.Hashtable;k.put("spaceGroupName",c);null!=m&&(k.put("operations",m),k.put("symmetryInfo",d));if(n){if(a=this.getSpaceGroupInfoStr(c,j),null==a||a.equals("?"))a="could not identify space group from name: "+c+'\nformat: show spacegroup "2" or "P 2c" or "C m m m" or "x, y, z;-x ,-y, -z"'}else a=c;k.put("spaceGroupInfo",
a);return k},"JM.ModelSet,~N,~S,~N,JU.P3,JU.P3,~S,~S");l(c$,"getSymmetryInfoString",function(a,b,c,e,g,h,f){b=this.getSpaceGroupInfo(a,b,null,c,e,g,h,f);if(null==b)return"";a="label".equals(f);f="fmatrix".equals(f);b=b.get("operations");if(null==b)return"";e=new JU.SB;c--;for(g=0;g<b.length;g++)if(!(null==b[g]||0<=c&&c!=g)){if(null!=h)return b[g][3];0<e.length()&&e.appendC("\n");f?e.append(JS.SymmetryOperation.cleanMatrix(b[g][10])).append("\t"):a||(0>c&&e.appendI(g+1).append("\t"),e.append(b[g][0]).append("\t"));
e.append(b[g][2])}0==e.length()&&null!=h&&e.append("draw "+h+"* delete");return e.toString()},"JM.ModelSet,~N,~N,JU.P3,JU.P3,~S,~S");l(c$,"getSymmetryInfo",function(a,b,c,e,g,h,f,d,k,j){if(null!=d)return this.getSymmetryInfoString(a,b,h,f,d,null==k?"sym":k,1826248716==j?"label":null);b=e.isBio();var m=h,n=null;if(null==g){var r=e.getSymmetryOperations();if(null==r||0==h||Math.abs(h)>r.length)return 135176==j?"draw ID sym_* delete":"";g=0<h?r[m=h-1].xyz:r[m=-1-h].xyz;n=r[m].centering}else m=h=0;r=
a.getSymTemp(!0);r.setSpaceGroup(!1);g=b?r.addBioMoleculeOperation(e.spaceGroup.finalOperations[m],0>h):r.addSpaceGroupOperation((0>h?"!":"=")+g,Math.abs(h));if(0>g)return"";h=r.getSpaceGroupOperation(g);b||(h.centering=n);if(null!=f||0<=c)f=JU.P3.newP(null==f?a.at[c]:f);if(135266320==j){if(b)return"";r.setUnitCell(e.getNotionalUnitCell(),!1);e.toFractional(f,!1);if(Float.isNaN(f.x))return"";j=new JU.P3;r.newSpaceGroupPoint(g,f,j,0,0,0);r.toCartesian(j,!1);return j}f=h.getDescription(a,e,f,d,null==
k?"sym":k);a=f[9].intValue();switch(j){case 135266306:return f;case 1073742001:return[f[0],f[1],f[2],JU.Escape.eP(f[4]),JU.Escape.eP(f[5]),JU.Escape.eP(f[6]),JU.Escape.eP(f[7]),JU.Escape.eP(f[8]),""+f[9],""+JU.Escape.e(f[10])];case 1073741982:return f[0];default:case 1826248716:return f[2];case 135176:return f[3];case 1073742178:return f[5];case 12289:return f[6];case 135266320:return f[7];case 1073741854:case 135266319:return 0==a==(135266319==j)?f[8]:null;case 135266305:return f[9];case 12:return f[10]}},
"JM.ModelSet,~N,~N,J.api.SymmetryInterface,~S,~N,JU.P3,JU.P3,~S,~N");l(c$,"fcoord",function(a){return JS.SymmetryOperation.fcoord(a)},"JU.T3");l(c$,"getV0abc",function(a){if(null==this.unitCell)return null;var b,c=!1;if(S(a,String)){var e=a;0>e.indexOf(";")&&(e+=";0,0,0");(c=e.startsWith("!"))&&(e=e.substring(1));a=new JS.Symmetry;a.setSpaceGroup(!1);b=a.addSpaceGroupOperation("="+e,0);if(0>b)return null;b=a.getSpaceGroupOperation(b);b.doFinalize()}else b=S(a,JU.M3)?JU.M4.newMV(a,new JU.P3):a;a=Array(4);
var g=new JU.P3,e=new JU.M3;b.getRotationScale(e);b.getTranslation(g);c?(e.invert(),e.transpose(),e.rotate(g),g.scale(-1)):e.transpose();this.unitCell.toCartesian(g,!1);a[0]=JU.V3.newV(g);a[1]=JU.V3.new3(1,0,0);a[2]=JU.V3.new3(0,1,0);a[3]=JU.V3.new3(0,0,1);for(b=1;4>b;b++)e.rotate(a[b]),this.unitCell.toCartesian(a[b],!0);return a},"~O");l(c$,"getQuaternionRotation",function(a){return null==this.unitCell?null:this.unitCell.getQuaternionRotation(a)},"~S")});E("JS");Q(["JU.P3","$.V3"],"JS.PointGroup",
"java.lang.Float java.util.Hashtable JU.Lst $.Quat $.SB JU.BSUtil $.Escape $.Logger $.Txt".split(" "),function(){c$=K(function(){this.textInfo=this.info=this.drawInfo=null;this.drawType="";this.drawIndex=0;this.scale=NaN;this.axes=this.nAxes=null;this.radius=this.nAtoms=0;this.distanceTolerance=0.2;this.linearTolerance=8;this.cosTolerance=0.99;this.name="C_1?";this.vTemp=this.principalPlane=this.principalAxis=null;this.centerAtomIndex=-1;this.haveInversionCenter=!1;this.bsAtoms=this.elements=this.atoms=
this.points=this.center=null;this.maxElement=0;this.eCounts=null;this.nOps=0;ea("JS.PointGroup.Operation")||JS.PointGroup.$PointGroup$Operation$();H(this,arguments)},JS,"PointGroup");V(c$,function(){this.nAxes=U(JS.PointGroup.maxAxis,0);this.axes=Array(JS.PointGroup.maxAxis);this.vTemp=new JU.V3;this.center=new JU.P3});d(c$,"getName",function(){return this.name});c$.getPointGroup=d(c$,"getPointGroup",function(a,b,c,e,g,h){var f=new JS.PointGroup;return f.set(a,b,c,e,g,h)?f:a},"JS.PointGroup,~A,JU.BS,~B,~N,~N");
I(c$,function(){});d(c$,"isEqual",function(a){if(null==a||this.linearTolerance!=a.linearTolerance||this.distanceTolerance!=a.distanceTolerance||this.nAtoms!=a.nAtoms||!this.bsAtoms.equals(a.bsAtoms))return!1;for(var b=0;b<this.nAtoms;b++)if(this.elements[b]!=a.elements[b]||0!=this.points[b].distance(a.points[b]))return!1;return!0},"JS.PointGroup");d(c$,"set",function(a,b,c,e,g,h){this.distanceTolerance=g;this.linearTolerance=h;this.bsAtoms=c;this.cosTolerance=Math.cos(3.141592653589793*(h/180));if(!this.getAtomsAndElements(b,
c))return JU.Logger.error("Too many atoms for point group calculation"),this.name="point group not determined -- ac > 100 -- select fewer atoms and try again.",!0;this.getElementCounts();if(e){b=Array(this.points.length);for(c=this.points.length;0<=--c;)b[c]=JU.P3.newP(this.points[c]),e=this.atoms[c].getVibrationVector(),null!=e&&b[c].add(e);this.points=b}if(this.isEqual(a))return!1;this.findInversionCenter();if(this.isLinear(this.points))return this.name=this.haveInversionCenter?"D(infinity)h":"C(infinity)v",
this.vTemp.sub2(this.points[1],this.points[0]),this.addAxis(16,this.vTemp),this.principalAxis=this.axes[16][0],this.haveInversionCenter&&(this.axes[0]=Array(1),this.principalPlane=this.axes[0][this.nAxes[0]++]=X(JS.PointGroup.Operation,this,null,this.vTemp)),!0;this.axes[0]=Array(15);a=0;this.findCAxes();a=this.findPlanes();this.findAdditionalAxes(a);b=this.getHighestOrder();if(1<this.nAxes[17])this.name=1<this.nAxes[19]?this.haveInversionCenter?"Ih":"I":1<this.nAxes[18]?this.haveInversionCenter?
"Oh":"O":0<a?this.haveInversionCenter?"Th":"Td":"T";else if(2>b){if(1==a)return this.name="Cs",!0;if(this.haveInversionCenter)return this.name="Ci",!0;this.name="C1"}else 1==b%2&&0<this.nAxes[16]||0==b%2&&1<this.nAxes[16]?(this.principalAxis=this.setPrincipalAxis(b,a),0==a?this.name=14>b?"S"+b:"D"+(b-14):(b=14>b?A(b/2):b-14,this.name=a==b?"D"+b+"d":"D"+b+"h")):0==a?(this.principalAxis=this.axes[b][0],this.name=14>b?"S"+b:"C"+(b-14)):a==b-14?(this.principalAxis=this.axes[b][0],this.name="C"+a+"v"):
(this.principalAxis=this.axes[14>b?b+14:b][0],this.principalPlane=this.axes[0][0],this.name="C"+(14>b?b/2:b-14)+"h");return!0},"JS.PointGroup,~A,JU.BS,~B,~N,~N");d(c$,"setPrincipalAxis",function(a,b){var c=this.setPrincipalPlane(a,b);if(0==b&&14>a||1==this.nAxes[a])return 0<b&&14>a&&(a=14+A(a/2)),this.axes[a][0];if(null==c)return null;for(var e=0;e<this.nAxes[16];e++)if(this.isParallel(c.normalOrAxis,this.axes[16][e].normalOrAxis))return 0!=e&&(c=this.axes[16][0],this.axes[16][0]=this.axes[16][e],
this.axes[16][e]=c),this.axes[16][0];return null},"~N,~N");d(c$,"setPrincipalPlane",function(a,b){if(1==b)return this.principalPlane=this.axes[0][0];if(0==b||b==a-14)return null;for(var c=0;c<b;c++)for(var e=0,g=0;e<b;e++)if(this.isPerpendicular(this.axes[0][c].normalOrAxis,this.axes[0][e].normalOrAxis)&&2<++g)return 0!=c&&(e=this.axes[0][0],this.axes[0][0]=this.axes[0][c],this.axes[0][c]=e),this.principalPlane=this.axes[0][0];return null},"~N,~N");d(c$,"getAtomsAndElements",function(a,b){var c=JU.BSUtil.cardinalityOf(b);
if(100<c)return!1;this.points=Array(c);this.atoms=Array(c);this.elements=U(c,0);if(0==c)return!0;this.nAtoms=0;for(c=b.nextSetBit(0);0<=c;c=b.nextSetBit(c+1)){this.points[this.nAtoms]=JU.P3.newP(a[c]);this.atoms[this.nAtoms]=a[c];var e=1+Math.max(3,a[c].getCovalentBondCount());this.elements[this.nAtoms]=a[c].getElementNumber()*e;this.center.add(this.points[this.nAtoms++])}this.center.scale(1/this.nAtoms);for(c=this.nAtoms;0<=--c;)e=this.center.distance(this.points[c]),e<this.distanceTolerance&&(this.centerAtomIndex=
c),this.radius=Math.max(this.radius,e);return!0},"~A,JU.BS");d(c$,"findInversionCenter",function(){if(this.haveInversionCenter=this.checkOperation(null,this.center,-1))this.axes[1]=Array(1),this.axes[1][0]=X(JS.PointGroup.Operation,this,null)});d(c$,"checkOperation",function(a,b,c){var e=new JU.P3,g=0;c=14>c;var h=this.points.length;a:for(;0<=--h&&g<this.points.length;)if(h==this.centerAtomIndex)g++;else{var f=this.points[h],d=this.elements[h];null!=a?(e.sub2(f,b),a.transformP2(e,e).add(b)):e.setT(f);
c&&(this.vTemp.sub2(b,e),e.scaleAdd2(2,this.vTemp,e));if((null!=a||c)&&e.distance(f)<this.distanceTolerance)g++;else for(f=this.points.length;0<=--f;)if(!(f==h||this.elements[f]!=d)&&e.distance(this.points[f])<this.distanceTolerance){g++;continue a}}return g==this.points.length},"JU.Quat,JU.P3,~N");d(c$,"isLinear",function(a){var b=null;if(2>a.length)return!1;for(var c=a.length;0<=--c;)if(c!=this.centerAtomIndex)if(null==b)b=new JU.V3,b.sub2(a[c],this.center),b.normalize(),this.vTemp.setT(b);else if(this.vTemp.sub2(a[c],
this.center),this.vTemp.normalize(),!this.isParallel(b,this.vTemp))return!1;return!0},"~A");d(c$,"isParallel",function(a,b){return Math.abs(a.dot(b))>=this.cosTolerance},"JU.V3,JU.V3");d(c$,"isPerpendicular",function(a,b){return Math.abs(a.dot(b))<=1-this.cosTolerance},"JU.V3,JU.V3");d(c$,"getElementCounts",function(){for(var a=this.points.length;0<=--a;){var b=this.elements[a];b>this.maxElement&&(this.maxElement=b)}this.eCounts=U(++this.maxElement,0);for(a=this.points.length;0<=--a;)this.eCounts[this.elements[a]]++});
d(c$,"findCAxes",function(){for(var a=new JU.V3,b=new JU.V3,c=new JU.V3,e=this.points.length;0<=--e;)if(e!=this.centerAtomIndex)for(var g=this.points[e],h=this.elements[e],f=this.points.length;--f>e;){var d=this.points[f];if(this.elements[f]==h)if(a.sub2(g,this.center),b.sub2(d,this.center),a.normalize(),b.normalize(),this.isParallel(a,b))this.getAllAxes(a);else{this.nAxes[16]<JS.PointGroup.axesMaxN[16]&&(c.ave(g,d),c.sub(this.center),this.getAllAxes(c));var d=6.283185307179586/a.angle(b),k=A(Math.floor(d+
0.01));if(0.02>=d-k&&!((k+=14)>=JS.PointGroup.maxAxis)&&this.nAxes[k]<JS.PointGroup.axesMaxN[k])c.cross(a,b),this.checkAxisOrder(k,c,this.center)}}g=Array(2*this.nAxes[16]);for(e=0;e<g.length;e++)g[e]=new JU.V3;for(e=f=0;e<this.nAxes[16];e++)g[f++].setT(this.axes[16][e].normalOrAxis),g[f].setT(this.axes[16][e].normalOrAxis),g[f++].scale(-1);for(e=g.length;2<=--e;)for(f=e;1<=--f;)for(h=f;0<=--h;)c.add2(g[e],g[f]),c.add(g[h]),1>c.length()||this.checkAxisOrder(17,c,this.center);f=2147483647;g=-1;for(e=
0;e<this.maxElement;e++)this.eCounts[e]<f&&2<this.eCounts[e]&&(f=this.eCounts[e],g=e);e=0;a:for(;e<this.points.length-2;e++)if(this.elements[e]==g)for(f=e+1;f<this.points.length-1;f++)if(this.elements[f]==g)for(h=f+1;h<this.points.length;h++)if(this.elements[h]==g&&(a.sub2(this.points[e],this.points[f]),b.sub2(this.points[e],this.points[h]),a.normalize(),b.normalize(),c.cross(a,b),this.getAllAxes(c),a.add2(this.points[e],this.points[f]),a.add(this.points[h]),a.normalize(),this.isParallel(a,c)||this.getAllAxes(a),
this.nAxes[19]==JS.PointGroup.axesMaxN[19]))break a;g=Array(this.maxElement);for(e=this.points.length;0<=--e;){h=this.elements[e];if(null==g[h])g[h]=new JU.V3;else if(this.haveInversionCenter)continue;g[h].add(this.points[e])}if(!this.haveInversionCenter)for(e=0;e<this.maxElement;e++)null!=g[e]&&g[e].scale(1/this.eCounts[e]);for(e=0;e<this.maxElement;e++)if(null!=g[e])for(f=0;f<this.maxElement;f++)e==f||null==g[f]||(this.haveInversionCenter?a.cross(g[e],g[f]):a.sub2(g[e],g[f]),this.checkAxisOrder(16,
a,this.center));return this.getHighestOrder()});d(c$,"getAllAxes",function(a){for(var b=16;b<JS.PointGroup.maxAxis;b++)this.nAxes[b]<JS.PointGroup.axesMaxN[b]&&this.checkAxisOrder(b,a,this.center)},"JU.V3");d(c$,"getHighestOrder",function(){for(var a=0,a=14;1<--a&&0==this.nAxes[a];);if(1<a)return a+14<JS.PointGroup.maxAxis&&0<this.nAxes[a+14]?a+14:a;for(a=JS.PointGroup.maxAxis;1<--a&&0==this.nAxes[a];);return a});d(c$,"checkAxisOrder",function(a,b,c){switch(a){case 22:if(0<this.nAxes[17])return!1;
case 20:case 18:if(0<this.nAxes[19])return!1;break;case 17:if(0<this.nAxes[22])return!1;break;case 19:if(0<this.nAxes[18]||0<this.nAxes[20]||0<this.nAxes[22])return!1}b.normalize();if(this.haveAxis(a,b))return!1;var e=JU.Quat.newVA(b,(14>a?180:0)+A(360/(a%14)));if(!this.checkOperation(e,c,a))return!1;this.addAxis(a,b);switch(a){case 16:this.checkAxisOrder(4,b,c);break;case 17:this.checkAxisOrder(3,b,c);this.haveInversionCenter&&this.addAxis(6,b);break;case 18:this.addAxis(16,b);this.checkAxisOrder(4,
b,c);this.checkAxisOrder(8,b,c);break;case 19:this.checkAxisOrder(5,b,c);this.haveInversionCenter&&this.addAxis(10,b);break;case 20:this.addAxis(16,b);this.addAxis(17,b);this.checkAxisOrder(3,b,c);this.checkAxisOrder(6,b,c);this.checkAxisOrder(12,b,c);break;case 22:this.addAxis(16,b),this.addAxis(18,b)}return!0},"~N,JU.V3,JU.P3");d(c$,"addAxis",function(a,b){this.haveAxis(a,b)||(null==this.axes[a]&&(this.axes[a]=Array(JS.PointGroup.axesMaxN[a])),this.axes[a][this.nAxes[a]++]=X(JS.PointGroup.Operation,
this,null,b,a))},"~N,JU.V3");d(c$,"haveAxis",function(a,b){if(this.nAxes[a]==JS.PointGroup.axesMaxN[a])return!0;if(0<this.nAxes[a])for(var c=this.nAxes[a];0<=--c;)if(this.isParallel(b,this.axes[a][c].normalOrAxis))return!0;return!1},"~N,JU.V3");d(c$,"findPlanes",function(){for(var a=new JU.P3,b=new JU.V3,c=new JU.V3,e=new JU.V3,g=0,h=1<this.getHighestOrder(),f=this.points.length;0<=--f;)if(f!=this.centerAtomIndex)for(var d=this.points[f],k=this.elements[f],j=this.points.length;--j>f;)if(!(h&&this.elements[j]!=
k)&&(g=this.points[j],a.add2(d,g),a.scale(0.5),b.sub2(d,this.center),c.sub2(g,this.center),this.isParallel(b,c)||(e.cross(b,c),e.normalize(),this.getPlane(e)),e.sub2(g,d),e.normalize(),g=this.getPlane(e),g==JS.PointGroup.axesMaxN[0]))return g;if(h)for(f=16;f<JS.PointGroup.maxAxis;f++)for(j=0;j<this.nAxes[f];j++)g=this.getPlane(this.axes[f][j].normalOrAxis);return g});d(c$,"getPlane",function(a){!this.haveAxis(0,a)&&this.checkOperation(JU.Quat.newVA(a,180),this.center,-1)&&(this.axes[0][this.nAxes[0]++]=
X(JS.PointGroup.Operation,this,null,a));return this.nAxes[0]},"JU.V3");d(c$,"findAdditionalAxes",function(a){var b=this.axes[0],c=0;if(1<a&&(c=a+14)<JS.PointGroup.maxAxis&&0==this.nAxes[c])this.vTemp.cross(b[0].normalOrAxis,b[1].normalOrAxis),!this.checkAxisOrder(c,this.vTemp,this.center)&&2<a&&(this.vTemp.cross(b[1].normalOrAxis,b[2].normalOrAxis),this.checkAxisOrder(c-1,this.vTemp,this.center));if(0==this.nAxes[16]&&2<a)for(c=0;c<a-1;c++)for(var e=c+1;e<a;e++)this.vTemp.add2(b[1].normalOrAxis,b[2].normalOrAxis),
this.checkAxisOrder(16,this.vTemp,this.center)},"~N");d(c$,"getInfo",function(a,b,c,e,g,h){this.info=c?new java.util.Hashtable:null;var f=new JU.V3,d;0==h&&(h=1);this.scale=h;c=U(4,2,0);for(var k=1;k<JS.PointGroup.maxAxis;k++)for(var j=this.nAxes[k];0<=--j;)c[this.axes[k][j].type][0]++;var m=(new JU.SB).append("# ").appendI(this.nAtoms).append(" atoms\n");if(b){this.drawType=e=(b=null!=e&&0<e.length)?e:"";this.drawIndex=g;var n=e.equalsIgnoreCase("Cn"),r=e.equalsIgnoreCase("Sn");m.append("set perspectivedepth off;\n");
var s="_"+a+"_";b||m.append("draw pg0").append(s).append("* delete;draw pgva").append(s).append("* delete;draw pgvp").append(s).append("* delete;");if(!b||e.equalsIgnoreCase("Ci"))m.append("draw pg0").append(s).append(this.haveInversionCenter?"inv ":" ").append(JU.Escape.eP(this.center)).append(this.haveInversionCenter?'"i";\n':";\n");for(var q=0.1,k=2;k<JS.PointGroup.maxAxis;k++)if(14==k&&(q=0.1),0!=this.nAxes[k]){a=this.axes[k][0].getLabel();var q=q+0.25,l=h*this.radius+q;if(!b||e.equalsIgnoreCase(a)||
n&&14<=k||r&&14>k)for(j=0;j<this.nAxes[k];j++)if(!(0<g&&j+1!=g)){d=this.axes[k][j];f.add2(d.normalOrAxis,this.center);2==d.type&&(l=-l);m.append("draw pgva").append(s).append(a).append("_").appendI(j+1).append(" width 0.05 scale ").appendF(l).append(" ").append(JU.Escape.eP(f));f.scaleAdd2(-2,d.normalOrAxis,f);var p=null!=this.principalAxis&&d.index==this.principalAxis.index;m.append(JU.Escape.eP(f)).append('"').append(a).append(p?"*":"").append('" color ').append(p?"red":2==d.type?"blue":"yellow").append(";\n")}}if(!b||
e.equalsIgnoreCase("Cs"))for(j=0;j<this.nAxes[0];j++)0<g&&j+1!=g||(d=this.axes[0][j],m.append("draw pgvp").append(s).appendI(j+1).append("disk scale ").appendF(2*h*this.radius).append(" CIRCLE PLANE ").append(JU.Escape.eP(this.center)),f.add2(d.normalOrAxis,this.center),m.append(JU.Escape.eP(f)).append(" color translucent yellow;\n"),f.add2(d.normalOrAxis,this.center),m.append("draw pgvp").append(s).appendI(j+1).append("ring width 0.05 scale ").appendF(2*h*this.radius).append(" arc ").append(JU.Escape.eP(f)),
f.scaleAdd2(-2,d.normalOrAxis,f),m.append(JU.Escape.eP(f)),f.add3(0.011,0.012,0.013),m.append(JU.Escape.eP(f)).append("{0 360 0.5} color ").append(null!=this.principalPlane&&d.index==this.principalPlane.index?"red":"blue").append(";\n"));m.append("# name=").append(this.name);m.append(", nCi=").appendI(this.haveInversionCenter?1:0);m.append(", nCs=").appendI(this.nAxes[0]);m.append(", nCn=").appendI(c[1][0]);m.append(", nSn=").appendI(c[2][0]);m.append(": ");for(k=JS.PointGroup.maxAxis;2<=--k;)0<this.nAxes[k]&&
(m.append(" n").append(14>k?"S":"C").appendI(k%14),m.append("=").appendI(this.nAxes[k]));m.append(";\n");return this.drawInfo=m.toString()}j=0;e=1;k=this.haveInversionCenter?"Ci":"center";this.haveInversionCenter&&e++;null==this.info?m.append("\n\n").append(this.name).append("\t").append(k).append("\t").append(JU.Escape.eP(this.center)):this.info.put(k,this.center);for(k=JS.PointGroup.maxAxis;0<=--k;)if(0<this.nAxes[k]){j=JS.PointGroup.nUnique[k];a=this.axes[k][0].getLabel();null==this.info?m.append("\n\n").append(this.name).append("\tn").append(a).append("\t").appendI(this.nAxes[k]).append("\t").appendI(j):
this.info.put("n"+a,Integer.$valueOf(this.nAxes[k]));j*=this.nAxes[k];e+=j;c[this.axes[k][0].type][1]+=j;g=null==this.info?null:new JU.Lst;for(j=0;j<this.nAxes[k];j++)null==g?m.append("\n").append(this.name).append("\t").append(a).append("_").appendI(j+1).append("\t").appendO(this.axes[k][j].normalOrAxis):g.addLast(this.axes[k][j].normalOrAxis);null!=this.info&&this.info.put(a,g)}if(null==this.info)return m.append("\n"),m.append("\n").append(this.name).append("\ttype\tnType\tnUnique"),m.append("\n").append(this.name).append("\tE\t  1\t  1"),
j=this.haveInversionCenter?1:0,m.append("\n").append(this.name).append("\tCi\t  ").appendI(j).append("\t  ").appendI(j),m.append("\n").append(this.name).append("\tCs\t"),JU.Txt.rightJustify(m,"    ",this.nAxes[0]+"\t"),JU.Txt.rightJustify(m,"    ",this.nAxes[0]+"\n"),m.append(this.name).append("\tCn\t"),JU.Txt.rightJustify(m,"    ",c[1][0]+"\t"),JU.Txt.rightJustify(m,"    ",c[1][1]+"\n"),m.append(this.name).append("\tSn\t"),JU.Txt.rightJustify(m,"    ",c[2][0]+"\t"),JU.Txt.rightJustify(m,"    ",c[2][1]+
"\n"),m.append(this.name).append("\t\tTOTAL\t"),JU.Txt.rightJustify(m,"    ",e+"\n"),this.textInfo=m.toString();this.info.put("name",this.name);this.info.put("nAtoms",Integer.$valueOf(this.nAtoms));this.info.put("nTotal",Integer.$valueOf(e));this.info.put("nCi",Integer.$valueOf(this.haveInversionCenter?1:0));this.info.put("nCs",Integer.$valueOf(this.nAxes[0]));this.info.put("nCn",Integer.$valueOf(c[1][0]));this.info.put("nSn",Integer.$valueOf(c[2][0]));this.info.put("distanceTolerance",Float.$valueOf(this.distanceTolerance));
this.info.put("linearTolerance",Float.$valueOf(this.linearTolerance));this.info.put("detail",m.toString().$replace("\n",";"));null!=this.principalAxis&&0<this.principalAxis.index&&this.info.put("principalAxis",this.principalAxis.normalOrAxis);null!=this.principalPlane&&0<this.principalPlane.index&&this.info.put("principalPlane",this.principalPlane.normalOrAxis);return this.info},"~N,~B,~B,~S,~N,~N");d(c$,"isDrawType",function(a,b,c){return null!=this.drawInfo&&this.drawType.equals(null==a?"":a)&&
this.drawIndex==b&&this.scale==c},"~S,~N,~N");c$.$PointGroup$Operation$=function(){da(self.c$);c$=K(function(){fa(this,arguments);this.index=this.order=this.type=0;this.normalOrAxis=null;H(this,arguments)},JS.PointGroup,"Operation");I(c$,function(){this.index=++this.b$["JS.PointGroup"].nOps;this.type=3;this.order=1;JU.Logger.debugging&&JU.Logger.debug("new operation -- "+JS.PointGroup.typeNames[this.type])});I(c$,function(a,b){this.index=++this.b$["JS.PointGroup"].nOps;this.type=14>b?2:1;this.order=
b%14;this.normalOrAxis=JU.Quat.newVA(a,180).getNormal();JU.Logger.debugging&&JU.Logger.debug("new operation -- "+(this.order==b?"S":"C")+this.order+" "+this.normalOrAxis)},"JU.V3,~N");I(c$,function(a){null!=a&&(this.index=++this.b$["JS.PointGroup"].nOps,this.type=0,this.normalOrAxis=JU.Quat.newVA(a,180).getNormal(),JU.Logger.debugging&&JU.Logger.debug("new operation -- plane "+this.normalOrAxis))},"JU.V3");d(c$,"getLabel",function(){switch(this.type){case 0:return"Cs";case 2:return"S"+this.order;
default:return"C"+this.order}});c$=ca()};T(c$,"axesMaxN",[15,0,0,1,3,1,10,0,1,0,6,0,1,0,0,0,15,10,6,6,10,0,1],"nUnique",[1,0,0,2,2,4,2,0,4,0,4,0,4,0,0,0,1,2,2,4,2,0,4],"s3",3,"s4",4,"s5",5,"s6",6,"s8",8,"s10",10,"s12",12,"firstProper",14,"c2",16,"c3",17,"c4",18,"c5",19,"c6",20,"c8",22);c$.maxAxis=c$.prototype.maxAxis=JS.PointGroup.axesMaxN.length;T(c$,"ATOM_COUNT_MAX",100,"OPERATION_PLANE",0,"OPERATION_PROPER_AXIS",1,"OPERATION_IMPROPER_AXIS",2,"OPERATION_INVERSION_CENTER",3,"typeNames",["plane",
"proper axis","improper axis","center of inversion"])});E("JS");Q(null,"JS.SpaceGroup","java.lang.Character $.Float java.util.Arrays $.Hashtable JU.AU $.Lst $.M4 $.P3 $.PT $.SB JS.HallInfo $.HallTranslation $.SymmetryOperation JU.Logger".split(" "),function(){c$=K(function(){this.index=0;this.isSSG=!1;this.name="unknown!";this.hmSymbolAbbrShort=this.hmSymbolAlternative=this.hmSymbolAbbr=this.hmSymbolExt=this.hmSymbolFull=this.hmSymbol=this.hallSymbol=null;this.axisChoice=this.uniqueAxis=this.ambiguityType=
"\x00";this.hallInfo=this.intlTableNumberExt=this.intlTableNumberFull=this.intlTableNumber=null;this.latticeParameter=0;this.latticeCode="\x00";this.finalOperations=this.operations=null;this.operationCount=0;this.latticeOp=-1;this.xyzList=null;this.modDim=0;this.doNormalize=!0;this.isBilbao=this.isBio=!1;this.latticeOps=null;H(this,arguments)},JS,"SpaceGroup");c$.getNull=d(c$,"getNull",function(a){JS.SpaceGroup.getSpaceGroups();return new JS.SpaceGroup(null,a)},"~B");I(c$,function(a,b){this.index=
++JS.SpaceGroup.sgIndex;this.init(b&&null==a);b&&null!=a&&this.buildSpaceGroup(a)},"~S,~B");d(c$,"set",function(a){this.doNormalize=a;return this},"~B");d(c$,"init",function(a){this.xyzList=new java.util.Hashtable;this.operationCount=0;a&&this.addSymmetry("x,y,z",0,!1)},"~B");c$.createSpaceGroup=d(c$,"createSpaceGroup",function(a,b,c){var e=null;0<=a?e=JS.SpaceGroup.getSpaceGroups()[a]:(e=S(c,JU.Lst)?JS.SpaceGroup.createSGFromList(b,c):JS.SpaceGroup.determineSpaceGroupNA(b,c),null==e&&(e=JS.SpaceGroup.createSpaceGroupN(b)));
null!=e&&e.generateAllOperators(null);return e},"~N,~S,~O");c$.createSGFromList=d(c$,"createSGFromList",function(a,b){var c=new JS.SpaceGroup("0;--;--;--",!0);c.doNormalize=!1;c.name=a;for(var e=b.size(),g=0;g<e;g++){var d=b.get(g);if(S(d,JS.SymmetryOperation)){var f=c.addOp(d,d.xyz,!1);c.operations[f].timeReversal=d.timeReversal}else c.addSymmetrySM("xyz matrix:"+d,d)}e=c.getDerivedSpaceGroup();null!=e&&(c=e);return c},"~S,JU.Lst");d(c$,"addSymmetry",function(a,b,c){a=a.toLowerCase();return 0>a.indexOf("[[")&&
0>a.indexOf("x4")&&0>a.indexOf(";")&&(0>a.indexOf("x")||0>a.indexOf("y")||0>a.indexOf("z"))?-1:this.addOperation(a,b,c)},"~S,~N,~B");d(c$,"setFinalOperations",function(a,b,c,e){if(null==this.hallInfo&&0!=this.latticeParameter){var g=new JS.HallInfo(JS.HallTranslation.getHallLatticeEquivalent(this.latticeParameter));this.generateAllOperators(g)}this.finalOperations=null;this.isBio=0<=this.name.indexOf("bio");this.index>=JS.SpaceGroup.getSpaceGroups().length&&(!this.isBio&&0>this.name.indexOf("SSG:")&&
0>this.name.indexOf("[subsystem"))&&(g=this.getDerivedSpaceGroup(),null!=g&&(this.name=g.getName()));this.finalOperations=Array(this.operationCount);if(e&&0<c&&null!=a){this.finalOperations[0]=new JS.SymmetryOperation(this.operations[0],a,b,c,!0);var d=a[b],f=JU.P3.newP(d);this.finalOperations[0].rotTrans(f);if(1E-4<f.distance(d))for(g=0;g<c;g++)d=a[b+g],f.setT(d),this.finalOperations[0].rotTrans(f),d.setT(f)}d=null;for(g=0;g<this.operationCount;g++)this.finalOperations[g]=new JS.SymmetryOperation(this.operations[g],
a,b,c,e),d=this.finalOperations[g].setCentering(d,!0)},"~A,~N,~N,~B");d(c$,"getOperationCount",function(){return this.finalOperations.length});d(c$,"getOperation",function(a){return this.finalOperations[a]},"~N");d(c$,"getXyz",function(a,b){return null==this.finalOperations?this.operations[a].getXyz(b):this.finalOperations[a].getXyz(b)},"~N,~B");d(c$,"newPoint",function(a,b,c,e,g,d){this.finalOperations[a].newPoint(b,c,e,g,d)},"~N,JU.P3,JU.P3,~N,~N,~N");c$.getInfo=d(c$,"getInfo",function(a,b){var c;
if(null!=b){0<=a.indexOf("[")&&(a=a.substring(0,a.indexOf("[")).trim());if(a.equals("unspecified!"))return"no space group identified in file";c=JS.SpaceGroup.determineSpaceGroupNA(a,b.getNotionalUnitCell())}else{if(a.equalsIgnoreCase("ALL"))return JS.SpaceGroup.dumpAll();if(a.equalsIgnoreCase("ALLSEITZ"))return JS.SpaceGroup.dumpAllSeitz();c=JS.SpaceGroup.determineSpaceGroupN(a);if(null==c)c=JS.SpaceGroup.createSpaceGroupN(a);else{for(var e=new JU.SB;null!=c;)e.append(c.dumpInfo(null)),c=JS.SpaceGroup.determineSpaceGroupNS(a,
c);return e.toString()}}return null==c?"?":c.dumpInfo(b)},"~S,J.api.SymmetryInterface");d(c$,"dumpInfo",function(){var a=this.dumpCanonicalSeitzList();if(S(a,JS.SpaceGroup))return a.dumpInfo(null);var b=(new JU.SB).append("\nHermann-Mauguin symbol: ");b.append(this.hmSymbol).append(0<this.hmSymbolExt.length?":"+this.hmSymbolExt:"").append("\ninternational table number: ").append(this.intlTableNumber).append(0<this.intlTableNumberExt.length?":"+this.intlTableNumberExt:"").append("\n\n").appendI(this.operationCount).append(" operators").append(!this.hallInfo.hallSymbol.equals("--")?
" from Hall symbol "+this.hallInfo.hallSymbol:"").append(": ");for(var c=0;c<this.operationCount;c++)b.append("\n").append(this.operations[c].xyz);b.append("\n\n").append(null==this.hallInfo?"invalid Hall symbol":this.hallInfo.dumpInfo());b.append("\n\ncanonical Seitz: ").append(a).append("\n----------------------------------------------------\n");return b.toString()},"J.api.SymmetryInterface");d(c$,"getName",function(){return this.name});d(c$,"getLatticeDesignation",function(){return this.latticeCode+
": "+JS.HallTranslation.getLatticeDesignation(this.latticeParameter)});d(c$,"setLatticeParam",function(a){this.latticeParameter=a;this.latticeCode=JS.HallTranslation.getLatticeCode(a);10<a&&(this.latticeParameter=-JS.HallTranslation.getLatticeIndex(this.latticeCode))},"~N");d(c$,"dumpCanonicalSeitzList",function(){null==this.hallInfo&&(this.hallInfo=new JS.HallInfo(this.hallSymbol));this.generateAllOperators(null);var a=this.getCanonicalSeitzList();if(this.index>=JS.SpaceGroup.SG.length){var b=JS.SpaceGroup.findSpaceGroup(a);
if(null!=b)return b}return(0<=this.index&&this.index<JS.SpaceGroup.SG.length?this.hallSymbol+" = ":"")+a});d(c$,"getDerivedSpaceGroup",function(){if(0<=this.index&&this.index<JS.SpaceGroup.SG.length||0<this.modDim||null==this.operations||0==this.operations.length||0!=this.operations[0].timeReversal)return this;null!=this.finalOperations&&this.setFinalOperations(null,0,0,!1);var a=this.getCanonicalSeitzList();return null==a?null:JS.SpaceGroup.findSpaceGroup(a)});d(c$,"getCanonicalSeitzList",function(){for(var a=
Array(this.operationCount),b=0;b<this.operationCount;b++)a[b]=JS.SymmetryOperation.dumpSeitz(this.operations[b],!0);java.util.Arrays.sort(a,0,this.operationCount);for(var c=(new JU.SB).append("\n["),b=0;b<this.operationCount;b++)c.append(a[b].$replace("\t"," ").$replace("\n"," ")).append("; ");c.append("]");return c.toString()});c$.findSpaceGroup=d(c$,"findSpaceGroup",function(a){JS.SpaceGroup.getSpaceGroups();null==JS.SpaceGroup.canonicalSeitzList&&(JS.SpaceGroup.canonicalSeitzList=Array(JS.SpaceGroup.SG.length));
for(var b=0;b<JS.SpaceGroup.SG.length;b++)if(null==JS.SpaceGroup.canonicalSeitzList[b]&&(JS.SpaceGroup.canonicalSeitzList[b]=JS.SpaceGroup.SG[b].dumpCanonicalSeitzList()),0<=JS.SpaceGroup.canonicalSeitzList[b].indexOf(a))return JS.SpaceGroup.SG[b];return null},"~S");c$.dumpAll=d(c$,"dumpAll",function(){var a=new JU.SB;JS.SpaceGroup.getSpaceGroups();for(var b=0;b<JS.SpaceGroup.SG.length;b++)a.append("\n----------------------\n"+JS.SpaceGroup.SG[b].dumpInfo(null));return a.toString()});c$.dumpAllSeitz=
d(c$,"dumpAllSeitz",function(){JS.SpaceGroup.getSpaceGroups();for(var a=new JU.SB,b=0;b<JS.SpaceGroup.SG.length;b++)a.append("\n").appendO(JS.SpaceGroup.SG[b].dumpCanonicalSeitzList());return a.toString()});d(c$,"setLattice",function(a,b){this.latticeCode=a;this.latticeParameter=JS.HallTranslation.getLatticeIndex(a);b||(this.latticeParameter=-this.latticeParameter)},"~S,~B");c$.createSpaceGroupN=d(c$,"createSpaceGroupN",function(a){JS.SpaceGroup.getSpaceGroups();a=a.trim();var b=JS.SpaceGroup.determineSpaceGroupN(a),
c;null==b&&(c=new JS.HallInfo(a),0<c.nRotations?(b=new JS.SpaceGroup("0;--;--;"+a,!0),b.hallInfo=c):0<=a.indexOf(",")&&(b=new JS.SpaceGroup("0;--;--;--",!0),b.doNormalize=!1,b.generateOperatorsFromXyzInfo(a)));null!=b&&b.generateAllOperators(null);return b},"~S");d(c$,"addOperation",function(a,b,c){if(null==a||3>a.length)return this.init(!1),-1;var e="="==a.charAt(0);e&&(a=a.substring(1));if(this.xyzList.containsKey(a))return this.xyzList.get(a).intValue();a.startsWith("x1,x2,x3,x4")&&0==this.modDim?
(this.xyzList.clear(),this.operationCount=0,this.modDim=JU.PT.parseInt(a.substring(a.lastIndexOf("x")+1))-3):a.equals("x,y,z,m+1")&&(this.xyzList.clear(),this.operationCount=0);b=new JS.SymmetryOperation(null,null,0,b,this.doNormalize);return!b.setMatrixFromXYZ(a,this.modDim,c)?(JU.Logger.error("couldn't interpret symmetry operation: "+a),-1):this.addOp(b,a,e)},"~S,~N,~B");d(c$,"addOp",function(a,b,c){var e=a.xyz+"",g=JU.PT.replaceAllCharacters(e,"+123/","");if(!c){if(this.xyzList.containsKey(e))return this.xyzList.get(e).intValue();
0>this.latticeOp&&(this.xyzList.containsKey(g)?this.latticeOp=this.operationCount:this.xyzList.put(g,Integer.$valueOf(this.operationCount)));this.xyzList.put(e,Integer.$valueOf(this.operationCount))}e.equals(b+"")||this.xyzList.put(b+"",Integer.$valueOf(this.operationCount));null==this.operations&&(this.operations=Array(4));this.operationCount==this.operations.length&&(this.operations=JU.AU.arrayCopyObject(this.operations,2*this.operationCount));this.operations[this.operationCount++]=a;a.index=this.operationCount;
JU.Logger.debugging&&JU.Logger.debug("\naddOperation "+this.operationCount+a.dumpInfo());return this.operationCount-1},"JS.SymmetryOperation,~S,~B");d(c$,"generateOperatorsFromXyzInfo",function(a){this.init(!0);a=JU.PT.split(a.toLowerCase(),";");for(var b=0;b<a.length;b++)this.addSymmetry(a[b],0,!1)},"~S");d(c$,"generateAllOperators",function(a){if(null==a){a=this.hallInfo;if(0<this.operationCount)return;this.operations=Array(4);if(null==this.hallInfo||0==this.hallInfo.nRotations)a=this.hallInfo=
new JS.HallInfo(this.hallSymbol);this.setLattice(this.hallInfo.latticeCode,this.hallInfo.isCentrosymmetric);this.init(!0)}for(var b=new JU.M4,c=new JU.M4,e=Array(7),g=0;7>g;g++)e[g]=new JU.M4;for(g=0;g<a.nRotations;g++){b.setM4(a.rotationTerms[g].seitzMatrix12ths);var d=a.rotationTerms[g].order;e[0].setIdentity();for(var f=this.operationCount,l=1;l<=d;l++){e[l].mul2(b,e[0]);e[0].setM4(e[l]);for(var k=0;k<f;k++){c.mul2(e[l],this.operations[k]);JS.SymmetryOperation.normalizeTranslation(c);var j=JS.SymmetryOperation.getXYZFromMatrix(c,
!0,!0,!0);this.addSymmetrySM(j,c)}}}},"JS.HallInfo");d(c$,"addSymmetrySM",function(a,b){var c=this.addOperation(a,0,!1);0<=c&&this.operations[c].setM4(b);return c},"~S,JU.M4");c$.determineSpaceGroupN=d(c$,"determineSpaceGroupN",function(a){return JS.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,-1)},"~S");c$.determineSpaceGroupNS=d(c$,"determineSpaceGroupNS",function(a,b){return JS.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,b.index)},"~S,JS.SpaceGroup");c$.determineSpaceGroupNA=d(c$,"determineSpaceGroupNA",
function(a,b){return null==b?JS.SpaceGroup.determineSpaceGroup(a,0,0,0,0,0,0,-1):JS.SpaceGroup.determineSpaceGroup(a,b[0],b[1],b[2],b[3],b[4],b[5],-1)},"~S,~A");c$.determineSpaceGroup=d(c$,"determineSpaceGroup",function(a,b,c,e,g,d,f,l){a=JS.SpaceGroup.determineSpaceGroupIndex(a,b,c,e,g,d,f,l);return 0<=a?JS.SpaceGroup.SG[a]:null},"~S,~N,~N,~N,~N,~N,~N,~N");c$.determineSpaceGroupIndex=d(c$,"determineSpaceGroupIndex",function(a,b,c,e,g,d,f,l){JS.SpaceGroup.getSpaceGroups();0>l&&(l=JS.SpaceGroup.SG.length);
a=a.trim().toLowerCase();var k=!1;a.startsWith("bilbao:")&&(k=!0,a=a.substring(7));var j=a.startsWith("hall:")?5:a.startsWith("hm:")?3:0;0<j?a=a.substring(j):a.contains("[")&&(j=5,a=a.substring(0,a.indexOf("[")).trim());var m=a,n,r=!1;a=a.$replace("_"," ");2<=a.length&&(n=0==a.indexOf("-")?2:1,n<a.length&&" "!=a.charAt(n)&&(a=a.substring(0,n)+" "+a.substring(n)),a=a.substring(0,2).toUpperCase()+a.substring(2));var s="";if(0<(n=a.indexOf(":")))s=a.substring(n+1),a=a.substring(0,n).trim(),r=!0;5!=j&&
(!r&&JU.PT.isOneOf(a,JS.SpaceGroup.ambiguousNames))&&(s="?",r=!0);var q=JU.PT.replaceAllCharacters(a," ()",""),p;if(3!=j&&!r)for(n=l;0<=--n;)if(p=JS.SpaceGroup.SG[n],p.hallSymbol.equals(a))return n;if(5!=j){if(3!=j)for(n=l;0<=--n;)if(p=JS.SpaceGroup.SG[n],p.intlTableNumberFull.equals(m))return n;for(n=l;0<=--n;)if(p=JS.SpaceGroup.SG[n],p.hmSymbolFull.equals(m))return n;for(n=l;0<=--n;)if(p=JS.SpaceGroup.SG[n],null!=p.hmSymbolAlternative&&p.hmSymbolAlternative.equals(m))return n;if(r)for(n=l;0<=--n;)if(p=
JS.SpaceGroup.SG[n],p.hmSymbolAbbr.equals(q)&&p.intlTableNumberExt.equals(s))return n;if(r)for(n=l;0<=--n;)if(p=JS.SpaceGroup.SG[n],p.hmSymbolAbbrShort.equals(q)&&p.intlTableNumberExt.equals(s))return n;a=JS.SpaceGroup.determineUniqueAxis(b,c,e,g,d,f);if(!r||"?"==s.charAt(0))for(n=l;0<=--n;)if(p=JS.SpaceGroup.SG[n],p.hmSymbolAbbr.equals(q)||p.hmSymbolAbbrShort.equals(q))switch(p.ambiguityType){case "\x00":return n;case "a":if(p.uniqueAxis==a||"\x00"==a)return n;break;case "o":if(0==s.length){if(p.hmSymbolExt.equals("2"))return n}else if(p.hmSymbolExt.equals(s))return n;
break;case "t":if(0==s.length){if("h"==p.axisChoice)return n}else if((p.axisChoice+"").equals(s))return n}}if(0==s.length)for(n=0;n<l;n++)if(p=JS.SpaceGroup.SG[n],p.intlTableNumber.equals(m)&&(!k||p.isBilbao))return n;return-1},"~S,~N,~N,~N,~N,~N,~N,~N");c$.determineUniqueAxis=d(c$,"determineUniqueAxis",function(a,b,c,e,g,d){return a==b?b==c?"\x00":"c":b==c?"a":c==a?"b":e==g?g==d?"\x00":"c":g==d?"a":d==e?"b":"\x00"},"~N,~N,~N,~N,~N,~N");d(c$,"buildSpaceGroup",function(a){a=JU.PT.split(a.toLowerCase(),
";");this.intlTableNumberFull=a[0].trim();this.isBilbao=5>a.length&&!this.intlTableNumberFull.equals("0");var b=JU.PT.split(this.intlTableNumberFull,":");this.intlTableNumber=b[0];this.intlTableNumberExt=1==b.length?"":b[1];this.ambiguityType="\x00";0<this.intlTableNumberExt.length&&(b=this.intlTableNumberExt,b.startsWith("-")&&(b=b.substring(1)),b.equals("h")||b.equals("r")?(this.ambiguityType="t",this.axisChoice=this.intlTableNumberExt.charAt(0)):this.intlTableNumberExt.startsWith("1")||this.intlTableNumberExt.startsWith("2")?
this.ambiguityType="o":2>=this.intlTableNumberExt.length&&(this.ambiguityType="a",this.uniqueAxis=this.intlTableNumberExt.charAt(0)));this.hmSymbolFull=Character.toUpperCase(a[2].charAt(0))+a[2].substring(1);b=JU.PT.split(this.hmSymbolFull,":");this.hmSymbol=b[0];this.hmSymbolExt=1==b.length?"":b[1];b=this.hmSymbol.indexOf(" -3");1<=b&&0<="admn".indexOf(this.hmSymbol.charAt(b-1))&&(this.hmSymbolAlternative=(this.hmSymbol.substring(0,b)+" 3"+this.hmSymbol.substring(b+3)).toLowerCase());this.hmSymbolAbbr=
JU.PT.rep(this.hmSymbol," ","");this.hmSymbolAbbrShort=JU.PT.rep(this.hmSymbol," 1","");this.hmSymbolAbbrShort=JU.PT.rep(this.hmSymbolAbbrShort," ","");this.hallSymbol=a[3];1<this.hallSymbol.length&&(this.hallSymbol=this.hallSymbol.substring(0,2).toUpperCase()+this.hallSymbol.substring(2));a=this.intlTableNumber+this.hallSymbol;"0"!=this.intlTableNumber.charAt(0)&&JS.SpaceGroup.lastInfo.equals(a)&&(JS.SpaceGroup.ambiguousNames+=this.hmSymbol+";");JS.SpaceGroup.lastInfo=a;this.name=this.hallSymbol+
" ["+this.hmSymbolFull+"] #"+this.intlTableNumber},"~S");c$.getSpaceGroups=d(c$,"getSpaceGroups",function(){return null==JS.SpaceGroup.SG?JS.SpaceGroup.SG=JS.SpaceGroup.createSpaceGroups():JS.SpaceGroup.SG});c$.createSpaceGroups=d(c$,"createSpaceGroups",function(){for(var a=JS.SpaceGroup.STR_SG.length,b=Array(a),c=0;c<a;c++)b[c]=new JS.SpaceGroup(JS.SpaceGroup.STR_SG[c],!0);JS.SpaceGroup.STR_SG=null;return b});d(c$,"addLatticeVectors",function(a){if(0<=this.latticeOp)return!1;for(var b=this.latticeOp=
this.operationCount,c=0;c<a.size();c++){var e=a.get(c),g=p(5==e.length&&Float.isNaN(e[4])?e[3]:-2);-2!=g&&(e=[e[0],e[1],e[2]]);if(e.length>this.modDim+3)return!1;for(var d=0;d<b;d++){var f=new JS.SymmetryOperation(null,null,0,0,this.doNormalize);f.modDim=this.modDim;var l=this.operations[d];f.linearRotTrans=JU.AU.arrayCopyF(l.linearRotTrans,-1);f.setFromMatrix(e,!1);f.xyzOriginal=f.xyz;-2!=g&&f.setTimeReversal(l.timeReversal*g);this.addOp(f,f.xyz,!0)}}return!0},"JU.Lst");d(c$,"getSiteMultiplicity",
function(a,b){for(var c=this.finalOperations.length,e=new JU.Lst,g=c;0<=--g;){var d=JU.P3.newP(a);this.finalOperations[g].rotTrans(d);b.unitize(d);for(var f=e.size();0<=--f;){var l=e.get(f);if(1E-6>d.distanceSquared(l)){d=null;break}}null!=d&&e.addLast(d)}return A(c/e.size())},"JU.P3,JS.UnitCell");d(c$,"getAllLatticeOps",function(){if(0>this.latticeOp||0<this.modDim)return null;if(null==this.latticeOps){this.latticeOps=U(3,0);for(var a=0,b=this.latticeOp;b<this.operationCount;b++){var c=this.finalOperations[b];
3==c.m00+c.m01+c.m02&&(System.out.println("spacegroup "+c),this.latticeOps[a++]=b)}}return this.latticeOps});T(c$,"canonicalSeitzList",null,"NAME_HALL",5,"NAME_HM",3,"sgIndex",-1,"ambiguousNames","","lastInfo","","SG",null,"STR_SG",'1;c1^1;p 1;p 1,2;ci^1;p -1;-p 1,3:b;c2^1;p 1 2 1;p 2y,3:b;c2^1;p 2;p 2y,3:c;c2^1;p 1 1 2;p 2,3:a;c2^1;p 2 1 1;p 2x,4:b;c2^2;p 1 21 1;p 2yb,4:b;c2^2;p 21;p 2yb,4:b*;c2^2;p 1 21 1*;p 2y1,4:c;c2^2;p 1 1 21;p 2c,4:c*;c2^2;p 1 1 21*;p 21,4:a;c2^2;p 21 1 1;p 2xa,4:a*;c2^2;p 21 1 1*;p 2x1,5:b1;c2^3;c 1 2 1;c 2y,5:b1;c2^3;c 2;c 2y,5:b2;c2^3;a 1 2 1;a 2y,5:b3;c2^3;i 1 2 1;i 2y,5:c1;c2^3;a 1 1 2;a 2,5:c2;c2^3;b 1 1 2;b 2,5:c3;c2^3;i 1 1 2;i 2,5:a1;c2^3;b 2 1 1;b 2x,5:a2;c2^3;c 2 1 1;c 2x,5:a3;c2^3;i 2 1 1;i 2x,6:b;cs^1;p 1 m 1;p -2y,6:b;cs^1;p m;p -2y,6:c;cs^1;p 1 1 m;p -2,6:a;cs^1;p m 1 1;p -2x,7:b1;cs^2;p 1 c 1;p -2yc,7:b1;cs^2;p c;p -2yc,7:b2;cs^2;p 1 n 1;p -2yac,7:b2;cs^2;p n;p -2yac,7:b3;cs^2;p 1 a 1;p -2ya,7:b3;cs^2;p a;p -2ya,7:c1;cs^2;p 1 1 a;p -2a,7:c2;cs^2;p 1 1 n;p -2ab,7:c3;cs^2;p 1 1 b;p -2b,7:a1;cs^2;p b 1 1;p -2xb,7:a2;cs^2;p n 1 1;p -2xbc,7:a3;cs^2;p c 1 1;p -2xc,8:b1;cs^3;c 1 m 1;c -2y,8:b1;cs^3;c m;c -2y,8:b2;cs^3;a 1 m 1;a -2y,8:b3;cs^3;i 1 m 1;i -2y,8:b3;cs^3;i m;i -2y,8:c1;cs^3;a 1 1 m;a -2,8:c2;cs^3;b 1 1 m;b -2,8:c3;cs^3;i 1 1 m;i -2,8:a1;cs^3;b m 1 1;b -2x,8:a2;cs^3;c m 1 1;c -2x,8:a3;cs^3;i m 1 1;i -2x,9:b1;cs^4;c 1 c 1;c -2yc,9:b1;cs^4;c c;c -2yc,9:b2;cs^4;a 1 n 1;a -2yab,9:b3;cs^4;i 1 a 1;i -2ya,9:-b1;cs^4;a 1 a 1;a -2ya,9:-b2;cs^4;c 1 n 1;c -2yac,9:-b3;cs^4;i 1 c 1;i -2yc,9:c1;cs^4;a 1 1 a;a -2a,9:c2;cs^4;b 1 1 n;b -2ab,9:c3;cs^4;i 1 1 b;i -2b,9:-c1;cs^4;b 1 1 b;b -2b,9:-c2;cs^4;a 1 1 n;a -2ab,9:-c3;cs^4;i 1 1 a;i -2a,9:a1;cs^4;b b 1 1;b -2xb,9:a2;cs^4;c n 1 1;c -2xac,9:a3;cs^4;i c 1 1;i -2xc,9:-a1;cs^4;c c 1 1;c -2xc,9:-a2;cs^4;b n 1 1;b -2xab,9:-a3;cs^4;i b 1 1;i -2xb,10:b;c2h^1;p 1 2/m 1;-p 2y,10:b;c2h^1;p 2/m;-p 2y,10:c;c2h^1;p 1 1 2/m;-p 2,10:a;c2h^1;p 2/m 1 1;-p 2x,11:b;c2h^2;p 1 21/m 1;-p 2yb,11:b;c2h^2;p 21/m;-p 2yb,11:b*;c2h^2;p 1 21/m 1*;-p 2y1,11:c;c2h^2;p 1 1 21/m;-p 2c,11:c*;c2h^2;p 1 1 21/m*;-p 21,11:a;c2h^2;p 21/m 1 1;-p 2xa,11:a*;c2h^2;p 21/m 1 1*;-p 2x1,12:b1;c2h^3;c 1 2/m 1;-c 2y,12:b1;c2h^3;c 2/m;-c 2y,12:b2;c2h^3;a 1 2/m 1;-a 2y,12:b3;c2h^3;i 1 2/m 1;-i 2y,12:b3;c2h^3;i 2/m;-i 2y,12:c1;c2h^3;a 1 1 2/m;-a 2,12:c2;c2h^3;b 1 1 2/m;-b 2,12:c3;c2h^3;i 1 1 2/m;-i 2,12:a1;c2h^3;b 2/m 1 1;-b 2x,12:a2;c2h^3;c 2/m 1 1;-c 2x,12:a3;c2h^3;i 2/m 1 1;-i 2x,13:b1;c2h^4;p 1 2/c 1;-p 2yc,13:b1;c2h^4;p 2/c;-p 2yc,13:b2;c2h^4;p 1 2/n 1;-p 2yac,13:b2;c2h^4;p 2/n;-p 2yac,13:b3;c2h^4;p 1 2/a 1;-p 2ya,13:b3;c2h^4;p 2/a;-p 2ya,13:c1;c2h^4;p 1 1 2/a;-p 2a,13:c2;c2h^4;p 1 1 2/n;-p 2ab,13:c3;c2h^4;p 1 1 2/b;-p 2b,13:a1;c2h^4;p 2/b 1 1;-p 2xb,13:a2;c2h^4;p 2/n 1 1;-p 2xbc,13:a3;c2h^4;p 2/c 1 1;-p 2xc,14:b1;c2h^5;p 1 21/c 1;-p 2ybc,14:b1;c2h^5;p 21/c;-p 2ybc,14:b2;c2h^5;p 1 21/n 1;-p 2yn,14:b2;c2h^5;p 21/n;-p 2yn,14:b3;c2h^5;p 1 21/a 1;-p 2yab,14:b3;c2h^5;p 21/a;-p 2yab,14:c1;c2h^5;p 1 1 21/a;-p 2ac,14:c2;c2h^5;p 1 1 21/n;-p 2n,14:c3;c2h^5;p 1 1 21/b;-p 2bc,14:a1;c2h^5;p 21/b 1 1;-p 2xab,14:a2;c2h^5;p 21/n 1 1;-p 2xn,14:a3;c2h^5;p 21/c 1 1;-p 2xac,15:b1;c2h^6;c 1 2/c 1;-c 2yc,15:b1;c2h^6;c 2/c;-c 2yc,15:b2;c2h^6;a 1 2/n 1;-a 2yab,15:b3;c2h^6;i 1 2/a 1;-i 2ya,15:b3;c2h^6;i 2/a;-i 2ya,15:-b1;c2h^6;a 1 2/a 1;-a 2ya,15:-b2;c2h^6;c 1 2/n 1;-c 2yac,15:-b2;c2h^6;c 2/n;-c 2yac,15:-b3;c2h^6;i 1 2/c 1;-i 2yc,15:-b3;c2h^6;i 2/c;-i 2yc,15:c1;c2h^6;a 1 1 2/a;-a 2a,15:c2;c2h^6;b 1 1 2/n;-b 2ab,15:c3;c2h^6;i 1 1 2/b;-i 2b,15:-c1;c2h^6;b 1 1 2/b;-b 2b,15:-c2;c2h^6;a 1 1 2/n;-a 2ab,15:-c3;c2h^6;i 1 1 2/a;-i 2a,15:a1;c2h^6;b 2/b 1 1;-b 2xb,15:a2;c2h^6;c 2/n 1 1;-c 2xac,15:a3;c2h^6;i 2/c 1 1;-i 2xc,15:-a1;c2h^6;c 2/c 1 1;-c 2xc,15:-a2;c2h^6;b 2/n 1 1;-b 2xab,15:-a3;c2h^6;i 2/b 1 1;-i 2xb,16;d2^1;p 2 2 2;p 2 2,17;d2^2;p 2 2 21;p 2c 2,17*;d2^2;p 2 2 21*;p 21 2,17:cab;d2^2;p 21 2 2;p 2a 2a,17:bca;d2^2;p 2 21 2;p 2 2b,18;d2^3;p 21 21 2;p 2 2ab,18:cab;d2^3;p 2 21 21;p 2bc 2,18:bca;d2^3;p 21 2 21;p 2ac 2ac,19;d2^4;p 21 21 21;p 2ac 2ab,20;d2^5;c 2 2 21;c 2c 2,20*;d2^5;c 2 2 21*;c 21 2,20:cab;d2^5;a 21 2 2;a 2a 2a,20:cab*;d2^5;a 21 2 2*;a 2a 21,20:bca;d2^5;b 2 21 2;b 2 2b,21;d2^6;c 2 2 2;c 2 2,21:cab;d2^6;a 2 2 2;a 2 2,21:bca;d2^6;b 2 2 2;b 2 2,22;d2^7;f 2 2 2;f 2 2,23;d2^8;i 2 2 2;i 2 2,24;d2^9;i 21 21 21;i 2b 2c,25;c2v^1;p m m 2;p 2 -2,25:cab;c2v^1;p 2 m m;p -2 2,25:bca;c2v^1;p m 2 m;p -2 -2,26;c2v^2;p m c 21;p 2c -2,26*;c2v^2;p m c 21*;p 21 -2,26:ba-c;c2v^2;p c m 21;p 2c -2c,26:ba-c*;c2v^2;p c m 21*;p 21 -2c,26:cab;c2v^2;p 21 m a;p -2a 2a,26:-cba;c2v^2;p 21 a m;p -2 2a,26:bca;c2v^2;p b 21 m;p -2 -2b,26:a-cb;c2v^2;p m 21 b;p -2b -2,27;c2v^3;p c c 2;p 2 -2c,27:cab;c2v^3;p 2 a a;p -2a 2,27:bca;c2v^3;p b 2 b;p -2b -2b,28;c2v^4;p m a 2;p 2 -2a,28*;c2v^4;p m a 2*;p 2 -21,28:ba-c;c2v^4;p b m 2;p 2 -2b,28:cab;c2v^4;p 2 m b;p -2b 2,28:-cba;c2v^4;p 2 c m;p -2c 2,28:-cba*;c2v^4;p 2 c m*;p -21 2,28:bca;c2v^4;p c 2 m;p -2c -2c,28:a-cb;c2v^4;p m 2 a;p -2a -2a,29;c2v^5;p c a 21;p 2c -2ac,29:ba-c;c2v^5;p b c 21;p 2c -2b,29:cab;c2v^5;p 21 a b;p -2b 2a,29:-cba;c2v^5;p 21 c a;p -2ac 2a,29:bca;c2v^5;p c 21 b;p -2bc -2c,29:a-cb;c2v^5;p b 21 a;p -2a -2ab,30;c2v^6;p n c 2;p 2 -2bc,30:ba-c;c2v^6;p c n 2;p 2 -2ac,30:cab;c2v^6;p 2 n a;p -2ac 2,30:-cba;c2v^6;p 2 a n;p -2ab 2,30:bca;c2v^6;p b 2 n;p -2ab -2ab,30:a-cb;c2v^6;p n 2 b;p -2bc -2bc,31;c2v^7;p m n 21;p 2ac -2,31:ba-c;c2v^7;p n m 21;p 2bc -2bc,31:cab;c2v^7;p 21 m n;p -2ab 2ab,31:-cba;c2v^7;p 21 n m;p -2 2ac,31:bca;c2v^7;p n 21 m;p -2 -2bc,31:a-cb;c2v^7;p m 21 n;p -2ab -2,32;c2v^8;p b a 2;p 2 -2ab,32:cab;c2v^8;p 2 c b;p -2bc 2,32:bca;c2v^8;p c 2 a;p -2ac -2ac,33;c2v^9;p n a 21;p 2c -2n,33*;c2v^9;p n a 21*;p 21 -2n,33:ba-c;c2v^9;p b n 21;p 2c -2ab,33:ba-c*;c2v^9;p b n 21*;p 21 -2ab,33:cab;c2v^9;p 21 n b;p -2bc 2a,33:cab*;c2v^9;p 21 n b*;p -2bc 21,33:-cba;c2v^9;p 21 c n;p -2n 2a,33:-cba*;c2v^9;p 21 c n*;p -2n 21,33:bca;c2v^9;p c 21 n;p -2n -2ac,33:a-cb;c2v^9;p n 21 a;p -2ac -2n,34;c2v^10;p n n 2;p 2 -2n,34:cab;c2v^10;p 2 n n;p -2n 2,34:bca;c2v^10;p n 2 n;p -2n -2n,35;c2v^11;c m m 2;c 2 -2,35:cab;c2v^11;a 2 m m;a -2 2,35:bca;c2v^11;b m 2 m;b -2 -2,36;c2v^12;c m c 21;c 2c -2,36*;c2v^12;c m c 21*;c 21 -2,36:ba-c;c2v^12;c c m 21;c 2c -2c,36:ba-c*;c2v^12;c c m 21*;c 21 -2c,36:cab;c2v^12;a 21 m a;a -2a 2a,36:cab*;c2v^12;a 21 m a*;a -2a 21,36:-cba;c2v^12;a 21 a m;a -2 2a,36:-cba*;c2v^12;a 21 a m*;a -2 21,36:bca;c2v^12;b b 21 m;b -2 -2b,36:a-cb;c2v^12;b m 21 b;b -2b -2,37;c2v^13;c c c 2;c 2 -2c,37:cab;c2v^13;a 2 a a;a -2a 2,37:bca;c2v^13;b b 2 b;b -2b -2b,38;c2v^14;a m m 2;a 2 -2,38:ba-c;c2v^14;b m m 2;b 2 -2,38:cab;c2v^14;b 2 m m;b -2 2,38:-cba;c2v^14;c 2 m m;c -2 2,38:bca;c2v^14;c m 2 m;c -2 -2,38:a-cb;c2v^14;a m 2 m;a -2 -2,39;c2v^15;a e m 2;a 2 -2b,39;c2v^15;a b m 2;a 2 -2b,39:ba-c;c2v^15;b m a 2;b 2 -2a,39:cab;c2v^15;b 2 c m;b -2a 2,39:-cba;c2v^15;c 2 m b;c -2a 2,39:bca;c2v^15;c m 2 a;c -2a -2a,39:a-cb;c2v^15;a c 2 m;a -2b -2b,40;c2v^16;a m a 2;a 2 -2a,40:ba-c;c2v^16;b b m 2;b 2 -2b,40:cab;c2v^16;b 2 m b;b -2b 2,40:-cba;c2v^16;c 2 c m;c -2c 2,40:bca;c2v^16;c c 2 m;c -2c -2c,40:a-cb;c2v^16;a m 2 a;a -2a -2a,41;c2v^17;a e a 2;a 2 -2ab,41;c2v^17;a b a 2;a 2 -2ab;-b,41:ba-c;c2v^17;b b a 2;b 2 -2ab,41:cab;c2v^17;b 2 c b;b -2ab 2,41:-cba;c2v^17;c 2 c b;c -2ac 2,41:bca;c2v^17;c c 2 a;c -2ac -2ac,41:a-cb;c2v^17;a c 2 a;a -2ab -2ab,42;c2v^18;f m m 2;f 2 -2,42:cab;c2v^18;f 2 m m;f -2 2,42:bca;c2v^18;f m 2 m;f -2 -2,43;c2v^19;f d d 2;f 2 -2d,43:cab;c2v^19;f 2 d d;f -2d 2,43:bca;c2v^19;f d 2 d;f -2d -2d,44;c2v^20;i m m 2;i 2 -2,44:cab;c2v^20;i 2 m m;i -2 2,44:bca;c2v^20;i m 2 m;i -2 -2,45;c2v^21;i b a 2;i 2 -2c,45:cab;c2v^21;i 2 c b;i -2a 2,45:bca;c2v^21;i c 2 a;i -2b -2b,46;c2v^22;i m a 2;i 2 -2a,46:ba-c;c2v^22;i b m 2;i 2 -2b,46:cab;c2v^22;i 2 m b;i -2b 2,46:-cba;c2v^22;i 2 c m;i -2c 2,46:bca;c2v^22;i c 2 m;i -2c -2c,46:a-cb;c2v^22;i m 2 a;i -2a -2a,47;d2h^1;p m m m;-p 2 2,48:1;d2h^2;p n n n:1;p 2 2 -1n;-b,48:2;d2h^2;p n n n:2;-p 2ab 2bc,49;d2h^3;p c c m;-p 2 2c,49:cab;d2h^3;p m a a;-p 2a 2,49:bca;d2h^3;p b m b;-p 2b 2b,50:1;d2h^4;p b a n:1;p 2 2 -1ab;-b,50:2;d2h^4;p b a n:2;-p 2ab 2b,50:1cab;d2h^4;p n c b:1;p 2 2 -1bc,50:2cab;d2h^4;p n c b:2;-p 2b 2bc,50:1bca;d2h^4;p c n a:1;p 2 2 -1ac,50:2bca;d2h^4;p c n a:2;-p 2a 2c,51;d2h^5;p m m a;-p 2a 2a,51:ba-c;d2h^5;p m m b;-p 2b 2,51:cab;d2h^5;p b m m;-p 2 2b,51:-cba;d2h^5;p c m m;-p 2c 2c,51:bca;d2h^5;p m c m;-p 2c 2,51:a-cb;d2h^5;p m a m;-p 2 2a,52;d2h^6;p n n a;-p 2a 2bc,52:ba-c;d2h^6;p n n b;-p 2b 2n,52:cab;d2h^6;p b n n;-p 2n 2b,52:-cba;d2h^6;p c n n;-p 2ab 2c,52:bca;d2h^6;p n c n;-p 2ab 2n,52:a-cb;d2h^6;p n a n;-p 2n 2bc,53;d2h^7;p m n a;-p 2ac 2,53:ba-c;d2h^7;p n m b;-p 2bc 2bc,53:cab;d2h^7;p b m n;-p 2ab 2ab,53:-cba;d2h^7;p c n m;-p 2 2ac,53:bca;d2h^7;p n c m;-p 2 2bc,53:a-cb;d2h^7;p m a n;-p 2ab 2,54;d2h^8;p c c a;-p 2a 2ac,54:ba-c;d2h^8;p c c b;-p 2b 2c,54:cab;d2h^8;p b a a;-p 2a 2b,54:-cba;d2h^8;p c a a;-p 2ac 2c,54:bca;d2h^8;p b c b;-p 2bc 2b,54:a-cb;d2h^8;p b a b;-p 2b 2ab,55;d2h^9;p b a m;-p 2 2ab,55:cab;d2h^9;p m c b;-p 2bc 2,55:bca;d2h^9;p c m a;-p 2ac 2ac,56;d2h^10;p c c n;-p 2ab 2ac,56:cab;d2h^10;p n a a;-p 2ac 2bc,56:bca;d2h^10;p b n b;-p 2bc 2ab,57;d2h^11;p b c m;-p 2c 2b,57:ba-c;d2h^11;p c a m;-p 2c 2ac,57:cab;d2h^11;p m c a;-p 2ac 2a,57:-cba;d2h^11;p m a b;-p 2b 2a,57:bca;d2h^11;p b m a;-p 2a 2ab,57:a-cb;d2h^11;p c m b;-p 2bc 2c,58;d2h^12;p n n m;-p 2 2n,58:cab;d2h^12;p m n n;-p 2n 2,58:bca;d2h^12;p n m n;-p 2n 2n,59:1;d2h^13;p m m n:1;p 2 2ab -1ab;-b,59:2;d2h^13;p m m n:2;-p 2ab 2a,59:1cab;d2h^13;p n m m:1;p 2bc 2 -1bc,59:2cab;d2h^13;p n m m:2;-p 2c 2bc,59:1bca;d2h^13;p m n m:1;p 2ac 2ac -1ac,59:2bca;d2h^13;p m n m:2;-p 2c 2a,60;d2h^14;p b c n;-p 2n 2ab,60:ba-c;d2h^14;p c a n;-p 2n 2c,60:cab;d2h^14;p n c a;-p 2a 2n,60:-cba;d2h^14;p n a b;-p 2bc 2n,60:bca;d2h^14;p b n a;-p 2ac 2b,60:a-cb;d2h^14;p c n b;-p 2b 2ac,61;d2h^15;p b c a;-p 2ac 2ab,61:ba-c;d2h^15;p c a b;-p 2bc 2ac,62;d2h^16;p n m a;-p 2ac 2n,62:ba-c;d2h^16;p m n b;-p 2bc 2a,62:cab;d2h^16;p b n m;-p 2c 2ab,62:-cba;d2h^16;p c m n;-p 2n 2ac,62:bca;d2h^16;p m c n;-p 2n 2a,62:a-cb;d2h^16;p n a m;-p 2c 2n,63;d2h^17;c m c m;-c 2c 2,63:ba-c;d2h^17;c c m m;-c 2c 2c,63:cab;d2h^17;a m m a;-a 2a 2a,63:-cba;d2h^17;a m a m;-a 2 2a,63:bca;d2h^17;b b m m;-b 2 2b,63:a-cb;d2h^17;b m m b;-b 2b 2,64;d2h^18;c m c e;-c 2ac 2,64;d2h^18;c m c a;-c 2ac 2,64:ba-c;d2h^18;c c m b;-c 2ac 2ac,64:cab;d2h^18;a b m a;-a 2ab 2ab,64:-cba;d2h^18;a c a m;-a 2 2ab,64:bca;d2h^18;b b c m;-b 2 2ab,64:a-cb;d2h^18;b m a b;-b 2ab 2,65;d2h^19;c m m m;-c 2 2,65:cab;d2h^19;a m m m;-a 2 2,65:bca;d2h^19;b m m m;-b 2 2,66;d2h^20;c c c m;-c 2 2c,66:cab;d2h^20;a m a a;-a 2a 2,66:bca;d2h^20;b b m b;-b 2b 2b,67;d2h^21;c m m e;-c 2a 2,67;d2h^21;c m m a;-c 2a 2,67:ba-c;d2h^21;c m m b;-c 2a 2a,67:cab;d2h^21;a b m m;-a 2b 2b,67:-cba;d2h^21;a c m m;-a 2 2b,67:bca;d2h^21;b m c m;-b 2 2a,67:a-cb;d2h^21;b m a m;-b 2a 2,68:1;d2h^22;c c c e:1;c 2 2 -1ac;-b,68:1;d2h^22;c c c a:1;c 2 2 -1ac;-b,68:2;d2h^22;c c c e:2;-c 2a 2ac,68:2;d2h^22;c c c a:2;-c 2a 2ac,68:1ba-c;d2h^22;c c c b:1;c 2 2 -1ac,68:2ba-c;d2h^22;c c c b:2;-c 2a 2c,68:1cab;d2h^22;a b a a:1;a 2 2 -1ab,68:2cab;d2h^22;a b a a:2;-a 2a 2b,68:1-cba;d2h^22;a c a a:1;a 2 2 -1ab,68:2-cba;d2h^22;a c a a:2;-a 2ab 2b,68:1bca;d2h^22;b b c b:1;b 2 2 -1ab,68:2bca;d2h^22;b b c b:2;-b 2ab 2b,68:1a-cb;d2h^22;b b a b:1;b 2 2 -1ab,68:2a-cb;d2h^22;b b a b:2;-b 2b 2ab,69;d2h^23;f m m m;-f 2 2,70:1;d2h^24;f d d d:1;f 2 2 -1d;-b,70:2;d2h^24;f d d d:2;-f 2uv 2vw,71;d2h^25;i m m m;-i 2 2,72;d2h^26;i b a m;-i 2 2c,72:cab;d2h^26;i m c b;-i 2a 2,72:bca;d2h^26;i c m a;-i 2b 2b,73;d2h^27;i b c a;-i 2b 2c,73:ba-c;d2h^27;i c a b;-i 2a 2b,74;d2h^28;i m m a;-i 2b 2,74:ba-c;d2h^28;i m m b;-i 2a 2a,74:cab;d2h^28;i b m m;-i 2c 2c,74:-cba;d2h^28;i c m m;-i 2 2b,74:bca;d2h^28;i m c m;-i 2 2a,74:a-cb;d2h^28;i m a m;-i 2c 2,75;c4^1;p 4;p 4,76;c4^2;p 41;p 4w,76*;c4^2;p 41*;p 41,77;c4^3;p 42;p 4c,77*;c4^3;p 42*;p 42,78;c4^4;p 43;p 4cw,78*;c4^4;p 43*;p 43,79;c4^5;i 4;i 4,80;c4^6;i 41;i 4bw,81;s4^1;p -4;p -4,82;s4^2;i -4;i -4,83;c4h^1;p 4/m;-p 4,84;c4h^2;p 42/m;-p 4c,84*;c4h^2;p 42/m*;-p 42,85:1;c4h^3;p 4/n:1;p 4ab -1ab;-b,85:2;c4h^3;p 4/n:2;-p 4a,86:1;c4h^4;p 42/n:1;p 4n -1n;-b,86:2;c4h^4;p 42/n:2;-p 4bc,87;c4h^5;i 4/m;-i 4,88:1;c4h^6;i 41/a:1;i 4bw -1bw;-b,88:2;c4h^6;i 41/a:2;-i 4ad,89;d4^1;p 4 2 2;p 4 2,90;d4^2;p 4 21 2;p 4ab 2ab,91;d4^3;p 41 2 2;p 4w 2c,91*;d4^3;p 41 2 2*;p 41 2c,92;d4^4;p 41 21 2;p 4abw 2nw,93;d4^5;p 42 2 2;p 4c 2,93*;d4^5;p 42 2 2*;p 42 2,94;d4^6;p 42 21 2;p 4n 2n,95;d4^7;p 43 2 2;p 4cw 2c,95*;d4^7;p 43 2 2*;p 43 2c,96;d4^8;p 43 21 2;p 4nw 2abw,97;d4^9;i 4 2 2;i 4 2,98;d4^10;i 41 2 2;i 4bw 2bw,99;c4v^1;p 4 m m;p 4 -2,100;c4v^2;p 4 b m;p 4 -2ab,101;c4v^3;p 42 c m;p 4c -2c,101*;c4v^3;p 42 c m*;p 42 -2c,102;c4v^4;p 42 n m;p 4n -2n,103;c4v^5;p 4 c c;p 4 -2c,104;c4v^6;p 4 n c;p 4 -2n,105;c4v^7;p 42 m c;p 4c -2,105*;c4v^7;p 42 m c*;p 42 -2,106;c4v^8;p 42 b c;p 4c -2ab,106*;c4v^8;p 42 b c*;p 42 -2ab,107;c4v^9;i 4 m m;i 4 -2,108;c4v^10;i 4 c m;i 4 -2c,109;c4v^11;i 41 m d;i 4bw -2,110;c4v^12;i 41 c d;i 4bw -2c,111;d2d^1;p -4 2 m;p -4 2,112;d2d^2;p -4 2 c;p -4 2c,113;d2d^3;p -4 21 m;p -4 2ab,114;d2d^4;p -4 21 c;p -4 2n,115;d2d^5;p -4 m 2;p -4 -2,116;d2d^6;p -4 c 2;p -4 -2c,117;d2d^7;p -4 b 2;p -4 -2ab,118;d2d^8;p -4 n 2;p -4 -2n,119;d2d^9;i -4 m 2;i -4 -2,120;d2d^10;i -4 c 2;i -4 -2c,121;d2d^11;i -4 2 m;i -4 2,122;d2d^12;i -4 2 d;i -4 2bw,123;d4h^1;p 4/m m m;-p 4 2,124;d4h^2;p 4/m c c;-p 4 2c,125:1;d4h^3;p 4/n b m:1;p 4 2 -1ab;-b,125:2;d4h^3;p 4/n b m:2;-p 4a 2b,126:1;d4h^4;p 4/n n c:1;p 4 2 -1n;-b,126:2;d4h^4;p 4/n n c:2;-p 4a 2bc,127;d4h^5;p 4/m b m;-p 4 2ab,128;d4h^6;p 4/m n c;-p 4 2n,129:1;d4h^7;p 4/n m m:1;p 4ab 2ab -1ab;-b,129:2;d4h^7;p 4/n m m:2;-p 4a 2a,130:1;d4h^8;p 4/n c c:1;p 4ab 2n -1ab;-b,130:2;d4h^8;p 4/n c c:2;-p 4a 2ac,131;d4h^9;p 42/m m c;-p 4c 2,132;d4h^10;p 42/m c m;-p 4c 2c,133:1;d4h^11;p 42/n b c:1;p 4n 2c -1n;-b,133:2;d4h^11;p 42/n b c:2;-p 4ac 2b,134:1;d4h^12;p 42/n n m:1;p 4n 2 -1n;-b,134:2;d4h^12;p 42/n n m:2;-p 4ac 2bc,135;d4h^13;p 42/m b c;-p 4c 2ab,135*;d4h^13;p 42/m b c*;-p 42 2ab,136;d4h^14;p 42/m n m;-p 4n 2n,137:1;d4h^15;p 42/n m c:1;p 4n 2n -1n;-b,137:2;d4h^15;p 42/n m c:2;-p 4ac 2a,138:1;d4h^16;p 42/n c m:1;p 4n 2ab -1n;-b,138:2;d4h^16;p 42/n c m:2;-p 4ac 2ac,139;d4h^17;i 4/m m m;-i 4 2,140;d4h^18;i 4/m c m;-i 4 2c,141:1;d4h^19;i 41/a m d:1;i 4bw 2bw -1bw;-b,141:2;d4h^19;i 41/a m d:2;-i 4bd 2,142:1;d4h^20;i 41/a c d:1;i 4bw 2aw -1bw;-b,142:2;d4h^20;i 41/a c d:2;-i 4bd 2c,143;c3^1;p 3;p 3,144;c3^2;p 31;p 31,145;c3^3;p 32;p 32,146:h;c3^4;r 3:h;r 3,146:r;c3^4;r 3:r;p 3*,147;c3i^1;p -3;-p 3,148:h;c3i^2;r -3:h;-r 3,148:r;c3i^2;r -3:r;-p 3*,149;d3^1;p 3 1 2;p 3 2,150;d3^2;p 3 2 1;p 3 2",151;d3^3;p 31 1 2;p 31 2 (0 0 4),152;d3^4;p 31 2 1;p 31 2",153;d3^5;p 32 1 2;p 32 2 (0 0 2),154;d3^6;p 32 2 1;p 32 2",155:h;d3^7;r 3 2:h;r 3 2",155:r;d3^7;r 3 2:r;p 3* 2,156;c3v^1;p 3 m 1;p 3 -2",157;c3v^2;p 3 1 m;p 3 -2,158;c3v^3;p 3 c 1;p 3 -2"c,159;c3v^4;p 3 1 c;p 3 -2c,160:h;c3v^5;r 3 m:h;r 3 -2",160:r;c3v^5;r 3 m:r;p 3* -2,161:h;c3v^6;r 3 c:h;r 3 -2"c,161:r;c3v^6;r 3 c:r;p 3* -2n,162;d3d^1;p -3 1 m;-p 3 2,163;d3d^2;p -3 1 c;-p 3 2c,164;d3d^3;p -3 m 1;-p 3 2",165;d3d^4;p -3 c 1;-p 3 2"c,166:h;d3d^5;r -3 m:h;-r 3 2",166:r;d3d^5;r -3 m:r;-p 3* 2,167:h;d3d^6;r -3 c:h;-r 3 2"c,167:r;d3d^6;r -3 c:r;-p 3* 2n,168;c6^1;p 6;p 6,169;c6^2;p 61;p 61,170;c6^3;p 65;p 65,171;c6^4;p 62;p 62,172;c6^5;p 64;p 64,173;c6^6;p 63;p 6c,173*;c6^6;p 63*;p 63 ,174;c3h^1;p -6;p -6,175;c6h^1;p 6/m;-p 6,176;c6h^2;p 63/m;-p 6c,176*;c6h^2;p 63/m*;-p 63,177;d6^1;p 6 2 2;p 6 2,178;d6^2;p 61 2 2;p 61 2 (0 0 5),179;d6^3;p 65 2 2;p 65 2 (0 0 1),180;d6^4;p 62 2 2;p 62 2 (0 0 4),181;d6^5;p 64 2 2;p 64 2 (0 0 2),182;d6^6;p 63 2 2;p 6c 2c,182*;d6^6;p 63 2 2*;p 63 2c,183;c6v^1;p 6 m m;p 6 -2,184;c6v^2;p 6 c c;p 6 -2c,185;c6v^3;p 63 c m;p 6c -2,185*;c6v^3;p 63 c m*;p 63 -2,186;c6v^4;p 63 m c;p 6c -2c,186*;c6v^4;p 63 m c*;p 63 -2c,187;d3h^1;p -6 m 2;p -6 2,188;d3h^2;p -6 c 2;p -6c 2,189;d3h^3;p -6 2 m;p -6 -2,190;d3h^4;p -6 2 c;p -6c -2c,191;d6h^1;p 6/m m m;-p 6 2,192;d6h^2;p 6/m c c;-p 6 2c,193;d6h^3;p 63/m c m;-p 6c 2,193*;d6h^3;p 63/m c m*;-p 63 2,194;d6h^4;p 63/m m c;-p 6c 2c,194*;d6h^4;p 63/m m c*;-p 63 2c,195;t^1;p 2 3;p 2 2 3,196;t^2;f 2 3;f 2 2 3,197;t^3;i 2 3;i 2 2 3,198;t^4;p 21 3;p 2ac 2ab 3,199;t^5;i 21 3;i 2b 2c 3,200;th^1;p m -3;-p 2 2 3,201:1;th^2;p n -3:1;p 2 2 3 -1n;-b,201:2;th^2;p n -3:2;-p 2ab 2bc 3,202;th^3;f m -3;-f 2 2 3,203:1;th^4;f d -3:1;f 2 2 3 -1d;-b,203:2;th^4;f d -3:2;-f 2uv 2vw 3,204;th^5;i m -3;-i 2 2 3,205;th^6;p a -3;-p 2ac 2ab 3,206;th^7;i a -3;-i 2b 2c 3,207;o^1;p 4 3 2;p 4 2 3,208;o^2;p 42 3 2;p 4n 2 3,209;o^3;f 4 3 2;f 4 2 3,210;o^4;f 41 3 2;f 4d 2 3,211;o^5;i 4 3 2;i 4 2 3,212;o^6;p 43 3 2;p 4acd 2ab 3,213;o^7;p 41 3 2;p 4bd 2ab 3,214;o^8;i 41 3 2;i 4bd 2c 3,215;td^1;p -4 3 m;p -4 2 3,216;td^2;f -4 3 m;f -4 2 3,217;td^3;i -4 3 m;i -4 2 3,218;td^4;p -4 3 n;p -4n 2 3,219;td^5;f -4 3 c;f -4a 2 3,220;td^6;i -4 3 d;i -4bd 2c 3,221;oh^1;p m -3 m;-p 4 2 3,222:1;oh^2;p n -3 n:1;p 4 2 3 -1n;-b,222:2;oh^2;p n -3 n:2;-p 4a 2bc 3,223;oh^3;p m -3 n;-p 4n 2 3,224:1;oh^4;p n -3 m:1;p 4n 2 3 -1n;-b,224:2;oh^4;p n -3 m:2;-p 4bc 2bc 3,225;oh^5;f m -3 m;-f 4 2 3,226;oh^6;f m -3 c;-f 4a 2 3,227:1;oh^7;f d -3 m:1;f 4d 2 3 -1d;-b,227:2;oh^7;f d -3 m:2;-f 4vw 2vw 3,228:1;oh^8;f d -3 c:1;f 4d 2 3 -1ad;-b,228:2;oh^8;f d -3 c:2;-f 4ud 2vw 3,229;oh^9;i m -3 m;-i 4 2 3,230;oh^10;i a -3 d;-i 4bd 2c 3'.split(","))});
E("JS");Q(null,"JS.HallInfo",["JU.P3i","$.SB","JS.HallRotationTerm","$.HallTranslation","JU.Logger"],function(){c$=K(function(){this.primitiveHallSymbol=this.hallSymbol=null;this.latticeCode="\x00";this.latticeExtension=null;this.isCentrosymmetric=!1;this.nRotations=0;this.vectorCode=this.vector12ths=this.rotationTerms=null;H(this,arguments)},JS,"HallInfo");V(c$,function(){this.rotationTerms=Array(16)});I(c$,function(a){try{var b=this.hallSymbol=a.trim(),b=this.extractLatticeInfo(b);if(0!=JS.HallTranslation.getLatticeIndex(this.latticeCode)){this.latticeExtension=
JS.HallTranslation.getLatticeExtension(this.latticeCode,this.isCentrosymmetric);b=this.extractVectorInfo(b)+this.latticeExtension;JU.Logger.debugging&&JU.Logger.debug("Hallinfo: "+a+" "+b);a=0;var c="\x00";for(this.primitiveHallSymbol="P";0<b.length&&16>this.nRotations;){var b=this.extractRotationInfo(b,a,c),e=this.rotationTerms[this.nRotations-1];a=e.order;c=e.axisType;this.primitiveHallSymbol+=" "+e.primitiveCode}this.primitiveHallSymbol+=this.vectorCode}}catch(g){if(Y(g,Exception))JU.Logger.error("Invalid Hall symbol "+
g),this.nRotations=0;else throw g;}},"~S");d(c$,"dumpInfo",function(){var a=new JU.SB;a.append("\nHall symbol: ").append(this.hallSymbol).append("\nprimitive Hall symbol: ").append(this.primitiveHallSymbol).append("\nlattice type: ").append(this.getLatticeDesignation());for(var b=0;b<this.nRotations;b++)a.append("\n\nrotation term ").appendI(b+1).append(this.rotationTerms[b].dumpInfo(this.vectorCode));return a.toString()});d(c$,"getLatticeDesignation",function(){return JS.HallTranslation.getLatticeDesignation2(this.latticeCode,
this.isCentrosymmetric)});d(c$,"extractLatticeInfo",function(a){var b=a.indexOf(" ");if(0>b)return"";var c=a.substring(0,b).toUpperCase();this.latticeCode=c.charAt(0);"-"==this.latticeCode&&(this.isCentrosymmetric=!0,this.latticeCode=c.charAt(1));return a.substring(b+1).trim()},"~S");d(c$,"extractVectorInfo",function(a){this.vector12ths=new JU.P3i;this.vectorCode="";var b=a.indexOf("("),c=a.indexOf(")",b);0<b&&c>b&&(c=a.substring(b+1,c),this.vectorCode=" ("+c+")",a=a.substring(0,b).trim(),b=c.indexOf(" "),
0<=b&&(this.vector12ths.x=Integer.parseInt(c.substring(0,b)),c=c.substring(b+1).trim(),b=c.indexOf(" "),0<=b&&(this.vector12ths.y=Integer.parseInt(c.substring(0,b)),c=c.substring(b+1).trim())),this.vector12ths.z=Integer.parseInt(c));return a},"~S");d(c$,"extractRotationInfo",function(a,b,c){var e=a.indexOf(" "),g;0<=e?(g=a.substring(0,e),a=a.substring(e+1).trim()):(g=a,a="");this.rotationTerms[this.nRotations]=new JS.HallRotationTerm(this,g,b,c);this.nRotations++;return a},"~S,~N,~S")});E("JS");Q(["JU.M4"],
"JS.HallRotationTerm",["JU.SB","JS.HallRotation","$.HallTranslation","$.SymmetryOperation","JU.Logger"],function(){c$=K(function(){this.seitzMatrix12ths=this.translation=this.rotation=this.translationString=this.lookupCode=this.primitiveCode=this.inputCode=null;this.isImproper=!1;this.order=0;this.diagonalReferenceAxis=this.axisType="\x00";this.allPositive=!0;H(this,arguments)},JS,"HallRotationTerm");V(c$,function(){this.seitzMatrix12ths=new JU.M4});I(c$,function(a,b,c,e){this.inputCode=b;b+="   ";
"-"==b.charAt(0)&&(this.isImproper=!0,b=b.substring(1));this.primitiveCode="";this.order=b.charCodeAt(0)-48;this.axisType=this.diagonalReferenceAxis="\x00";var g=2,d;switch(d=b.charAt(1)){case "x":case "y":case "z":switch(b.charAt(2)){case "'":case '"':this.diagonalReferenceAxis=d,d=b.charAt(2),g++}case "*":this.axisType=d;break;case "'":case '"':this.axisType=d;switch(b.charAt(2)){case "x":case "y":case "z":this.diagonalReferenceAxis=b.charAt(2);g++;break;default:this.diagonalReferenceAxis=e}break;
default:this.axisType=1==this.order?"_":0==a.nRotations?"z":2==a.nRotations?"*":2==c||4==c?"x":"'",b=b.substring(0,1)+this.axisType+b.substring(1)}this.primitiveCode+="_"==this.axisType?"1":b.substring(0,2);"\x00"!=this.diagonalReferenceAxis&&(b=b.substring(0,1)+this.diagonalReferenceAxis+this.axisType+b.substring(g),this.primitiveCode+=this.diagonalReferenceAxis,g=3);this.lookupCode=b.substring(0,g);this.rotation=JS.HallRotation.lookup(this.lookupCode);if(null==this.rotation)JU.Logger.error("Rotation lookup could not find "+
this.inputCode+" ? "+this.lookupCode);else{this.translation=new JS.HallTranslation("\x00",null);this.translationString="";for(c=b.length;g<c;g++)e=b.charAt(g),e=JS.HallTranslation.getHallTranslation(e,this.order),null!=e&&(this.translationString+=""+e.translationCode,this.translation.rotationShift12ths+=e.rotationShift12ths,this.translation.vectorShift12ths.add(e.vectorShift12ths));this.primitiveCode=(this.isImproper?"-":"")+this.primitiveCode+this.translationString;this.isImproper?this.seitzMatrix12ths.setM4(this.rotation.seitzMatrixInv):
this.seitzMatrix12ths.setM4(this.rotation.seitzMatrix);this.seitzMatrix12ths.m03=this.translation.vectorShift12ths.x;this.seitzMatrix12ths.m13=this.translation.vectorShift12ths.y;this.seitzMatrix12ths.m23=this.translation.vectorShift12ths.z;switch(this.axisType){case "x":this.seitzMatrix12ths.m03+=this.translation.rotationShift12ths;break;case "y":this.seitzMatrix12ths.m13+=this.translation.rotationShift12ths;break;case "z":this.seitzMatrix12ths.m23+=this.translation.rotationShift12ths}0<a.vectorCode.length&&
(g=JU.M4.newM4(null),c=JU.M4.newM4(null),a=a.vector12ths,g.m03=a.x,g.m13=a.y,g.m23=a.z,c.m03=-a.x,c.m13=-a.y,c.m23=-a.z,this.seitzMatrix12ths.mul2(g,this.seitzMatrix12ths),this.seitzMatrix12ths.mul(c));JU.Logger.debugging&&JU.Logger.debug("code = "+b+"; primitive code ="+this.primitiveCode+"\n Seitz Matrix(12ths):"+this.seitzMatrix12ths)}},"JS.HallInfo,~S,~N,~S");d(c$,"dumpInfo",function(a){var b=new JU.SB;b.append("\ninput code: ").append(this.inputCode).append("; primitive code: ").append(this.primitiveCode).append("\norder: ").appendI(this.order).append(this.isImproper?
" (improper axis)":"");"_"!=this.axisType&&(b.append("; axisType: ").appendC(this.axisType),"\x00"!=this.diagonalReferenceAxis&&b.appendC(this.diagonalReferenceAxis));0<this.translationString.length&&b.append("; translation: ").append(this.translationString);0<a.length&&b.append("; vector offset: ").append(a);null!=this.rotation&&b.append("\noperator: ").append(this.getXYZ(this.allPositive)).append("\nSeitz matrix:\n").append(JS.SymmetryOperation.dumpSeitz(this.seitzMatrix12ths,!1));return b.toString()},
"~S");d(c$,"getXYZ",function(a){return JS.SymmetryOperation.getXYZFromMatrix(this.seitzMatrix12ths,!0,a,!0)},"~B")});E("JS");Q(["JU.M4"],"JS.HallRotation",null,function(){c$=K(function(){this.seitzMatrixInv=this.seitzMatrix=this.rotCode=null;H(this,arguments)},JS,"HallRotation");V(c$,function(){this.seitzMatrix=new JU.M4;this.seitzMatrixInv=new JU.M4});I(c$,function(a,b){this.rotCode=a;var c=R(16,0),e=R(16,0);c[15]=e[15]=1;for(var g=0,d=0;11>d;g++){var f=0;switch(b.charAt(g)){case " ":d++;continue;
case "+":case "1":f=1;break;case "-":f=-1}c[d]=f;e[d]=-f;d++}this.seitzMatrix.setA(c);this.seitzMatrixInv.setA(e)},"~S,~S");c$.lookup=d(c$,"lookup",function(a){for(var b=JS.HallRotation.getHallTerms().length;0<=--b;)if(JS.HallRotation.hallRotationTerms[b].rotCode.equals(a))return JS.HallRotation.hallRotationTerms[b];return null},"~S");c$.getHallTerms=d(c$,"getHallTerms",function(){return null==JS.HallRotation.hallRotationTerms?JS.HallRotation.hallRotationTerms=[new JS.HallRotation("1_","+00 0+0 00+"),
new JS.HallRotation("2x","+00 0-0 00-"),new JS.HallRotation("2y","-00 0+0 00-"),new JS.HallRotation("2z","-00 0-0 00+"),new JS.HallRotation("2'","0-0 -00 00-"),new JS.HallRotation('2"',"0+0 +00 00-"),new JS.HallRotation("2x'","-00 00- 0-0"),new JS.HallRotation('2x"',"-00 00+ 0+0"),new JS.HallRotation("2y'","00- 0-0 -00"),new JS.HallRotation('2y"',"00+ 0-0 +00"),new JS.HallRotation("2z'","0-0 -00 00-"),new JS.HallRotation('2z"',"0+0 +00 00-"),new JS.HallRotation("3x","+00 00- 0+-"),new JS.HallRotation("3y",
"-0+ 0+0 -00"),new JS.HallRotation("3z","0-0 +-0 00+"),new JS.HallRotation("3*","00+ +00 0+0"),new JS.HallRotation("4x","+00 00- 0+0"),new JS.HallRotation("4y","00+ 0+0 -00"),new JS.HallRotation("4z","0-0 +00 00+"),new JS.HallRotation("6x","+00 0+- 0+0"),new JS.HallRotation("6y","00+ 0+0 -0+"),new JS.HallRotation("6z","+-0 +00 00+")]:JS.HallRotation.hallRotationTerms});T(c$,"hallRotationTerms",null)});E("JS");Q(null,"JS.HallTranslation",["JU.P3i"],function(){c$=K(function(){this.translationCode="\x00";
this.rotationShift12ths=this.rotationOrder=0;this.vectorShift12ths=null;H(this,arguments)},JS,"HallTranslation");I(c$,function(a,b){this.translationCode=a;if(null!=b){if(0<=b.z){this.vectorShift12ths=b;return}this.rotationOrder=b.x;this.rotationShift12ths=b.y}this.vectorShift12ths=new JU.P3i},"~S,JU.P3i");c$.getHallLatticeEquivalent=d(c$,"getHallLatticeEquivalent",function(a){var b=JS.HallTranslation.getLatticeCode(a);return(0<a?"-":"")+b+" 1"},"~N");c$.getLatticeIndex=d(c$,"getLatticeIndex",function(a){for(var b=
1,c=3;b<=JS.HallTranslation.nLatticeTypes;b++,c+=3)if(JS.HallTranslation.latticeTranslationData[c].charAt(0)==a)return b;return 0},"~S");c$.getLatticeCode=d(c$,"getLatticeCode",function(a){0>a&&(a=-a);return 0==a?"\x00":a>JS.HallTranslation.nLatticeTypes?JS.HallTranslation.getLatticeCode(JS.HallTranslation.getLatticeIndex(String.fromCharCode(a))):JS.HallTranslation.latticeTranslationData[3*a].charAt(0)},"~N");c$.getLatticeDesignation=d(c$,"getLatticeDesignation",function(a){var b=0<a;0>a&&(a=-a);
return 0==a||a>JS.HallTranslation.nLatticeTypes?"":(b?"-":"")+JS.HallTranslation.getLatticeCode(a)+": "+(b?"centrosymmetric ":"")+JS.HallTranslation.latticeTranslationData[3*a+1]},"~N");c$.getLatticeDesignation2=d(c$,"getLatticeDesignation2",function(a,b){var c=JS.HallTranslation.getLatticeIndex(a);b||(c=-c);return JS.HallTranslation.getLatticeDesignation(c)},"~S,~B");c$.getLatticeExtension=d(c$,"getLatticeExtension",function(a,b){for(var c=1,e=3;c<=JS.HallTranslation.nLatticeTypes;c++,e+=3)if(JS.HallTranslation.latticeTranslationData[e].charAt(0)==
a)return JS.HallTranslation.latticeTranslationData[e+2]+(b?" -1":"");return""},"~S,~B");c$.getHallTerms=d(c$,"getHallTerms",function(){return null==JS.HallTranslation.hallTranslationTerms?JS.HallTranslation.hallTranslationTerms=[new JS.HallTranslation("a",JU.P3i.new3(6,0,0)),new JS.HallTranslation("b",JU.P3i.new3(0,6,0)),new JS.HallTranslation("c",JU.P3i.new3(0,0,6)),new JS.HallTranslation("n",JU.P3i.new3(6,6,6)),new JS.HallTranslation("u",JU.P3i.new3(3,0,0)),new JS.HallTranslation("v",JU.P3i.new3(0,
3,0)),new JS.HallTranslation("w",JU.P3i.new3(0,0,3)),new JS.HallTranslation("d",JU.P3i.new3(3,3,3)),new JS.HallTranslation("1",JU.P3i.new3(2,6,-1)),new JS.HallTranslation("1",JU.P3i.new3(3,4,-1)),new JS.HallTranslation("2",JU.P3i.new3(3,8,-1)),new JS.HallTranslation("1",JU.P3i.new3(4,3,-1)),new JS.HallTranslation("3",JU.P3i.new3(4,9,-1)),new JS.HallTranslation("1",JU.P3i.new3(6,2,-1)),new JS.HallTranslation("2",JU.P3i.new3(6,4,-1)),new JS.HallTranslation("4",JU.P3i.new3(6,8,-1)),new JS.HallTranslation("5",
JU.P3i.new3(6,10,-1)),new JS.HallTranslation("r",JU.P3i.new3(4,8,8)),new JS.HallTranslation("s",JU.P3i.new3(8,8,4)),new JS.HallTranslation("t",JU.P3i.new3(8,4,8))]:JS.HallTranslation.hallTranslationTerms});c$.getHallTranslation=d(c$,"getHallTranslation",function(a,b){for(var c=null,e=JS.HallTranslation.getHallTerms().length;0<=--e;){var g=JS.HallTranslation.hallTranslationTerms[e];if(g.translationCode==a&&(0==g.rotationOrder||g.rotationOrder==b)){c=new JS.HallTranslation(a,null);c.translationCode=
a;c.rotationShift12ths=g.rotationShift12ths;c.vectorShift12ths=g.vectorShift12ths;break}}return c},"~S,~N");T(c$,"latticeTranslationData","\x00;unknown;;P;primitive;;I;body-centered; 1n;R;rhombohedral; 1r 1r;F;face-centered; 1ab 1bc 1ac;A;A-centered; 1bc;B;B-centered; 1ac;C;C-centered; 1ab;S;rhombohedral(S); 1s 1s;T;rhombohedral(T); 1t 1t".split(";"));c$.nLatticeTypes=c$.prototype.nLatticeTypes=A(JS.HallTranslation.latticeTranslationData.length/3)-1;T(c$,"hallTranslationTerms",null)});E("JS");Q(["JU.M4"],
"JS.SymmetryOperation","java.lang.Float JU.Lst $.Matrix $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 JU.Escape $.Logger $.Parser".split(" "),function(){c$=K(function(){this.xyz=this.xyzOriginal=null;this.doNormalize=!0;this.isFinalized=!1;this.opId=0;this.myLabels=this.atomTest=this.centering=null;this.modDim=0;this.rsvs=this.linearRotTrans=null;this.isBio=!1;this.sigma=null;this.index=0;this.subsystemCode=null;this.timeReversal=0;this.magOp=3.4028235E38;this.unCentered=this.isCenteringOp=!1;H(this,
arguments)},JS,"SymmetryOperation",JU.M4);d(c$,"setSigma",function(a,b){this.subsystemCode=a;this.sigma=b},"~S,JU.Matrix");ga(c$,function(a,b,c,e,g){this.doNormalize=g;null==a?this.opId=e:(this.xyzOriginal=a.xyzOriginal,this.xyz=a.xyz,this.opId=a.opId,this.modDim=a.modDim,this.myLabels=a.myLabels,this.index=a.index,this.linearRotTrans=a.linearRotTrans,this.sigma=a.sigma,this.subsystemCode=a.subsystemCode,this.timeReversal=a.timeReversal,this.setMatrix(!1),a.isFinalized||this.doFinalize(),g&&null==
this.sigma&&this.setOffset(b,c,e))},"JS.SymmetryOperation,~A,~N,~N,~B");d(c$,"setGamma",function(a){for(var b=3+this.modDim,c=(this.rsvs=new JU.Matrix(null,b+1,b+1)).getArray(),e=$(b,0),g=0,d=0;d<b;d++){for(var f=0;f<b;f++)c[d][f]=this.linearRotTrans[g++];e[d]=(a?-1:1)*this.linearRotTrans[g++]}c[b][b]=1;a&&(this.rsvs=this.rsvs.inverse());for(d=0;d<b;d++)c[d][b]=e[d];c=this.rsvs.getSubmatrix(0,0,3,3).getArray();for(d=0;3>d;d++)for(f=0;4>f;f++)this.setElement(d,f,3>f?c[d][f]:e[d]);this.setElement(3,
3,1)},"~B");d(c$,"doFinalize",function(){this.m03/=12;this.m13/=12;this.m23/=12;if(0<this.modDim)for(var a=this.rsvs.getArray(),b=a.length-1;0<=--b;)a[b][3+this.modDim]/=12;this.isFinalized=!0});d(c$,"getXyz",function(a){return a&&0==this.modDim||null==this.xyzOriginal?this.xyz:this.xyzOriginal},"~B");d(c$,"newPoint",function(a,b,c,e,g){this.rotTrans2(a,b);b.add3(c,e,g)},"JU.P3,JU.P3,~N,~N,~N");d(c$,"dumpInfo",function(){return"\n"+this.xyz+"\ninternal matrix representation:\n"+this.toString()});
c$.dumpSeitz=d(c$,"dumpSeitz",function(a,b){for(var c=new JU.SB,e=R(4,0),g=0;3>g;g++){a.getRow(g,e);c.append("[\t");for(var d=0;3>d;d++)c.appendI(p(e[d])).append("\t");c.append(JS.SymmetryOperation.twelfthsOf(b?(p(e[3])+12)%12:p(e[3]))).append("\t]\n")}return c.toString()},"JU.M4,~B");d(c$,"setMatrixFromXYZ",function(a,b,c){if(null==a)return!1;this.xyzOriginal=a;a=a.toLowerCase();var e=(b+4)*(b+4);this.modDim=b;0<b&&(this.myLabels=JS.SymmetryOperation.labelsXn);this.linearRotTrans=R(e,0);(b=a.startsWith("!"))&&
(a=a.substring(1));if(0==a.indexOf("xyz matrix:"))return this.xyz=a,JU.Parser.parseStringInfestedFloatArray(a,null,this.linearRotTrans),this.setFromMatrix(null,b);if(0==a.indexOf("[[")){a=a.$replace("["," ").$replace("]"," ").$replace(","," ");JU.Parser.parseStringInfestedFloatArray(a,null,this.linearRotTrans);for(c=0;c<e;c++)if(Float.isNaN(this.linearRotTrans[c]))return!1;this.setMatrix(b);this.isFinalized=!0;this.xyz=(this.isBio=0<=a.indexOf("bio"))?this.toString():JS.SymmetryOperation.getXYZFromMatrix(this,
!1,!1,!1);return!0}0<=a.indexOf(",m")&&(this.timeReversal=0<=a.indexOf(",m-1")?-1:1,c=!0);a=JS.SymmetryOperation.getMatrixFromString(this,a,this.linearRotTrans,c);if(null==a)return!1;this.setMatrix(b);this.xyz=b?JS.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1):a;0!=this.timeReversal&&(this.xyz+=1==this.timeReversal?",m+1":",m-1");JU.Logger.debugging&&JU.Logger.debug(""+this);return!0},"~S,~N,~B");d(c$,"setMatrix",function(a){16<this.linearRotTrans.length?this.setGamma(a):(this.setA(this.linearRotTrans),
a&&(a=JU.P3.new3(this.m03,this.m13,this.m23),this.invertM(this),this.rotate(a),a.scale(-1),this.setTranslation(a)))},"~B");d(c$,"setFromMatrix",function(a,b){var c=0,e=0;this.myLabels=0==this.modDim?JS.SymmetryOperation.labelsXYZ:JS.SymmetryOperation.labelsXn;for(var g=0,d=3+this.modDim,f=0;g<d;f++){if(Float.isNaN(this.linearRotTrans[f]))return!1;c=this.linearRotTrans[f];1E-5>Math.abs(c)&&(c=0);0==(f+1)%(d+1)&&(null!=a&&(c/=12,e<a.length&&(c+=a[e++])),c=JS.SymmetryOperation.normalizeTwelfths((0>c?
-1:1)*Math.round(Math.abs(12*c))/12,this.doNormalize),g++);this.linearRotTrans[f]=c}this.linearRotTrans[this.linearRotTrans.length-1]=1;this.setMatrix(b);this.isFinalized=null==a;this.xyz=JS.SymmetryOperation.getXYZFromMatrix(this,!0,!1,!1);return!0},"~A,~B");c$.getMatrixFromString=d(c$,"getMatrixFromString",function(a,b,c,e){var g=!1,d=!1,f=!1,l=null==a?0:a.modDim,k=4+l,j=null!=a&&a.doNormalize,m=0<l?3:0;c[c.length-1]=1;var n=b.indexOf(";")+1;0!=n&&(e=!0,n==b.length&&(b+="0,0,0"));var r=-1;a=null==
a||0==l?null:a.myLabels;null==a&&(a=JS.SymmetryOperation.labelsXYZ);b=b.toLowerCase()+",";if(0<l)for(var s=l+3;0<=--s;)b=JU.PT.rep(b,JS.SymmetryOperation.labelsXn[s],JS.SymmetryOperation.labelsXnSub[s]);for(var q=0,A=0,E=0,C,v=0,D=1,B="",w="",s=0;s<b.length;s++){switch(C=b.charAt(s)){case ";":break;case "'":case " ":case "{":case "}":case "!":continue;case "-":f=!0;continue;case "+":f=!1;continue;case "/":g=!0;continue;case "x":case "y":case "z":case "a":case "b":case "c":case "d":case "e":case "f":case "g":case "h":A=
E*k;g="x"<=C?C.charCodeAt(0)-120:C.charCodeAt(0)-97+m;q=A+g;f=f?-1:1;e&&0!=v?(c[q]=v,f=p(v),v=0):c[q]=f;B+=JS.SymmetryOperation.plusMinus(B,f,a[g]);break;case ",":if(0!=n){if(0<n){r=s;s=n-1;n=-s;v=0;continue}n=s+1;s=r}v=JS.SymmetryOperation.normalizeTwelfths(v,j);c[A+k-1]=v;B+=JS.SymmetryOperation.xyzFraction(v,!1,!0);w+=(""===w?"":",")+B;if(E==k-2)return w;v=0;B="";if(2<E++&&0==l)return JU.Logger.warn("Symmetry Operation? "+b),null;break;case ".":d=!0;D=1;continue;case "0":if(!d&&(g||!e))continue;
default:var x=C.charCodeAt(0)-48;if(d&&0<=x&&9>=x){D/=10;0>v&&(f=!0);v+=D*x*(f?-1:1);continue}0<=x&&9>=x?g?0==v?c[q]/=x:v/=x:v=10*v+(f?-1:1)*x:JU.Logger.warn("symmetry character?"+C)}d=g=f=!1}return null},"JS.SymmetryOperation,~S,~A,~B");c$.xyzFraction=d(c$,"xyzFraction",function(a,b,c){a=Math.round(a);if(b)for(;0>a;)a+=12;else if(c){for(;6<a;)a-=12;for(;-6>a;)a+=12}b=JS.SymmetryOperation.twelfthsOf(a);return"0"==b.charAt(0)?"":0<a?"+"+b:b},"~N,~B,~B");c$.twelfthsOf=d(c$,"twelfthsOf",function(a){var b=
"";a=Math.round(a);if(12==a)return"1";if(-12==a)return"-1";0>a&&(a=-a,0!=a%12&&(b="-"));var c=A(a/12);if(1>c)return b+JS.SymmetryOperation.twelfths[a%12];var e=0;switch(a%12){case 0:return b+c;case 1:case 5:case 7:case 11:e=12;break;case 2:case 10:e=6;break;case 3:case 9:e=4;break;case 4:case 8:e=3;break;case 6:e=2}return b+A(a*e/12)+"/"+e},"~N");c$.plusMinus=d(c$,"plusMinus",function(a,b,c){return 0==b?"":(0>b?"-":0==a.length?"":"+")+(1==b||-1==b?"":""+p(Math.abs(b)))+c},"~S,~N,~S");c$.normalizeTwelfths=
d(c$,"normalizeTwelfths",function(a,b){a*=12;if(b){for(;6<a;)a-=12;for(;-6>=a;)a+=12}return a},"~N,~B");c$.getXYZFromMatrix=d(c$,"getXYZFromMatrix",function(a,b,c,e){var g="",d=S(a,JS.SymmetryOperation)?a:null;if(null!=d&&0<d.modDim)return JS.SymmetryOperation.getXYZFromRsVs(d.rsvs.getRotation(),d.rsvs.getTranslation(),b);for(var d=R(4,0),f=0;3>f;f++){var l=3>f?0:3;a.getRow(f,d);for(var k="",j=0;3>j;j++)0!=d[j]&&(k+=JS.SymmetryOperation.plusMinus(k,d[j],JS.SymmetryOperation.labelsXYZ[j+l]));k+=JS.SymmetryOperation.xyzFraction(b?
d[3]:12*d[3],c,e);g+=","+k}return g.substring(1)},"JU.M4,~B,~B,~B");d(c$,"setOffset",function(a,b,c){var e=b+c,g=0,d=0,f=0;null==this.atomTest&&(this.atomTest=new JU.P3);for(;b<e;b++)this.newPoint(a[b],this.atomTest,0,0,0),g+=this.atomTest.x,d+=this.atomTest.y,f+=this.atomTest.z;for(;-0.001>g||g>=c+0.001;)this.m03+=0>g?1:-1,g+=0>g?c:-c;for(;-0.001>d||d>=c+0.001;)this.m13+=0>d?1:-1,d+=0>d?c:-c;for(;-0.001>f||f>=c+0.001;)this.m23+=0>f?1:-1,f+=0>f?c:-c},"~A,~N,~N");d(c$,"rotateAxes",function(a,b,c,e){var d=
Array(3);this.getRotationScale(e);for(var h=a.length;0<=--h;)c.setT(a[h]),b.toFractional(c,!0),e.rotate(c),b.toCartesian(c,!0),d[h]=JU.V3.newV(c);return d},"~A,JS.UnitCell,JU.P3,JU.M3");d(c$,"getDescription",function(a,b,c,e,d){this.isFinalized||this.doFinalize();var h=new JU.V3,f=new JU.P3,l=new JU.P3,k=new JU.P3,j=new JU.P3,m=new JU.V3,n=new JU.V3,r=null;null!=this.centering&&(r=JU.V3.newV(this.centering),b.toCartesian(r,!1));if(null==c||Float.isNaN(c.x))c=new JU.P3;if(null!=e){JS.SymmetryOperation.setFractional(b,
k,c,f);this.rotTrans(k);b.toCartesian(k,!1);b.toUnitCell(k,f);j.setT(e);b.toUnitCell(j,f);if(0.1<k.distance(j))return null;JS.SymmetryOperation.setFractional(b,k,c,null);this.rotTrans(k);JS.SymmetryOperation.setFractional(b,j,e,null);n.sub2(j,k)}k.set(1,0,0);j.set(0,1,0);var s=JU.P3.new3(0,0,1);k.add(c);j.add(c);s.add(c);var q=this.rotTransCart(c,b,n),E=this.rotTransCart(k,b,n),I=this.rotTransCart(j,b,n),C=this.rotTransCart(s,b,n),v=JU.V3.newVsub(E,q),D=JU.V3.newVsub(I,q),B=JU.V3.newVsub(C,q);JS.SymmetryOperation.approx(n);
h.cross(v,D);var w=0>h.dot(B);w&&(E.sub2(q,v),I.sub2(q,D),C.sub2(q,B));var x=JU.Measure.computeHelicalAxis(c,q,JU.Quat.getQuaternionFrame(q,E,I).div(JU.Quat.getQuaternionFrame(c,k,j)));e=x[0];var r=x[1],H=p(Math.abs(JU.PT.approx(x[3].x,1))),K=JS.SymmetryOperation.approxF(x[3].y);w&&(E.add2(q,v),I.add2(q,D),C.add2(q,B));x=JU.V3.newVsub(q,c);0.1>x.length()&&(x=null);var F=null,O=null,M=null,P=0==H,G=!P,N=!1,z=!1;if(G||w)x=null;if(w&&P)O=JU.P3.newP(c),O.add(q),O.scale(0.5),F=q,N=!0;else if(w){var y=
0==K?new JU.V3:r,t=0;switch(H){case 60:t=0.6666667;break;case 120:t=2;break;case 90:t=1;break;case 180:M=JU.P3.newP(c),M.add(y),e.scaleAdd2(0.5,y,c),0.1<M.distance(q)?(x=JU.V3.newVsub(q,M),JS.SymmetryOperation.setFractional(b,f,x,null),m.setT(f)):x=null,w=G=!1,z=!0}0!=t&&(h.sub2(c,e),h.add(q),h.sub(e),h.sub(y),h.scale(t),e.add(h),O=new JU.P3,O.scaleAdd2(0.5,y,e),F=new JU.P3,F.scaleAdd2(-2,O,c),F.scale(-1))}else null!=x&&(f.setT(x),b.toFractional(f,!1),1==JS.SymmetryOperation.approxF(f.x)&&(f.x=0),
1==JS.SymmetryOperation.approxF(f.y)&&(f.y=0),1==JS.SymmetryOperation.approxF(f.z)&&(f.z=0),m.setT(f),b.toCartesian(f,!1),x.setT(f));var L=H;JS.SymmetryOperation.approx0(r);if(G){var u=new JU.P3;h.setT(r);y=H;w?(u.add2(e,h),y=Math.round(JU.Measure.computeTorsion(F,e,u,q,!0))):(0==K?(u.setT(e),f.scaleAdd2(1,u,h)):(f.add2(e,h),u.scaleAdd2(0.5,h,e)),y=Math.round(JU.Measure.computeTorsion(c,e,f,q,!0)));0!=y&&(H=y)}if(G&&(!w&&0==K)&&(0>r.z||0==r.z&&(0>r.y||0==r.y&&0>r.x)))r.scale(-1),H=-H;y="identity";
N?(f.setT(O),b.toFractional(f,!1),y="Ci: "+this.strCoord(f)):G?w?y=""+A(360/L)+"-bar axis":0!=K?(y=""+A(360/L)+"-fold screw axis",f.setT(r),b.toFractional(f,!1),y+="|translation: "+this.strCoord(f)):y="C"+A(360/L)+" axis":null!=x?(t=" "+this.strCoord(m),P?y="translation:"+t:z&&(y=JS.SymmetryOperation.approxF(m.x),L=JS.SymmetryOperation.approxF(m.y),u=JS.SymmetryOperation.approxF(m.z),t=" "+this.strCoord(m),y=0!=y&&0!=L&&0!=u?Math.abs(y)==Math.abs(L)&&Math.abs(L)==Math.abs(u)?"d-":"g-":0!=y&&0!=L||
0!=L&&0!=u||0!=u&&0!=y?"n-":0!=y?"a-":0!=L?"b-":"c-",y+="glide plane|translation:"+t)):z&&(y="mirror plane");w&&!N&&(f.setT(O),b.toFractional(f,!1),y+="|inversion center at "+this.strCoord(f));0!=this.timeReversal&&(y+="|spin timeReversal "+(1==this.timeReversal?"+1":"-1"));u=null;L=this.isBio?this.xyzOriginal:JS.SymmetryOperation.getXYZFromMatrix(this,!1,!1,!1);t=new JU.SB;if(null!=d){u=null;d="\ndraw ID "+d+"_";t=new JU.SB;t.append(("// "+this.xyzOriginal+"|"+L+"|"+y).$replace("\n"," ")).append("\n").append(d).append("* delete");
JS.SymmetryOperation.drawLine(t,d+"frame1X",0.15,c,k,"red");JS.SymmetryOperation.drawLine(t,d+"frame1Y",0.15,c,j,"green");JS.SymmetryOperation.drawLine(t,d+"frame1Z",0.15,c,s,"blue");G&&(u=new JU.P3,k="red",L=H,j=1,h.setT(r),w?(u.add2(e,h),0==K&&(u.setT(O),h.scale(3),f.scaleAdd2(-1,h,e),t.append(d).append("rotVector2 diameter 0.1 ").append(JU.Escape.eP(e)).append(JU.Escape.eP(f)).append(" color red")),j=q.distance(u),t.append(d).append("rotLine1 ").append(JU.Escape.eP(u)).append(JU.Escape.eP(F)).append(" color red"),
t.append(d).append("rotLine2 ").append(JU.Escape.eP(u)).append(JU.Escape.eP(q)).append(" color red")):0==K?(0.2>c.distance(q)||(t.append(d).append("rotLine1 ").append(JU.Escape.eP(c)).append(JU.Escape.eP(e)).append(" color red"),t.append(d).append("rotLine2 ").append(JU.Escape.eP(q)).append(JU.Escape.eP(e)).append(" color red")),h.scale(3),f.scaleAdd2(-1,h,e),t.append(d).append("rotVector2 diameter 0.1 ").append(JU.Escape.eP(e)).append(JU.Escape.eP(f)).append(" color red"),u.setT(e),0==K&&0.2>c.distance(q)&&
u.scaleAdd2(0.5,u,h)):(k="orange",t.append(d).append("rotLine1 ").append(JU.Escape.eP(c)).append(JU.Escape.eP(e)).append(" color red"),f.add2(e,h),t.append(d).append("rotLine2 ").append(JU.Escape.eP(q)).append(JU.Escape.eP(f)).append(" color red"),u.scaleAdd2(0.5,h,e)),f.add2(u,h),w&&0!=K&&(t.append(d).append("rotRotLine1").append(JU.Escape.eP(u)).append(JU.Escape.eP(F)).append(" color red"),t.append(d).append("rotRotLine2").append(JU.Escape.eP(u)).append(JU.Escape.eP(q)).append(" color red")),t.append(d).append("rotRotArrow arrow width 0.10 scale "+
j+" arc ").append(JU.Escape.eP(u)).append(JU.Escape.eP(f)),f.setT(w?F:c),0.1>f.distance(q)&&f.set(Math.random(),Math.random(),Math.random()),t.append(JU.Escape.eP(f)),f.set(0,L,0),t.append(JU.Escape.eP(f)).append(" color red"),t.append(d).append("rotVector1 vector diameter 0.1 ").append(JU.Escape.eP(e)).append(JU.Escape.eP(h)).append("color ").append(k));if(z){0.2<c.distance(M)&&t.append(d).append("planeVector arrow ").append(JU.Escape.eP(c)).append(JU.Escape.eP(M)).append(" color indigo");u=d+"plane";
null!=x&&(this.drawFrameLine("X",M,v,0.15,f,t,u,"red"),this.drawFrameLine("Y",M,D,0.15,f,t,u,"green"),this.drawFrameLine("Z",M,B,0.15,f,t,u,"blue"));k=null==x?"green":"blue";h.setT(r);h.normalize();j=JU.P4.new4(h.x,h.y,h.z,-h.x*e.x-h.y*e.y-h.z*e.z);h=new JU.Lst;h.addLast(b.getCanonicalCopy(1.05,!1));a.intersectPlane(j,h,3);for(a=h.size();0<=--a;)j=h.get(a),t.append(d).append("planep").appendI(a).append(" ").append(JU.Escape.eP(j[0])).append(JU.Escape.eP(j[1])),3==j.length&&t.append(JU.Escape.eP(j[2])),
t.append(" color translucent ").append(k);0==h.size()&&(f.add2(e,r),t.append(d).append("planeCircle scale 2.0 circle ").append(JU.Escape.eP(e)).append(JU.Escape.eP(f)).append(" color translucent ").append(k).append(" mesh fill"))}w&&(u=d+"inv",t.append(d).append("invPoint diameter 0.4 ").append(JU.Escape.eP(O)),t.append(d).append("invArrow arrow ").append(JU.Escape.eP(c)).append(JU.Escape.eP(F)).append(" color indigo"),N||(this.drawFrameLine("X",F,v,0.15,f,t,u,"red"),this.drawFrameLine("Y",F,D,0.15,
f,t,u,"green"),this.drawFrameLine("Z",F,B,0.15,f,t,u,"blue")));null!=x&&(null==M&&(M=JU.P3.newP(c)),t.append(d).append("transVector vector ").append(JU.Escape.eP(M)).append(JU.Escape.eP(x)));l.setT(q);f.sub2(E,q);f.scaleAdd2(0.9,f,l);JS.SymmetryOperation.drawLine(t,d+"frame2X",0.2,l,f,"red");f.sub2(I,q);f.scaleAdd2(0.9,f,l);JS.SymmetryOperation.drawLine(t,d+"frame2Y",0.2,l,f,"green");f.sub2(C,q);f.scaleAdd2(0.9,f,l);JS.SymmetryOperation.drawLine(t,d+"frame2Z",0.2,l,f,"purple");t.append("\nvar pt00 = "+
JU.Escape.eP(c));t.append("\nsym_point = pt00");t.append("\nvar p0 = "+JU.Escape.eP(l));t.append("\nvar set2 = within(0.2,p0);if(!set2){set2 = within(0.2,p0.uxyz.xyz)}");t.append("\nsym_target = set2;if (set2) {");t.append(d).append("offsetFrameX diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(v)).append("*0.9} color red");t.append(d).append("offsetFrameY diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(D)).append("*0.9} color green");t.append(d).append("offsetFrameZ diameter 0.20 @{set2.xyz} @{set2.xyz + ").append(JU.Escape.eP(B)).append("*0.9} color purple");
t.append("\n}}\n");u=t.toString()}null==x&&(m=null);G&&!w&&0!=K&&(x=JU.V3.newV(r),f.setT(x),b.toFractional(f,!1),m=JU.V3.newV(f));z&&(H=0);w?N&&(m=x=r=e=null):P&&(r=e=null);null!=r&&r.normalize();b=null;b=JU.M4.newM4(this);0!=n.length()&&(b.m03+=n.x,b.m13+=n.y,b.m23+=n.z);L=this.isBio?b.toString():0<this.modDim?this.xyzOriginal:JS.SymmetryOperation.getXYZFromMatrix(b,!1,!1,!1);0!=this.timeReversal&&(L+=1==this.timeReversal?",m+1":",m-1");return[L,this.xyzOriginal,y,u,JS.SymmetryOperation.approx0(m),
JS.SymmetryOperation.approx0(x),JS.SymmetryOperation.approx0(O),JS.SymmetryOperation.approx0(e),JS.SymmetryOperation.approx0(r),Integer.$valueOf(H),b,n,this.centering]},"JM.ModelSet,J.api.SymmetryInterface,JU.P3,JU.P3,~S");c$.setFractional=d(c$,"setFractional",function(a,b,c,e){b.setT(c);null!=e&&a.toUnitCell(b,e);a.toFractional(b,!1)},"J.api.SymmetryInterface,JU.P3,JU.T3,JU.P3");d(c$,"drawFrameLine",function(a,b,c,e,d,h,f,l){d.setT(b);d.add(c);JS.SymmetryOperation.drawLine(h,f+"Frame"+a,e,b,d,"translucent "+
l)},"~S,JU.P3,JU.V3,~N,JU.P3,JU.SB,~S,~S");d(c$,"rotTransCart",function(a,b,c){a=JU.P3.newP(a);b.toFractional(a,!1);this.rotTrans2(a,a);a.add(c);b.toCartesian(a,!1);return a},"JU.P3,J.api.SymmetryInterface,JU.V3");d(c$,"strCoord",function(a){JS.SymmetryOperation.approx0(a);return this.isBio?a.x+" "+a.y+" "+a.z:JS.SymmetryOperation.fcoord(a)},"JU.T3");c$.drawLine=d(c$,"drawLine",function(a,b,c,e,d,h){a.append(b).append(" diameter ").appendF(c).append(JU.Escape.eP(e)).append(JU.Escape.eP(d)).append(" color ").append(h)},
"JU.SB,~S,~N,JU.P3,JU.P3,~S");c$.fcoord=d(c$,"fcoord",function(a){return JS.SymmetryOperation.fc(a.x)+" "+JS.SymmetryOperation.fc(a.y)+" "+JS.SymmetryOperation.fc(a.z)},"JU.T3");c$.fc=d(c$,"fc",function(a){var b=Math.abs(a),b=p(JS.SymmetryOperation.approxF(24*b));a=0>a?"-":"";return 0!=b%8?a+JS.SymmetryOperation.twelfthsOf(b>>1):0==b?"0":24==b?a+"1":a+A(b/8)+"/3"},"~N");c$.approx0=d(c$,"approx0",function(a){null!=a&&(1E-4>Math.abs(a.x)&&(a.x=0),1E-4>Math.abs(a.y)&&(a.y=0),1E-4>Math.abs(a.z)&&(a.z=
0));return a},"JU.T3");c$.approx=d(c$,"approx",function(a){null!=a&&(a.x=JS.SymmetryOperation.approxF(a.x),a.y=JS.SymmetryOperation.approxF(a.y),a.z=JS.SymmetryOperation.approxF(a.z));return a},"JU.T3");c$.approxF=d(c$,"approxF",function(a){return JU.PT.approx(a,100)},"~N");c$.normalizeTranslation=d(c$,"normalizeTranslation",function(a){a.m03=(p(a.m03)+12)%12;a.m13=(p(a.m13)+12)%12;a.m23=(p(a.m23)+12)%12},"JU.M4");c$.getXYZFromRsVs=d(c$,"getXYZFromRsVs",function(a,b,c){a=a.getArray();b=b.getArray();
for(var e=a.length,d="",h=0;h<e;h++){for(var d=d+",",f=0;f<e;f++){var l=a[h][f];0!=l&&(d+=(0>l?"-":d.endsWith(",")?"":"+")+(1==Math.abs(l)?"":""+A(Math.abs(l)))+"x"+(f+1))}d+=JS.SymmetryOperation.xyzFraction(A(b[h][0]*(c?1:12)),!1,!0)}return JU.PT.rep(d.substring(1),",+",",")},"JU.Matrix,JU.Matrix,~B");d(c$,"toString",function(){return null==this.rsvs?Z(this,JS.SymmetryOperation,"toString",[]):Z(this,JS.SymmetryOperation,"toString",[])+" "+this.rsvs.toString()});d(c$,"getSpinOp",function(){3.4028235E38==
this.magOp&&(this.magOp=this.determinant3()*this.timeReversal);return this.magOp});d(c$,"setTimeReversal",function(a){this.timeReversal=a;0<=this.xyz.indexOf(",m")&&(this.xyz=this.xyz.substring(0,this.xyz.indexOf(",m")));this.xyz+=1==a?",m+1":",m-1"},"~N");c$.cleanMatrix=d(c$,"cleanMatrix",function(a){var b=new JU.SB;b.append("[ ");for(var c=R(4,0),e=0;3>e;e++)a.getRow(e,c),b.append("[ ").appendI(p(c[0])).append(" ").appendI(p(c[1])).append(" ").appendI(p(c[2])).append(" "),b.append(JS.SymmetryOperation.twelfthsOf(12*
c[3])).append(" ]");return b.append(" ]").toString()},"JU.M4");d(c$,"setCentering",function(a,b){null==this.centering&&!this.unCentered&&(0==this.modDim&&1<this.index&&1==this.m00&&1==this.m11&&1==this.m22&&0==this.m01&&0==this.m02&&0==this.m10&&0==this.m12&&0==this.m20&&0==this.m21?(this.centering=JU.V3.new3(this.m03,this.m13,this.m23),0==this.centering.lengthSquared()?(this.unCentered=!0,this.centering=null):b||this.centering.scale(0.083333336),this.isCenteringOp=!0):this.centering=a);return this.centering},
"JU.V3,~B");T(c$,"twelfths","0 1/12 1/6 1/4 1/3 5/12 1/2 7/12 2/3 3/4 5/6 11/12".split(" "));c$.labelsXYZ=c$.prototype.labelsXYZ=["x","y","z"];c$.labelsXn=c$.prototype.labelsXn="x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13".split(" ");c$.labelsXnSub=c$.prototype.labelsXnSub="xyzabcdefghij".split("")});E("JS");Q(null,"JS.SymmetryInfo",["JU.Lst","$.PT","JU.SimpleUnitCell"],function(){c$=K(function(){this.isMultiCell=this.coordinatesAreFractional=!1;this.centerings=this.periodicOriginXyz=this.cellRange=
this.infoStr=this.symmetryOperations=this.sgName=null;H(this,arguments)},JS,"SymmetryInfo");d(c$,"isPeriodic",function(){return null!=this.periodicOriginXyz});I(c$,function(){});d(c$,"setSymmetryInfo",function(a,b){this.cellRange=a.get("unitCellRange");this.periodicOriginXyz=a.get("periodicOriginXyz");this.sgName=a.get("spaceGroup");if(null==this.sgName||""===this.sgName)this.sgName="spacegroup unspecified";var c=a.containsKey("symmetryCount")?a.get("symmetryCount").intValue():0;this.symmetryOperations=
a.remove("symmetryOps");this.infoStr="Spacegroup: "+this.sgName;if(null==this.symmetryOperations)this.infoStr+="\nNumber of symmetry operations: ?\nSymmetry Operations: unspecified\n";else{this.centerings=new JU.Lst;for(var e="",d="\nNumber of symmetry operations: "+(0==c?1:c)+"\nSymmetry Operations:",h=0;h<c;h++){var f=this.symmetryOperations[h],d=d+("\n"+f.xyz);f.isCenteringOp&&(this.centerings.addLast(f.centering),f=JU.PT.replaceAllCharacters(f.xyz,"xyz","0"),e+=" ("+JU.PT.rep(f,"0+","")+")")}0<
e.length&&(this.infoStr+="\nCentering: "+e);this.infoStr+=d}this.infoStr+="\n";null==b&&(b=a.get("notionalUnitcell"));if(!JU.SimpleUnitCell.isValid(b))return null;this.isMultiCell=(this.coordinatesAreFractional=a.containsKey("coordinatesAreFractional")?a.get("coordinatesAreFractional").booleanValue():!1)&&null!=this.symmetryOperations;return b},"java.util.Map,~A")});E("JS");Q(["JU.SimpleUnitCell","JU.P3","JV.JC"],"JS.UnitCell","java.lang.Float JU.M4 $.Quat $.T4 $.V3 J.api.Interface JU.BoxInfo $.Escape".split(" "),
function(){c$=K(function(){this.fractionalOffset=this.cartesianOffset=this.vertices=null;this.allFractionalRelative=!1;this.moreInfo=this.unitCellMultiplier=null;this.name="";H(this,arguments)},JS,"UnitCell",JU.SimpleUnitCell);V(c$,function(){this.cartesianOffset=new JU.P3});I(c$,function(){aa(this,JS.UnitCell,[])});c$.newP=d(c$,"newP",function(a,b){var c=new JS.UnitCell;c.init([-1,0,0,0,0,0,a[1].x,a[1].y,a[1].z,a[2].x,a[2].y,a[2].z,a[3].x,a[3].y,a[3].z]);c.allFractionalRelative=b;c.initUnitcellVertices();
c.setCartesianOffset(a[0]);return c},"~A,~B");c$.newA=d(c$,"newA",function(a,b){var c=new JS.UnitCell;c.init(a);c.initUnitcellVertices();c.allFractionalRelative=b;return c},"~A,~B");d(c$,"initOrientation",function(a){if(null!=a){var b=new JU.M4;b.setToM3(a);this.matrixFractionalToCartesian.mul2(b,this.matrixFractionalToCartesian);this.matrixCartesianToFractional.invertM(this.matrixFractionalToCartesian);this.initUnitcellVertices()}},"JU.M3");d(c$,"toUnitCell",function(a,b){null!=this.matrixCartesianToFractional&&
(null==b?(this.matrixCartesianToFractional.rotTrans(a),this.unitize(a),this.matrixFractionalToCartesian.rotTrans(a)):(this.matrixCtoFANoOffset.rotTrans(a),this.unitize(a),a.add(b),this.matrixFtoCNoOffset.rotTrans(a)))},"JU.P3,JU.P3");d(c$,"unitize",function(a){switch(this.dimension){case 3:a.z=JS.UnitCell.toFractionalX(a.z);case 2:a.y=JS.UnitCell.toFractionalX(a.y);case 1:a.x=JS.UnitCell.toFractionalX(a.x)}},"JU.P3");d(c$,"reset",function(){this.unitCellMultiplier=null;this.setOffset(JU.P3.new3(0,
0,0))});d(c$,"setOffset",function(a){if(null!=a){var b=S(a,JU.T4)?a:null;if(null!=b?0>=b.w:100<=a.x||100<=a.y)if(this.unitCellMultiplier=0==a.z&&a.x==a.y?null:JU.P3.newP(a),null==b||0==b.w)return;if(this.hasOffset()||0<a.lengthSquared())this.fractionalOffset=new JU.P3,this.fractionalOffset.setT(a);this.matrixCartesianToFractional.m03=-a.x;this.matrixCartesianToFractional.m13=-a.y;this.matrixCartesianToFractional.m23=-a.z;this.cartesianOffset.setT(a);this.matrixFractionalToCartesian.m03=0;this.matrixFractionalToCartesian.m13=
0;this.matrixFractionalToCartesian.m23=0;this.matrixFractionalToCartesian.rotTrans(this.cartesianOffset);this.matrixFractionalToCartesian.m03=this.cartesianOffset.x;this.matrixFractionalToCartesian.m13=this.cartesianOffset.y;this.matrixFractionalToCartesian.m23=this.cartesianOffset.z;this.allFractionalRelative&&(this.matrixCtoFANoOffset.setM4(this.matrixCartesianToFractional),this.matrixFtoCNoOffset.setM4(this.matrixFractionalToCartesian))}},"JU.T3");d(c$,"setCartesianOffset",function(a){this.cartesianOffset.setT(a);
this.matrixFractionalToCartesian.m03=this.cartesianOffset.x;this.matrixFractionalToCartesian.m13=this.cartesianOffset.y;this.matrixFractionalToCartesian.m23=this.cartesianOffset.z;a=this.hasOffset();this.fractionalOffset=new JU.P3;this.fractionalOffset.setT(this.cartesianOffset);this.matrixCartesianToFractional.m03=0;this.matrixCartesianToFractional.m13=0;this.matrixCartesianToFractional.m23=0;this.matrixCartesianToFractional.rotTrans(this.fractionalOffset);this.matrixCartesianToFractional.m03=-this.fractionalOffset.x;
this.matrixCartesianToFractional.m13=-this.fractionalOffset.y;this.matrixCartesianToFractional.m23=-this.fractionalOffset.z;this.allFractionalRelative&&(this.matrixCtoFANoOffset.setM4(this.matrixCartesianToFractional),this.matrixFtoCNoOffset.setM4(this.matrixFractionalToCartesian));!a&&0==this.fractionalOffset.lengthSquared()&&(this.fractionalOffset=null)},"JU.T3");d(c$,"setMinMaxLatticeParameters",function(a,b){if(b.x<=b.y&&555<=b.y){var c=new JU.P3;JU.SimpleUnitCell.ijkToPoint3f(b.x,c,0);a.x=p(c.x);
a.y=p(c.y);a.z=p(c.z);JU.SimpleUnitCell.ijkToPoint3f(b.y,c,1);b.x=p(c.x);b.y=p(c.y);b.z=p(c.z)}switch(this.dimension){case 1:a.y=0,b.y=1;case 2:a.z=0,b.z=1}},"JU.P3i,JU.P3i");d(c$,"dumpInfo",function(a){return"a="+this.a+", b="+this.b+", c="+this.c+", alpha="+this.alpha+", beta="+this.beta+", gamma="+this.gamma+"\n"+JU.Escape.eAP(this.getUnitCellVectors())+"\nvolume="+this.volume+(a?"\nfractional to cartesian: "+this.matrixFractionalToCartesian+"\ncartesian to fractional: "+this.matrixCartesianToFractional:
"")},"~B");d(c$,"getVertices",function(){return this.vertices});d(c$,"getCartesianOffset",function(){return this.cartesianOffset});d(c$,"getFractionalOffset",function(){return this.fractionalOffset});d(c$,"getTensor",function(a){var b=J.api.Interface.getUtil("Tensor");if(0==a[0]&&0==a[1]&&0==a[2])return a=a[7],b.setFromEigenVectors(JS.UnitCell.unitVectors,[a,a,a],"iso","Uiso="+a,null);b.parBorU=a;var c=$(6,0),d=p(a[6]);if(12==d)c[0]=19.739208802178716*a[0],c[1]=19.739208802178716*a[1],c[2]=19.739208802178716*
a[2],c[3]=39.47841760435743*a[3],c[4]=39.47841760435743*a[4],c[5]=39.47841760435743*a[5],a[7]=(a[0]+a[1]+a[3])/3;else{var g=4==d||5==d||8==d||9==d,h=2-d%2,f=8==d||9==d||10==d?19.739208802178716:4==d||5==d?0.25:2==d||3==d?Math.log(2):1,d=a[0]*f*(g?this.a_*this.a_:1),l=a[1]*f*(g?this.b_*this.b_:1),k=a[2]*f*(g?this.c_*this.c_:1),j=a[3]*f*(g?this.a_*this.b_:1)*h,m=a[4]*f*(g?this.a_*this.c_:1)*h,g=a[5]*f*(g?this.b_*this.c_:1)*h;a[7]=Math.pow(d/19.739208802178716/this.a_/this.a_*l/19.739208802178716/this.b_/
this.b_*k/19.739208802178716/this.c_/this.c_,0.3333);c[0]=this.a*this.a*d+this.b*this.b*this.cosGamma*this.cosGamma*l+this.c*this.c*this.cosBeta*this.cosBeta*k+this.a*this.b*this.cosGamma*j+this.b*this.c*this.cosGamma*this.cosBeta*g+this.a*this.c*this.cosBeta*m;c[1]=this.b*this.b*this.sinGamma*this.sinGamma*l+this.c*this.c*this.cA_*this.cA_*k+this.b*this.c*this.cA_*this.sinGamma*g;c[2]=this.c*this.c*this.cB_*this.cB_*k;c[3]=2*this.b*this.b*this.cosGamma*this.sinGamma*l+2*this.c*this.c*this.cA_*this.cosBeta*
k+this.a*this.b*this.sinGamma*j+this.b*this.c*(this.cA_*this.cosGamma+this.sinGamma*this.cosBeta)*g+this.a*this.c*this.cA_*m;c[4]=2*this.c*this.c*this.cB_*this.cosBeta*k+this.b*this.c*this.cosGamma*g+this.a*this.c*this.cB_*m;c[5]=2*this.c*this.c*this.cA_*this.cB_*k+this.b*this.c*this.cB_*this.sinGamma*g}return b.setFromThermalEquation(c,JU.Escape.eAF(a))},"~A");d(c$,"getCanonicalCopy",function(a,b){var c=Array(8),d=null,g=null;b&&null!=this.unitCellMultiplier&&(d=new JU.P3,g=new JU.P3,JU.SimpleUnitCell.ijkToPoint3f(p(this.unitCellMultiplier.x),
d,0),JU.SimpleUnitCell.ijkToPoint3f(p(this.unitCellMultiplier.y),g,0),g.sub(d));for(var h=0;8>h;h++){var f=c[h]=JU.P3.newP(JU.BoxInfo.unitCubePoints[h]);null!=d&&(a*=0==this.unitCellMultiplier.z?1:this.unitCellMultiplier.z,c[h].add3(d.x+g.x*f.x,d.y+g.y*f.y,d.z+g.z*f.z));this.matrixFractionalToCartesian.rotTrans(f);b||f.sub(this.cartesianOffset)}return JU.BoxInfo.getCanonicalCopy(c,a)},"~N,~B");c$.toFractionalX=d(c$,"toFractionalX",function(a){a-=Math.floor(a);if(0.9999<a||1E-4>a)a=0;return a},"~N");
d(c$,"initUnitcellVertices",function(){if(null!=this.matrixFractionalToCartesian){this.matrixCtoFANoOffset=JU.M4.newM4(this.matrixCartesianToFractional);this.matrixFtoCNoOffset=JU.M4.newM4(this.matrixFractionalToCartesian);this.vertices=Array(8);for(var a=8;0<=--a;)this.vertices[a]=new JU.P3,this.matrixFractionalToCartesian.rotTrans2(JU.BoxInfo.unitCubePoints[a],this.vertices[a])}});d(c$,"checkDistance",function(a,b,c,d,g,h,f,l){a=JU.P3.newP(a);this.toCartesian(a,!0);for(var k=-g;k<=g;k++)for(var j=
-h;j<=h;j++)for(var m=-f;m<=f;m++){l.set(b.x+k,b.y+j,b.z+m);this.toCartesian(l,!0);var n=a.distance(l);if(0<d?Math.abs(n-c)<=d:n<=c&&0.1<n)return l.set(k,j,m),!0}return!1},"JU.P3,JU.P3,~N,~N,~N,~N,~N,JU.P3");d(c$,"getUnitCellMultiplier",function(){return this.unitCellMultiplier});d(c$,"getUnitCellVectors",function(){var a=this.matrixFractionalToCartesian;return[JU.V3.newV(this.cartesianOffset),JU.V3.new3(this.fix(a.m00),this.fix(a.m10),this.fix(a.m20)),JU.V3.new3(this.fix(a.m01),this.fix(a.m11),this.fix(a.m21)),
JU.V3.new3(this.fix(a.m02),this.fix(a.m12),this.fix(a.m22))]});d(c$,"fix",function(a){return 0.001>Math.abs(a)?0:a},"~N");d(c$,"isSameAs",function(a){if(a.notionalUnitcell.length!=this.notionalUnitcell.length)return!1;for(var b=this.notionalUnitcell.length;0<=--b;)if(this.notionalUnitcell[b]!=a.notionalUnitcell[b]&&(!Float.isNaN(this.notionalUnitcell[b])||!Float.isNaN(a.notionalUnitcell[b])))return!1;return null==this.fractionalOffset?!a.hasOffset():null==a.fractionalOffset?!this.hasOffset():0==this.fractionalOffset.distanceSquared(a.fractionalOffset)},
"JS.UnitCell");d(c$,"hasOffset",function(){return null!=this.fractionalOffset&&0!=this.fractionalOffset.lengthSquared()});d(c$,"getState",function(){var a="";null!=this.fractionalOffset&&0!=this.fractionalOffset.lengthSquared()&&(a+="  unitcell offset "+JU.Escape.eP(this.fractionalOffset)+";\n");null!=this.unitCellMultiplier&&(a+="  unitcell range "+JU.Escape.eP(this.unitCellMultiplier)+";\n");return a});d(c$,"getQuaternionRotation",function(a){var b=this.vertices[4],c=this.vertices[2],d=this.vertices[1],
g=new JU.V3,h=new JU.V3;switch("abc".indexOf(a)){case 0:g.cross(b,d);h.cross(g,b);break;case 1:g.cross(c,b);h.cross(g,c);break;case 2:g.cross(d,c);h.cross(g,d);break;default:return null}return JU.Quat.getQuaternionFrame(null,h,g).inv()},"~S");T(c$,"twoP2",19.739208802178716);c$.unitVectors=c$.prototype.unitVectors=[JV.JC.axisX,JV.JC.axisY,JV.JC.axisZ]})})(Clazz,Clazz.newLongArray,Clazz.doubleToByte,Clazz.doubleToInt,Clazz.doubleToLong,Clazz.declarePackage,Clazz.instanceOf,Clazz.load,Clazz.instantialize,
Clazz.decorateAsClass,Clazz.floatToInt,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.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);