Geometries=new Array()
Model=new Array() //will be assigned to one of the Models[]
Models=new Array()
fullmodellist=""

lastmodel=""

function newmodel(name,xab,Atoms,Defaults,Coords,script){

 fullmodellist+=name+";"

 Geometries[Geometries.length]=name

 Models[name]=new Array()
 Models[name].Modenames=new Array()
 Models[name].XAB=new Array()
 Models[name].Atoms=new Array()
 Models[name].Modes=new Array()
 Models[name].Defaults=new Array()
 Models[name].Coords=new Array()
 Models[name].script=script
 for(var i=0;i<xab.length;i++)Models[name].XAB[i]=xab.charAt(i)
 copyarray(Atoms,Models[name].Atoms)
 if(!Defaults||!Coords)return
 copyarray(Defaults,Models[name].Defaults)
 for(var i=0;i<Coords.length;i++){
	Models[name].Coords[i+1]=new Array()
	copyarray(Coords[i],Models[name].Coords[i+1])
 }
}


function newmode(name,mode,dim,Vectors){
 if(!name)name=lastmodel
 lastmodel=name
 var i=Models[name].Modenames.length
 Models[name].Modenames[i]=mode
 Models[name].Modes[mode]=new Array()
 var M=Models[name].Modes[mode]
 M.Vectors=new Array()
 for(var j=0;j<dim;j++){
	M.Vectors[j]=new Array()
 	for(var i=0;i<Vectors[j].length;i++){
		M.Vectors[j][i+1]=new Array()
		copyarray(Vectors[j][i],M.Vectors[j][i+1])
	}
 }
}


/*
newmodel(name of geometry,atom types,default atoms,default angles and distances,coordinates of outer atoms)
newmode(name of geometry,name of mode,dimension of mode,vectors for outer atoms)
*/

newmodel("bent: XA2","XAA",["O","H","H"],["d=X-A=94.5","a=A-X-A=109.1"],[["X-A","z:-90+[A-X-A]/2"],["X-A","z:-90-[A-X-A]/2"]])
newmode("bent: XA2","A1 stretch",1,[[[1,1],[2,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:90"],[2,1,"z:-90"]]])
newmode(0,"B1 stretch",1,[[[1,1],[2,-1]]])

newmodel("diatomic: X2","XX",["Cl","Cl"],["d=X-X=198"],[["X-X"]])
newmode("diatomic: X2","A1g stretch",1,[[[1,1]]])

newmodel("diatomic: XA","XA",["H","Cl"],["d=X-A=127.5"],[["X-A"]])
newmode("diatomic: XA","A1 stretch",1,[[[1,1]]])

newmodel("linear: XA2","XAA",["C","O","O"],["d=X-A=116.3"],[["X-A"],["X-A","z:180"]])
newmode("linear: XA2","A1g stretch",1,[[[1,1],[2,1]]])
newmode(0,"A1u stretch",1,[[[1,1],[2,-1]]])
newmode(0,"E1u bend",2,[[[1,1,"z:90"],[1,1,"z:90"]],[[1,1,"y:90"],[1,1,"y:90"]]])

newmodel("octahedral: XA6","XAAAAAA",["Al","F","F","F","F","F","F"],["d=X-A=181"],[["X-A"],["X-A","y:90"],["X-A","y:180"],["X-A","y:270"],["X-A","z:90"],["X-A","z:-90"]],"rotate y 45;rotate x 20")
newmode("octahedral: XA6","A1g stretch",1,[[[1,1],[2,1],[3,1],[4,1],[5,1],[6,1]]])
newmode(0,"Eg stretch",2,[[[1,.5],[2,.5],[3,.5],[4,.5],[5,-1],[6,-1]],[[1,.866],[2,-.866],[3,.866],[4,-.866],[5,0],[6,0]]])
newmode(0,"T2g bend",3,[[[1,1,"y:90"],[1,1],[1,1,"y:-90"],[1,-1],[5,0],[6,0]],[[1,1,"z:90"],[2,0],[3,1,"z:90"],[4,0],[5,1,"z:-90"],[6,1,"z:-90"]],[[1,0],[2,1,"x:90"],[3,0],[4,1,"x:90"],[5,1,"x:-90"],[6,1,"x:-90"]]])
newmode(0,"T1u stretch",3,[[[1,0],[2,0],[3,0],[4,0],[5,1],[6,-1]],[[1,0],[2,1],[3,0],[4,-1],[5,0],[6,0]],[[1,1],[2,0],[3,-1],[4,0],[5,0],[6,0]]])
newmode(0,"T1u bend",3,[[[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[5,0],[6,0]],[[1,0],[2,1,"y:90"],[3,0],[2,1,"y:90"],[2,1,"y:90"],[2,1,"y:90"]],[[1,1,"y:90"],[2,0],[1,1,"y:90"],[4,0],[1,1,"y:90"],[1,1,"y:90"]]])
newmode(0,"T2u bend",3,[[[1,0],[1,-1],[3,0],[1,-1],[1,1],[1,1]],[[5,1],[5,-1],[5,1],[5,-1],[5,0],[6,0]],[[2,1],[2,0],[2,1],[4,0],[2,-1],[2,-1]]])

newmodel("octahedral: XA4B2","XAAAABB",["U","Br","Br","Br","Br","O","O"],["d=X-A=281.4","d=X-B=178"],[["X-A","y:45"],["X-A","y:135"],["X-A","y:225"],["X-A","y:315"],["X-B","z:90"],["X-B","z:-90"]],"rotate x 20")
newmode("octahedral: XA4B2","A1g stretch 1",1,[[[1,1],[2,1],[3,1],[4,1],[5,0],[6,0]]])
newmode(0,"A1g stretch 2",1,[[[1,0],[2,0],[3,0],[4,0],[5,1],[6,1]]])
newmode(0,"B1g stretch",1,[[[1,1],[2,-1],[3,1],[4,-1],[5,0],[6,0]]])
newmode(0,"B2g bend",1,[[[4,1],[3,1],[2,1],[1,1],[5,0],[6,0]]])
newmode(0,"Eg bend",2,[[[5,1],[2,0],[6,1],[4,0],["l"],["l"]],[[1,0],[5,1],[3,0],[6,1],["l"],["l"]]])
newmode(0,"A2u stretch",1,[[[1,0],[2,0],[3,0],[4,0],[5,1],[6,-1]]])
newmode(0,"A2u bend",1,[[[5,1],[5,1],[5,1],[5,1],[5,0],[6,0]]])
newmode(0,"B2u bend",1,[[[5,1],[6,1],[5,1],[6,1],[5,0],[6,0]]])
newmode(0,"Eu stretch",2,[[[1,1],[2,0],[3,-1],[4,0],[5,0],[6,0]],[[1,0],[2,1],[3,0],[4,-1],[5,0],[6,0]]])
newmode(0,"Eu bend 1",2,[[[2,1],[2,0],[2,1],[4,0],[5,0],[6,0]],[[1,0],[3,1],[3,0],[3,1],[5,0],[6,0]]])
newmode(0,"Eu bend 2",2,[[[1,0],[2,0],[3,0],[4,0],[1,1],[1,1]],[[1,0],[2,0],[3,0],[4,0],[2,1],[2,1]]])

newmodel("octahedral: XA4BC","XAAAABC",["I","F","F","F","F","F","O"],["d=X-A=181.7","d=X-B=186.3","d=X-C=200","a=A-X-B=82"],[["X-A","z:90-[A-X-B]"],["X-A","z:90-[A-X-B]","y:90"],["X-A","z:90-[A-X-B]","y:180"],["X-A","z:90-[A-X-B]","y:-90"],["X-B","z:90"],["X-C","z:-90"]],"rotate y 45;rotate x 20")
newmode("octahedral: XA4BC","A1 stretch 1",1,[[[1,1],[2,1],[3,1],[4,1],[5,0],[6,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,0],[4,0],[5,1],[6,0]]])
newmode(0,"A1 stretch 3",1,[[[1,0],[2,0],[3,0],[4,0],[5,0],[6,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:90"],[2,1,"x:90"],[3,1,"z:-90"],[4,1,"x:-90"],[5,0],[6,0]]])
newmode(0,"B1 stretch",1,[[[1,1],[2,-1],[3,1],[4,-1],[5,0],[6,0]]])
newmode(0,"B1 bend",1,[[[1,1,"z:90"],[2,-1,"x:90"],[3,1,"z:-90"],[4,-1,"x:-90"],[5,0],[6,0]]])
newmode(0,"B2 bend",1,[[[5,1,"x:90"],[5,1,"z:90"],[5,1,"x:-90"],[5,1,"z:-90"],[5,0],[6,0]]])
newmode(0,"E stretch",2,[[[1,1],[2,0],[3,-1],[4,0],[5,0],[6,0]],[[1,0],[2,1],[3,0],[4,-1],[5,0],[6,0]]])
newmode(0,"E bend 1",2,[[[5,1,"x:90"],[2,0],[5,1,"x:90"],[4,0],[5,0],[6,0]],[[1,0],[5,1,"z:90"],[3,0],[5,1,"z:90"],[5,0],[6,0]]])
newmode(0,"E bend 2",2,[[[1,0],[2,0],[3,0],[4,0],[5,1,"z:-90"],["l"]],[[1,0],[2,0],[3,0],[4,0],[5,1,"x:-90"],["l"]]])
newmode(0,"E bend 3",2,[[[1,1,"z:90"],[2,0],[3,1,"z:90"],[4,0],[5,1,"z:90","l"],[5,1,"z:-90","l"]],[[1,0],[2,1,"x:90"],[3,0],[4,1,"x:90"],[5,1,"x:90","l"],[5,1,"x:-90","l"]]])

newmodel("octahedral: XA3B3","XAAABBB",["I","Cl","Cl","Cl","F","F","F"],["d=X-A=250","d=X-B=225","a=A-X-A=90","a=B-X-B=90"],[["X-A","z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])"],["X-A","z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:120"],["X-A","z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:-120"],["X-B","z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:60"],["X-B","z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:180"],["X-B","z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:300"]],"rotate x 20")
newmode("octahedral: XA3B3","A1 stretch 1",1,[[[1,1],[2,1],[3,1],[4,0],[5,0],[6,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,0],[4,1],[5,1],[6,1]]])
newmode(0,"A1 bend 1",1,[[[1,1,"z:90"],[1,1,"z:90","y:120"],[1,1,"z:90","y:240"],[4,0],[5,0],[6,0]]])
newmode(0,"A1 bend 2",1,[[[1,0],[2,0],[3,0],[5,1,"z:90","y:-120"],[5,1,"z:90"],[5,1,"z:90","y:120"]]])
newmode(0,"A2 bend",1,[[[1,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:90"],[1,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:210"],[1,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:330"],[5,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:-210","l"],[5,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:-90","l"],[5,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:30","l"]]])
newmode(0,"E stretch 1",2,[[[1,1],[2,-.5],[3,-.5],[4,0],[5,0],[6,0]],[[1,0],[2,.866],[3,-.866],[4,0],[5,0],[6,0]]])
newmode(0,"E stretch 2",2,[[[1,0],[2,0],[3,0],[4,1],[5,-.5],[6,-.5]],[[1,0],[2,0],[3,0],[4,0],[5,.866],[6,-.866]]])
newmode(0,"E bend 1",2,[[[1,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:90"],[1,-.5,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:210"],[1,-.5,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:330"],[4,0],[5,0],[6,0]],[[1,0],[1,.866,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:210"],[1,-.866,"z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:330"],[4,0],[5,0],[6,0]]])
newmode(0,"E bend 2",2,[[[1,0],[2,0],[3,0],[5,1,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:-30"],[5,-.5,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:90"],[5,-.5,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:210"]],[[1,0],[2,0],[3,0],[4,0],[5,.866,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:90"],[5,-.866,"z:-57.3*Math.acos(Math.sqrt(2*[X-B]*[X-B]*(1-Math.cos([B-X-B]*.01745)))/1.732/[X-B])","y:210"]]])
newmode(0,"E bend 3",2,[[[1,1,"z:90"],[1,-.5,"z:90","y:120"],[1,-.5,"z:90","y:240"],[5,-.5,"z:-90","y:-120","l"],[5,1,"z:-90","l"],[5,-.5,"z:-90","y:120","l"]],[[1,0],[1,.866,"z:90","y:120"],[1,-.866,"z:90","y:240"],[5,.866,"z:-90","y:-120","l"],[5,0],[5,-.866,"z:-90","y:120","l"]]])

newmodel("pentagonal bipyramidal: XA5B2","XAAAAABB",["U","F","F","F","F","F","O","O"],["d=X-A=223.92","d=X-B=176.65"],[["X-A"],["X-A","y:72"],["X-A","y:144"],["X-A","y:216"],["X-A","y:288"],["X-B","z:90"],["X-B","z:-90"]],"rotate x 15")
newmode("pentagonal bipyramidal: XA5B2","A1' stretch 1",1,[[[1,1],[2,1],[3,1],[4,1],[5,1],[6,0],[7,0]]])
newmode(0,"A1' stretch 2",1,[[[1,0],[2,0],[3,0],[4,0],[5,0],[6,1],[7,1]]])
newmode(0,"E1' stretch",2,[[[1,1],[2,.309],[3,-.809],[4,-.809],[5,.309],[6,0],[7,0]],[[1,0],[2,.951],[3,.588],[4,-.588],[5,-.951],[6,0],[7,0]]])
newmode(0,"E1' bend 1",2,[[[1,1,"y:90"],[2,.309,"y:90"],[3,-.809,"y:90"],[4,-.809,"y:90"],[5,.309,"y:90"],[6,0],[7,0]],[[1,0],[2,.951,"y:90"],[3,.588,"y:90"],[4,-.588,"y:90"],[5,-.951,"y:90"],[6,0],[7,0]]])
newmode(0,"E1' bend 2",2,[[[1,0],[2,0],[3,0],[4,0],[5,0],[6,1,"z:-90"],[6,1,"z:-90"]],[[1,0],[2,0],[3,0],[4,0],[5,0],[6,1,"x:-90"],[6,1,"x:-90"]]])
newmode(0,"E2' stretch",2,[[[1,1],[2,-.809],[3,.309],[4,.309],[5,-.809],[6,0],[7,0]],[[1,0],[2,.588],[3,-.951],[4,.951],[5,-.588],[6,0],[7,0]]])
newmode(0,"E2' bend",2,[[[1,1,"y:90"],[2,-.809,"y:90"],[3,.309,"y:90"],[4,.309,"y:90"],[5,-.809,"y:90"],[6,0],[7,0]],[[1,0],[2,.588,"y:90"],[3,-.951,"y:90"],[4,.951,"y:90"],[5,-.588,"y:90"],[6,0],[7,0]]])
newmode(0,"A2'' stretch",1,[[[1,0],[2,0],[3,0],[4,0],[5,0],[6,1],[7,-1]]])
newmode(0,"A2'' bend",1,[[[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[6,0],[7,0]]])
newmode(0,"E1'' bend",2,[[[6,1],[6,.309],[6,-.809],[6,-.809],[6,.309],["l"],["l"]],[[1,0],[6,.951],[6,.588],[6,-.588],[6,-.951],["l"],["l"]]])
newmode(0,"E2'' bend",2,[[[1,1,"z:90"],[1,-.809,"z:90"],[1,.309,"z:90"],[1,.309,"z:90"],[1,-.809,"z:90"],[6,0],[7,0]],[[1,0],[1,.588,"z:90"],[1,-.951,"z:90"],[1,.951,"z:90"],[1,-.588,"z:90"],[6,0],[7,0]]])

newmodel("pentagonal bipyramidal: XA5BC","XAAAAABC",["I","F","F","F","F","F","F","O"],["d=X-A=187.4","d=X-B=182","d=X-C=177.5","a=A-X-B=83.5"],[["X-A","z:90-[A-X-B]"],["X-A","z:90-[A-X-B]","y:72"],["X-A","z:90-[A-X-B]","y:144"],["X-A","z:90-[A-X-B]","y:216"],["X-A","z:90-[A-X-B]","y:288"],["X-B","z:90"],["X-C","z:-90"]],"rotate x 15")
newmode("pentagonal bipyramidal: XA5BC","A1 stretch 1",1,[[[1,1],[2,1],[3,1],[4,1],[5,1],[6,0],[7,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,0],[4,0],[5,0],[6,1],[7,0]]])
newmode(0,"A1 stretch 3",1,[[[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,1]]])
newmode(0,"A2 bend",1,[[[1,1,"z:90"],[1,1,"z:90","y:72"],[1,1,"z:90","y:144"],[1,1,"z:90","y:216"],[1,1,"z:90","y:288"],[6,0],[7,0]]])
newmode(0,"E1 stretch",2,[[[1,1],[2,.309],[3,-.809],[4,-.809],[5,.309],[6,0],[7,0]],[[1,0],[2,.951],[3,.588],[4,-.588],[5,-.951],[6,0],[7,0]]])
newmode(0,"E1 bend 1",2,[[[1,1,"z:-90+[A-X-B]","y:90"],[1,.309,"z:-90+[A-X-B]","y:162"],[1,-.809,"z:-90+[A-X-B]","y:234"],[1,-.809,"z:-90+[A-X-B]","y:306"],[1,.309,"z:-90+[A-X-B]","y:18"],[6,0],[7,0]],[[1,0],[2,.951,"y:90"],[3,.588,"y:90"],[4,-.588,"y:90"],[5,-.951,"y:90"],[6,0],[7,0]]])
newmode(0,"E1 bend 2",2,[[[1,1,"z:90"],[1,.309,"z:90","y:72"],[1,-.809,"z:90","y:144"],[1,-.809,"z:90","y:216"],[1,.309,"z:90","y:288"],["l"],["l"]],[[1,0],[1,.951,"z:90","y:72"],[1,.588,"z:90","y:144"],[1,-.588,"z:90","y:216"],[1,-.951,"z:90","y:288"],["l"],["l"]]])
newmode(0,"E1 bend 3",2,[[[1,0],[2,0],[3,0],[4,0],[5,0],["l"],[7,1,"z:-90"]],[[1,0],[2,0],[3,0],[4,0],[5,0],["l"],[7,1,"x:-90"]]])
newmode(0,"E2 stretch",2,[[[1,1],[2,-.809],[3,.309],[4,.309],[5,-.809],[6,0],[7,0]],[[1,0],[2,.588],[3,-.951],[4,.951],[5,-.588],[6,0],[7,0]]])
newmode(0,"E2 bend 1",2,[[[1,1,"z:-90+[A-X-B]","y:90"],[1,-.809,"z:-90+[A-X-B]","y:162"],[1,.309,"z:-90+[A-X-B]","y:234"],[1,.309,"z:-90+[A-X-B]","y:306"],[1,-.809,"z:-90+[A-X-B]","y:18"],[6,0],[7,0]],[[1,0],[1,.588,"z:-90+[A-X-B]","y:162"],[1,-.951,"z:-90+[A-X-B]","y:234"],[1,.951,"z:-90+[A-X-B]","y:306"],[1,-.588,"z:-90+[A-X-B]","y:18"],[6,0],[7,0]]])
newmode(0,"E2 bend 2",2,[[[1,1,"z:90"],[1,-.809,"z:90","y:72"],[1,.309,"z:90","y:144"],[1,.309,"z:90","y:216"],[1,-.809,"z:90","y:288"],[6,0],[7,0]],[[1,0],[1,.588,"z:90","y:72"],[1,-.951,"z:90","y:144"],[1,.951,"z:90","y:216"],[1,-.588,"z:90","y:288"],[6,0],[7,0]]])

newmodel("pentagonal planar: XA5","XAAAAA",["Xe","F","F","F","F","F"],["d=X-A=201.18"],[["X-A"],["X-A","y:72"],["X-A","y:144"],["X-A","y:216"],["X-A","y:288"]],"rotate x 30")
newmode("pentagonal planar: XA5","A1' stretch",1,[[[1,1],[2,1],[3,1],[4,1],[5,1]]])
newmode(0,"E1' stretch",2,[[[1,1],[2,.309],[3,-.809],[4,-.809],[5,.309]],[[1,0],[2,.951],[3,.588],[4,-.588],[5,-.951]]])
newmode(0,"E1' bend",2,[[[1,1,"y:90"],[2,.309,"y:90"],[3,-.809,"y:90"],[4,-.809,"y:90"],[5,.309,"y:90"]],[[1,0],[2,.951,"y:90"],[3,.588,"y:90"],[4,-.588,"y:90"],[5,-.951,"y:90"]]])
newmode(0,"E2' stretch",2,[[[1,1],[2,-.809],[3,.309],[4,.309],[5,-.809]],[[1,0],[2,.588],[3,-.951],[4,.951],[5,-.588]]])
newmode(0,"E2' bend",2,[[[1,1,"y:90"],[2,-.809,"y:90"],[3,.309,"y:90"],[4,.309,"y:90"],[5,-.809,"y:90"]],[[1,0],[2,.588,"y:90"],[3,-.951,"y:90"],[4,.951,"y:90"],[5,-.588,"y:90"]]])
newmode(0,"A2'' bend",1,[[[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"]]])
newmode(0,"E2'' bend",2,[[[1,1,"z:90"],[1,-.809,"z:90"],[1,.309,"z:90"],[1,.309,"z:90"],[1,-.809,"z:90"]],[[1,0],[1,.588,"z:90"],[1,-.951,"z:90"],[1,.951,"z:90"],[1,-.588,"z:90"]]])

newmodel("see-saw: XA2B2","XAABB",["I","O","O","F","F"],["d=X-A=176.9","d=X-B=200","a=A-X-A=102","a=B-X-B=179.1"],[["X-A","y:[A-X-A]/2"],["X-A","y:-[A-X-A]/2"],["X-B","z:[B-X-B]/2"],["X-B","z:-[B-X-B]/2"]],"rotate x 20")
newmode("see-saw: XA2B2","A1 stretch 1",1,[[[1,0],[2,0],[3,1],[4,1]]])
newmode(0,"A1 stretch 2",1,[[[1,1],[2,1],[3,0],[4,0]]])
newmode(0,"A1 bend 1",1,[[[1,1,"y:-90"],[2,1,"y:90"],[3,0],[4,0]]])
newmode(0,"A1 bend 2",1,[[[1,0],[2,0],[3,1,"z:-90"],[4,1,"z:90"]]])
newmode(0,"A2 bend",1,[[[1,1,"y:-[A-X-A]/2","z:90"],[2,1,"y:[A-X-A]/2","z:-90"],[3,1,"z:-[B-X-B]/2","y:90","l"],[4,1,"z:[B-X-B]/2","y:-90","l"]]])
newmode(0,"B1 stretch",1,[[[1,-1],[2,1],[3,0],[4,0]]])
newmode(0,"B1 bend",1,[[[1,1,"y:90","l"],[2,1,"y:90","l"],[3,1,"z:-[B-X-B]/2","y:90"],[4,1,"z:[B-X-B]/2","y:90"]]])
newmode(0,"B2 stretch",1,[[[1,0],[2,0],[3,1],[4,-1]]])
newmode(0,"B2 bend",1,[[[1,1,"y:-[A-X-A]/2","z:90"],[2,1,"y:[A-X-A]/2","z:90"],[3,1,"z:-90","l"],[4,1,"z:-90","l"]]])

newmodel("square antiprism: XA8","XAAAAAAAA",["Ta","F","F","F","F","F","F","F","F"],["d=X-A=198.5"],[["X-A","z:30.735"],["X-A","z:30.735","y:90"],["X-A","z:149.265"],["X-A","z:30.735","y:270"],["X-A","z:-30.735","y:-45"],["X-A","z:-30.735","y:45"],["X-A","z:-30.735","y:135"],["X-A","z:-30.735","y:225"]],"rotate y 22")
newmode("square antiprism: XA8","A1 stretch",1,[[[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1]]])
newmode(0,"A1 bend",1,[[["a",1,-1,3,1,1],["a",2,-1,4,1,1],["a",1,1,3,-1,1],["a",2,1,4,-1,1],["a",5,-1,7,1,1],["a",6,-1,8,1,1],["a",5,1,7,-1,1],["a",6,1,8,-1,1]]])
newmode(0,"B1 bend",1,[[[1,1,"z:-30.735","y:-90"],[1,1,"z:-30.735"],[1,1,"z:-30.735","y:90"],[1,-1,"z:-30.735"],[1,1,"z:-30.735","y:45"],[1,1,"z:-30.735","y:135"],[1,1,"z:-30.735","y:225"],[1,1,"z:-30.735","y:315"]]])
newmode(0,"B2 stretch",1,[[[1,1],[2,1],[3,1],[4,1],[5,-1],[6,-1],[7,-1],[8,-1]]])
newmode(0,"B2 bend",1,[[["a",1,-1,3,1,1],["a",2,-1,4,1,1],["a",1,1,3,-1,1],["a",2,1,4,-1,1],["a",5,1,7,-1,1],["a",6,1,8,-1,1],["a",5,-1,7,1,1],["a",6,-1,8,1,1]]])
newmode(0,"E1 stretch",2,[[[1,1],[2,0],[3,-1],[4,0],[5,.707],[6,.707],[7,-.707],[8,-.707]],[[1,0],[2,1],[3,0],[4,-1],[5,-.707],[6,.707],[7,.707],[8,-.707]]])
newmode(0,"E1 bend 1",2,[[["a",1,1,3,-1,1],[2,0],["a",1,1,3,-1,1],[4,0],["a",5,1,7,-1,.707],["a",6,1,8,-1,.707],["a",5,1,7,-1,.707],["a",6,1,8,-1,.707]],[[1,0],["a",2,1,4,-1,1],[3,0],["a",2,1,4,-1,1],["a",5,-1,7,1,.707],["a",6,1,8,-1,.707],["a",5,-1,7,1,.707],["a",6,1,8,-1,.707]]])
newmode(0,"E1 bend 2",2,[[[1,0],[1,1,"z:-30.375"],[3,0],[1,1,"z:-30.375"],[1,1,"z:-30.375","y:45"],[1,1,"z:-30.375","y:-45"],[1,1,"z:-30.375","y:45"],[1,1,"z:-30.375","y:-45"]],[[1,1,"z:-30.375","y:90"],[2,0],[1,1,"z:-30.375","y:90"],[4,0],[1,.707,"z:-30.375","y:45"],[1,.707,"z:-30.375","y:135"],[1,.707,"z:-30.375","y:45"],[1,.707,"z:-30.375","y:135"]]])
newmode(0,"E2 stretch",2,[[[1,1],[2,-1],[3,1],[4,-1],[5,0],[6,0],[7,0],[8,0]],[[1,0],[2,0],[3,0],[4,0],[5,1],[6,-1],[7,1],[8,-1]]])
newmode(0,"E2 bend 1",2,[[["a",1,-1,3,1,1],["a",2,1,4,-1,1],["a",1,1,3,-1,1],["a",2,-1,4,1,1],[5,0],[6,0],[7,0],[8,0]],[[1,0],[2,0],[3,0],[4,0],["a",5,-1,7,1,1],["a",6,1,8,-1,1],["a",5,1,7,-1,1],["a",6,-1,8,1,1]]])
newmode(0,"E2 bend 2",2,[[[1,1,"z:-30.375","y:-90"],[1,-1,"z:-30.375"],[1,1,"z:-30.375","y:90"],[1,1,"z:-30.375"],[5,0],[6,0],[7,0],[8,0]],[[1,0],[2,0],[3,0],[4,0],[1,1,"z:-30.375","y:45"],[1,1,"z:-30.375","y:-45"],[1,1,"z:-30.375","y:225"],[1,1,"z:-30.375","y:135"]]])
newmode(0,"E3 stretch",2,[[[1,1],[2,0],[3,-1],[4,0],[5,-.707],[6,-.707],[7,.707],[8,.707]],[[1,0],[2,1],[3,0],[4,-1],[5,.707],[6,-.707],[7,-.707],[8,.707]]])
newmode(0,"E3 bend",2,[[[1,0],[1,1,"z:-30.375"],[3,0],[1,1,"z:-30.375"],[1,.707,"z:-30.375","y:225"],[1,.707,"z:-30.375","y:135"],[1,.707,"z:-30.375","y:225"],[1,.707,"z:-30.375","y:135"]],[[2,1,"x:-30.375"],[2,0],[2,1,"x:-30.375"],[4,0],[1,.707,"z:-30.375","y:225"],[1,.707,"z:-30.375","y:-45"],[1,.707,"z:-30.375","y:225"],[1,.707,"z:-30.375","y:-45"]]])

newmodel("square planar: XA4","XAAAA",["Se","Cl","Cl","Cl","Cl"],["d=X-A=244.1"],[["X-A"],["X-A","y:90"],["X-A","y:180"],["X-A","y:270"]],"rotate y 45;rotate x 20")
newmode("square planar: XA4","A1g stretch",1,[[[1,1],[2,1],[3,1],[4,1]]])
newmode(0,"B1g stretch",1,[[[1,-1],[2,1],[3,-1],[4,1]]])
newmode(0,"B2g bend",1,[[[4,1],[3,1],[2,1],[1,1]]])
newmode(0,"A2u bend",1,[[[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"]]])
newmode(0,"B2u bend",1,[[[1,1,"z:90"],[1,1,"z:-90"],[1,1,"z:90"],[1,1,"z:-90"]]])
newmode(0,"Eu stretch",2,[[[1,1],[2,0],[3,-1],[4,0]],[[1,0],[2,1],[3,0],[4,-1]]])
newmode(0,"Eu bend",2,[[[2,1],[2,0],[2,1],[4,0]],[[1,0],[1,1],[3,0],[1,1]]])

newmodel("square planar: XA2B2","XAABB",["Pt","Cl","Cl","Br","Br"],["d=X-A=200","d=X-B=220"],[["X-A"],["X-A","y:180"],["X-B","y:90"],["X-B","y:-90"]],"rotate y 45;rotate x 20")
newmode("square planar: XA2B2","Ag stretch 1",1,[[[1,1],[2,1],[3,0],[4,0]]])
newmode(0,"Ag stretch 2",1,[[[1,0],[2,0],[3,1],[4,1]]])
newmode(0,"B1g bend",1,[[[3,1],[4,1],[1,1,"l"],[2,1,"l"]]])
newmode(0,"B1u bend 1",1,[[[1,1,"z:90"],[1,1,"z:90"],[3,0],[4,0]]])
newmode(0,"B1u bend 2",1,[[[1,0],[2,0],[1,1,"z:90"],[1,1,"z:90"]]])
newmode(0,"B2u stretch",1,[[[1,1],[1,1],[3,0],[4,0]]])
newmode(0,"B2u bend",1,[[[1,0],[2,0],[1,1],[1,1]]])
newmode(0,"B3u stretch",1,[[[1,0],[2,0],[3,1],[3,1]]])
newmode(0,"B3u bend",1,[[[3,1],[3,1],[3,0],[4,0]]])

newmodel("square pyramidal: XA4B","XAAAAB",["Xe","F","F","F","F","F"],["d=X-A=185","d=X-B=179","a=A-X-B=88.9"],[["X-A","z:90-[A-X-B]","y:180"],["X-A","z:90-[A-X-B]"],["X-A","z:90-[A-X-B]","y:-90"],["X-A","z:90-[A-X-B]","y:90"],["X-B","z:90"]],"rotate y 45;rotate x 20")
newmode("square pyramidal: XA4B","A1 stretch 1",1,[[[1,1],[2,1],[3,1],[4,1],[5,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,0],[4,0],[5,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:90"],[1,1,"z:90","y:180"],[1,1,"z:90","y:90"],[1,1,"z:90","y:-90"],[5,0]]])
newmode(0,"B1 stretch",1,[[[1,1],[2,1],[3,-1],[4,-1],[5,0]]])
newmode(0,"B1 bend",1,[[[1,1,"z:-90"],[2,1,"z:90"],[3,1,"x:90"],[4,1,"x:-90"],[5,0]]])
newmode(0,"B2 bend",1,[[[1,1,"z:-[A-X-B]+90","y:90"],[1,1,"z:-[A-X-B]+90","y:-90"],[1,1,"z:-[A-X-B]+90"],[1,1,"z:-[A-X-B]+90","y:180"],[5,0]]])
newmode(0,"E stretch",2,[[[1,1],[2,-1],[3,0],[4,0],[5,0]],[[1,0],[2,0],[3,1],[4,-1],[5,0]]])
newmode(0,"E bend 1",2,[[[1,1,"z:90-[A-X-B]","y:90"],[1,1,"z:90-[A-X-B]","y:90"],[3,0],[4,0],[5,0]],[[1,0],[2,0],[1,1,"z:90-[A-X-B]"],[1,1,"z:90-[A-X-B]"],[5,0]]])
newmode(0,"E bend 2",2,[[[1,1,"z:90"],[2,1,"z:90"],[3,0],[4,0],["l"]],[[1,0],[2,0],[3,1,"x:90"],[4,1,"x:90"],["l"]]])

newmodel("T-shaped: XA2B","XAAB",["Cl","F","F","F"],["d=X-A=169.8","d=X-B=159.8","a=A-X-A=174"],[["X-A","z:[A-X-A]"],["X-A","z:90-[A-X-A]/2"],["X-B","z:[A-X-A]/2"]])
newmode("T-shaped: XA2B","A1 stretch 1",1,[[[1,1],[2,1],[3,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:-90"],[2,1,"z:90"],[3,0]]])
newmode(0,"B1 stretch",1,[[[1,-1],[2,1],[3,0]]])
newmode(0,"B1 bend",1,[[[1,1,"z:-90"],[2,1,"z:-90"],["l"]]])
newmode(0,"B2 bend",1,[[[1,1,"z:90-[A-X-A]/2","y:-90"],[2,1,"z:-90+[A-X-A]/2","y:90"],[2,1,"z:-90+[A-X-A]/2","y:90"]]])

newmodel("tetrahedral: XA4","XAAAA",["Cr","O","O","O","O"],["d=X-A=164.5"],[["X-A","z:199.5"],["X-A","z:199.5","y:120"],["X-A","z:199.5","y:-120"],["X-A","z:90"]],"rotate y -15")
newmode("tetrahedral: XA4","A1 stretch",1,[[[1,1],[2,1],[3,1],[4,1]]])
newmode(0,"E bend",2,[[[1,1,"z:-90"],["a",2,-1,3,1,1],["a",2,1,3,-1,1],[4,1,"z:90"]],[["a",1,-1,2,1,1],["a",1,1,2,-1,1],["a",3,-1,4,1,1],["a",3,1,4,-1,1]]])
newmode(0,"T2 stretch",3,[[[1,1],[2,1],[3,-1],[4,-1]],[[1,1],[2,-1],[3,1],[4,-1]],[[1,1],[2,-1],[3,-1],[4,1]]])
newmode(0,"T2 bend",3,[[["a",1,-1,2,1,1],["a",1,1,2,-1,1],["a",1,1,2,1,3,-1,1],["a",1,1,2,1,4,-1,1]],[["a",1,-1,3,1,1],["a",1,1,2,-1,3,1,1],["a",1,1,3,-1,1],["a",1,1,3,1,4,-1,1]],[["a",1,-1,4,1,1],["a",1,1,2,-1,4,1,1],["a",1,1,3,-1,4,1,1],["a",1,1,4,-1,1]]])

newmodel("tetrahedral: XA3B","XAAAB",["C","Cl","Cl","Cl","F"],["d=X-A=176","d=X-B=144","a=A-X-B=105.4"],[["X-A","z:90-[A-X-B]"],["X-A","z:90-[A-X-B]","y:120"],["X-A","z:90-[A-X-B]","y:240"],["X-B","z:90"]],"rotate x 20")
newmode("tetrahedral: XA3B","A1 stretch",1,[[[1,1],[2,1],[3,1],[4,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,0],[4,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:-90"],[1,1,"z:-90","y:120"],[1,1,"z:-90","y:-120"],[4,0]]])
newmode(0,"E stretch",2,[[[1,1],[2,-.5],[3,-.5],[4,0]],[[1,0],[2,.866],[3,-.866],[4,0]]])
newmode(0,"E bend 1",2,[[[1,1,"z:-90+[A-X-B]","y:90"],[1,-.5,"z:-90+[A-X-B]","y:210"],[1,-.5,"z:-90+[A-X-B]","y:330"],["l"]],[[1,0],[1,.866,"z:-90+[A-X-B]","y:210"],[1,-.866,"z:-90+[A-X-B]","y:330"],["l"]]])
newmode(0,"E bend 2",2,[[[1,1,"z:90"],[1,-.5,"z:90","y:120"],[1,-.5,"z:90","y:240"],["l"]],[[1,0],[1,.866,"z:90","y:120"],[1,-.866,"z:90","y:240"],["l"]]])

newmodel("tetrahedral: XA2B2","XAABB",["C","F","F","Cl","Cl"],["d=X-A=133.4","d=X-B=176.5","a=A-X-A=107.7","a=B-X-B=111.5"],[["X-A","y:-90","x:90-[A-X-A]/2"],["X-A","y:-90","x:90+[A-X-A]/2"],["X-B","z:90-[B-X-B]/2"],["X-B","z:90+[B-X-B]/2"]],"rotate y -20")
newmode("tetrahedral: XA2B2","A1 stretch1",1,[[[1,1],[2,1],[3,0],[4,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,1],[4,1]]])
newmode(0,"A1 bend 1",1,[[[1,1,"x:90"],[2,1,"x:-90"],[3,0],[4,0]]])
newmode(0,"A1 bend 2",1,[[[1,0],[2,0],[3,1,"z:-90"],[4,1,"z:90"]]])
newmode(0,"A2 bend",1,[[[1,1,"x:-90+[A-X-A]/2","y:-90"],[2,1,"x:+90-[A-X-A]/2","y:-90"],[3,1,"z:-90+[B-X-B]/2","y:90","l"],[4,1,"z:90-[B-X-B]/2","y:90","l"]]])
newmode(0,"B1 stretch",1,[[[1,-1],[2,1],[3,0],[4,0]]])
newmode(0,"B1 bend",1,[[[1,1,"x:-90"],[2,1,"x:-90"],[3,1,"z:[B-X-B]/2-90","y:90","l"],[4,1,"z:90-[B-X-B]/2","y:-90","l"]]])
newmode(0,"B2 stretch",1,[[[1,0],[2,0],[3,1],[4,-1]]])
newmode(0,"B2 bend",1,[[[1,1,"x:[A-X-A]/2-90","y:90","l"],[2,1,"x:90-[A-X-A]/2","y:-90","l"],[3,1,"z:90"],[4,1,"z:90"]]])

newmodel("trigonal bipyramidal: XA3B2","XAAABB",["P","Cl","Cl","Cl","Cl","Cl"],["d=X-A=202","d=X-B=214"],[["X-A"],["X-A","y:120"],["X-A","y:240"],["X-B","z:90"],["X-B","z:-90"]],"rotate x 15")
newmode("trigonal bipyramidal: XA3B2","A1' stretch 1",1,[[[1,1],[2,1],[3,1],[4,0],[5,0]]])
newmode(0,"A1' stretch 2",1,[[[1,0],[2,0],[3,0],[4,1],[5,1]]])
newmode(0,"E' stretch 1",2,[[[1,1],[2,-.5],[3,-.5],[4,0],[5,0]],[[1,0],[2,.866],[3,-.866],[4,0],[5,0]]])
newmode(0,"E' bend 1",2,[[[1,1,"y:90"],[2,-.5,"y:90"],[3,-.5,"y:90"],[4,0],[5,0]],[[1,0],[2,.866,"y:90"],[3,-.866,"y:90"],[4,0],[5,0]]])
newmode(0,"E' bend 2",2,[[[1,0],[2,0],[3,0],[4,1,"z:-90"],[4,1,"z:-90"]],[[1,0],[2,0],[3,0],[4,1,"x:-90"],[4,1,"x:-90"]]])
newmode(0,"A2'' stretch",1,[[[1,0],[2,0],[3,0],[4,1],[4,1]]])
newmode(0,"A2'' bend",1,[[[4,1],[4,1],[4,1],[4,0],[5,0]]])
newmode(0,"E'' bend",2,[[[4,1],[5,.5],[5,.5],["l"],["l"]],[[1,0],[4,.866],[5,.866],["l"],["l"]]])

newmodel("trigonal bipyramidal: XA2B2C","XAABBC",["S","F","F","F","F","O"],["d=X-A=155","d=X-B=158","d=X-C=141","a=A-X-A=110","a=B-X-B=178.5"],[["X-A","y:-[A-X-A]/2"],["X-A","y:[A-X-A]/2"],["X-B","z:[B-X-B]/2"],["X-B","z:-[B-X-B]/2"],["X-C","y:180"]])
newmode("trigonal bipyramidal: XA2B2C","A1 stretch 1",1,[[[1,0],[2,0],[3,0],[4,0],[5,1]]])
newmode(0,"A1 stretch 2",1,[[[1,1],[2,1],[3,0],[4,0],[5,0]]])
newmode(0,"A1 stretch 3",1,[[[1,0],[2,0],[3,1],[4,1],[5,0]]])
newmode(0,"A1 bend 1",1,[[[1,1,"y:90"],[2,1,"y:-90"],[3,0],[4,0],[5,0]]])
newmode(0,"A1 bend 2",1,[[[1,0],[2,0],[3,1,"z:-90"],[4,1,"z:90"],[5,0]]])
newmode(0,"A2 bend",1,[[[5,1,"z:-90"],[5,1,"z:90"],["l"],["l"],[5,0]]])
newmode(0,"B1 stretch",1,[[[1,-1],[2,1],[3,0],[4,0],[5,0]]])
newmode(0,"B1 bend 1",1,[[[1,1,"y:90"],[2,1,"y:90"],[1,0],[1,0],["l"]]])
newmode(0,"B1 bend 2",1,[[[1,0],[1,0],[5,1,"y:90"],[5,1,"y:90"],[5,0]]])
newmode(0,"B2 stretch",1,[[[1,0],[2,0],[3,1],[4,-1],[5,0]]])
newmode(0,"B2 bend 1",1,[[[5,1,"z:90"],[5,1,"z:90"],[3,0],[4,0],["l"]]])
newmode(0,"B2 bend 2",1,[[[1,0],[2,0],[5,1,"l"],[5,-1,"l"],[5,1,"z:90"]]])

newmodel("trigonal planar: XA3","XAAA",["S","O","O","O"],["d=X-A=143"],[["X-A"],["X-A","y:120"],["X-A","y:240"]],"rotate x 20")
newmode("trigonal planar: XA3","A1' stretch",1,[[[1,1],[2,1],[3,1]]])
newmode(0,"A2'' bend",1,[[[1,1,"z:90"],[1,1,"z:90"],[1,1,"z:90"]]])
newmode(0,"E' stretch",2,[[[1,1],[2,-.5],[3,-.5]],[[1,0],[2,.866],[3,-.866]]])
newmode(0,"E' bend",2,[[[1,1,"y:90"],[2,-.5,"y:90"],[3,-.5,"y:90"]],[[1,0],[2,.866,"y:90"],[3,-.866,"y:90"]]])

newmodel("trigonal planar: XA2B","XAAB",["N","O","O","F"],["d=X-A=136","d=X-B=112","a=A-X-B=112"],[["X-A","z:90+[A-X-B]"],["X-A","z:90-[A-X-B]"],["X-B","z:90"]])
newmode("trigonal planar: XA2B","A1 stretch 1",1,[[[1,1],[2,1],[3,0]]])
newmode(0,"A1 stretch 2",1,[[[1,0],[2,0],[3,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:-90"],[2,1,"z:90"],[3,-1]]])
newmode(0,"B1 stretch",1,[[[1,1],[2,-1],[3,0]]])
newmode(0,"B1 bend",1,[[[1,1,"z:90"],[2,1,"z:90"],[3,1,"z:90","l"]]])
newmode(0,"B2 bend",1,[[[1,1,"z:-[A-X-B]+90","y:-90"],[1,1,"z:-[A-X-B]+90","y:-90"],[3,1,"x:90","l"]]])

newmodel("trigonal pyramidal: XA3","XAAA",["As","H","H","H"],["d=X-A=151.95","a=A-X-A=91.8"],[["X-A","z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])"],["X-A","z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:120"],["X-A","z:-57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:-120"]],"rotate x 20")
newmode("trigonal pyramidal: XA3","A1 stretch",1,[[[1,1],[2,1],[3,1]]])
newmode(0,"A1 bend",1,[[[1,1,"z:-90"],[1,1,"z:-90","y:120"],[1,1,"z:-90","y:-120"]]])
newmode(0,"E stretch",2,[[[1,1],[2,-.5],[3,-.5]],[[1,0],[2,.866],[3,-.866]]])
newmode(0,"E bend",2,[[[1,1,"z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:90"],[1,-.5,"z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:210"],[1,-.5,"z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:330"]],[[1,0],[1,.866,"z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:210"],[1,.866,"z:57.3*Math.acos(Math.sqrt(2*[X-A]*[X-A]*(1-Math.cos([A-X-A]*.01745)))/1.732/[X-A])","y:150"]]])
