1 /*-------------------------------------------------------------------
2 Copyright 2011 Ravishankar Sundararaman
3 
4 This file is part of JDFTx.
5 
6 JDFTx is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10 
11 JDFTx is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with JDFTx.  If not, see <http://www.gnu.org/licenses/>.
18 -------------------------------------------------------------------*/
19 
20 #include <fluid/S2quad.h>
21 #include <fluid/Euler.h>
22 #include <algorithm>
23 #include <gsl/gsl_integration.h>
24 
add(vector3<> n,double relWeight,double s1phase)25 void S2quad::add(vector3<> n, double relWeight, double s1phase)
26 {	//Add the euler angle
27 	vector3<> tmpEuler;
28 	getEulerAxis(n, tmpEuler); //polar angles of S2 sets first two euler angles
29 	tmpEuler[2] = s1phase; //S1 phase guess is the third euler angle
30 	euler.push_back(tmpEuler);
31 	//Add the weight
32 	assert(relWeight > 0.);
33 	weight.push_back(relWeight);
34 }
35 
36 
EulerProduct(unsigned nBeta,unsigned nAlphaIn,unsigned nGammaIn)37 EulerProduct::EulerProduct(unsigned nBeta, unsigned nAlphaIn, unsigned nGammaIn)
38 : nBeta(nBeta),
39 nAlpha(nAlphaIn ? nAlphaIn : 2*nBeta),
40 nGamma(nGammaIn ? nGammaIn : 2*nBeta)
41 {
42 	assert(nBeta>0);
43 
44 	//Create a nBeta-point Gauss-Legendre quadrature for cos(beta) in [-1,1]
45 	gsl_integration_glfixed_table* glTable = gsl_integration_glfixed_table_alloc(nBeta);
46 	for(unsigned iBeta=0; iBeta<nBeta; iBeta++)
47 	{	double x, w; gsl_integration_glfixed_point(-1., +1., iBeta, &x, &w, glTable);
48 		double beta = acos(x); //note integration is ~ f(cos(beta)) sin(beta) dbeta
49 		//Create the S2 quadrature by using a uniform quadrature on alpha (since it's also S1)
50 		for(unsigned iAlpha=0; iAlpha<nAlpha; iAlpha++)
51 		{	double alpha = iAlpha * 2*M_PI/nAlpha;
52 			add(polarUnitVector(alpha, beta), w);
53 		}
54 	}
55 	gsl_integration_glfixed_table_free(glTable);
56 }
57 
jMax() const58 int EulerProduct::jMax() const
59 {	return std::min( 2*nBeta, std::min(nAlpha, nGamma) ) - 1;
60 }
61 
nS1() const62 int EulerProduct::nS1() const
63 {	return nGamma;
64 }
65 
name() const66 string EulerProduct::name() const
67 {	ostringstream oss;
68 	oss << "Euler(" << nBeta << "x" << nAlpha << ")";
69 	return oss.str();
70 }
71 
72 
73 //--------------- Platonic Solid rotation groups ------------------
74 
Tetrahedron()75 Tetrahedron::Tetrahedron()
76 {	add(polarUnitVector(0.0, 0.0));
77 	for(int i=1; i<=3; i++) add(polarUnitVector(2*i*M_PI/3, acos(-1.0/3)), 1., M_PI/3);
78 }
79 
Octahedron()80 Octahedron::Octahedron()
81 {	add(polarUnitVector(0.0, 0.0));
82 	for(int i=1; i<=4; i++) add(polarUnitVector(2*i*M_PI/4, M_PI/2));
83 	add(polarUnitVector(0.0, M_PI));
84 }
85 
Icosahedron()86 Icosahedron::Icosahedron()
87 {	add(polarUnitVector(0.0, 0.0));
88 	for(int i=1; i<=5; i++) add(polarUnitVector(2*i*M_PI/5, atan(2)), 1., M_PI/5);
89 	for(int i=1; i<=5; i++) add(polarUnitVector((2*i+1)*M_PI/5, M_PI-atan(2)));
90 	add(polarUnitVector(0.0, M_PI));
91 }
92 
93 
94 //--------------- Hardin and Sloane Spherical designs -----------------
95 // Auto-converted from http://www2.research.att.com/~njas/sphdesigns
96 
S2_7design_24()97 S2_7design_24::S2_7design_24()
98 {	add(vector3<>(+0.866246818107821, +0.422518653761112, +0.266635401516705));
99 	add(vector3<>(+0.866246818107821, -0.422518653761112, -0.266635401516705));
100 	add(vector3<>(+0.866246818107821, +0.266635401516705, -0.422518653761112));
101 	add(vector3<>(+0.866246818107821, -0.266635401516705, +0.422518653761112));
102 	add(vector3<>(-0.866246818107821, +0.422518653761112, -0.266635401516705));
103 	add(vector3<>(-0.866246818107821, -0.422518653761112, +0.266635401516705));
104 	add(vector3<>(-0.866246818107821, +0.266635401516705, +0.422518653761112));
105 	add(vector3<>(-0.866246818107821, -0.266635401516705, -0.422518653761112));
106 	add(vector3<>(+0.266635401516705, +0.866246818107821, +0.422518653761112));
107 	add(vector3<>(-0.266635401516705, +0.866246818107821, -0.422518653761112));
108 	add(vector3<>(-0.422518653761112, +0.866246818107821, +0.266635401516705));
109 	add(vector3<>(+0.422518653761112, +0.866246818107821, -0.266635401516705));
110 	add(vector3<>(-0.266635401516705, -0.866246818107821, +0.422518653761112));
111 	add(vector3<>(+0.266635401516705, -0.866246818107821, -0.422518653761112));
112 	add(vector3<>(+0.422518653761112, -0.866246818107821, +0.266635401516705));
113 	add(vector3<>(-0.422518653761112, -0.866246818107821, -0.266635401516705));
114 	add(vector3<>(+0.422518653761112, +0.266635401516705, +0.866246818107821));
115 	add(vector3<>(-0.422518653761112, -0.266635401516705, +0.866246818107821));
116 	add(vector3<>(+0.266635401516705, -0.422518653761112, +0.866246818107821));
117 	add(vector3<>(-0.266635401516705, +0.422518653761112, +0.866246818107821));
118 	add(vector3<>(+0.422518653761112, -0.266635401516705, -0.866246818107821));
119 	add(vector3<>(-0.422518653761112, +0.266635401516705, -0.866246818107821));
120 	add(vector3<>(+0.266635401516705, +0.422518653761112, -0.866246818107821));
121 	add(vector3<>(-0.266635401516705, -0.422518653761112, -0.866246818107821));
122 }
123 
S2_8design_36()124 S2_8design_36::S2_8design_36()
125 {	add(vector3<>(+0.507475446410817, -0.306200013239571, +0.805425492011663));
126 	add(vector3<>(-0.306200013239569, +0.805425492011663, +0.507475446410817));
127 	add(vector3<>(-0.507475446410817, +0.306200013239570, +0.805425492011663));
128 	add(vector3<>(+0.805425492011663, +0.507475446410817, -0.306200013239569));
129 	add(vector3<>(+0.306200013239569, +0.805425492011664, -0.507475446410817));
130 	add(vector3<>(+0.805425492011663, -0.507475446410817, +0.306200013239569));
131 	add(vector3<>(+0.306200013239569, -0.805425492011663, +0.507475446410816));
132 	add(vector3<>(-0.805425492011663, -0.507475446410817, -0.306200013239569));
133 	add(vector3<>(-0.306200013239570, -0.805425492011664, -0.507475446410816));
134 	add(vector3<>(-0.805425492011663, +0.507475446410818, +0.306200013239569));
135 	add(vector3<>(+0.507475446410817, +0.306200013239570, -0.805425492011663));
136 	add(vector3<>(-0.507475446410817, -0.306200013239570, -0.805425492011663));
137 	add(vector3<>(+0.626363670265271, -0.243527775409194, -0.740515209280720));
138 	add(vector3<>(-0.243527775409195, -0.740515209280720, +0.626363670265271));
139 	add(vector3<>(-0.626363670265271, +0.243527775409194, -0.740515209280720));
140 	add(vector3<>(-0.740515209280720, +0.626363670265270, -0.243527775409195));
141 	add(vector3<>(+0.243527775409195, -0.740515209280719, -0.626363670265271));
142 	add(vector3<>(-0.740515209280720, -0.626363670265270, +0.243527775409195));
143 	add(vector3<>(+0.243527775409195, +0.740515209280719, +0.626363670265271));
144 	add(vector3<>(+0.740515209280720, -0.626363670265270, -0.243527775409195));
145 	add(vector3<>(-0.243527775409195, +0.740515209280720, -0.626363670265271));
146 	add(vector3<>(+0.740515209280720, +0.626363670265270, +0.243527775409195));
147 	add(vector3<>(+0.626363670265271, +0.243527775409194, +0.740515209280720));
148 	add(vector3<>(-0.626363670265271, -0.243527775409194, +0.740515209280720));
149 	add(vector3<>(-0.286248723426035, +0.957120327092458, -0.044523564585421));
150 	add(vector3<>(+0.957120327092458, -0.044523564585420, -0.286248723426035));
151 	add(vector3<>(+0.286248723426035, -0.957120327092458, -0.044523564585421));
152 	add(vector3<>(-0.044523564585420, -0.286248723426035, +0.957120327092458));
153 	add(vector3<>(-0.957120327092458, -0.044523564585419, +0.286248723426035));
154 	add(vector3<>(-0.044523564585421, +0.286248723426034, -0.957120327092458));
155 	add(vector3<>(-0.957120327092458, +0.044523564585420, -0.286248723426034));
156 	add(vector3<>(+0.044523564585421, +0.286248723426034, +0.957120327092458));
157 	add(vector3<>(+0.957120327092458, +0.044523564585420, +0.286248723426034));
158 	add(vector3<>(+0.044523564585421, -0.286248723426034, -0.957120327092458));
159 	add(vector3<>(-0.286248723426034, -0.957120327092458, +0.044523564585421));
160 	add(vector3<>(+0.286248723426035, +0.957120327092458, +0.044523564585421));
161 }
162 
S2_9design_48()163 S2_9design_48::S2_9design_48()
164 {	add(vector3<>(+0.933364693199310, +0.353542188921472, -0.061953774231860));
165 	add(vector3<>(+0.933364693199310, -0.353542188921472, +0.061953774231860));
166 	add(vector3<>(+0.933364693199310, -0.061953774231860, -0.353542188921472));
167 	add(vector3<>(+0.933364693199310, +0.061953774231860, +0.353542188921472));
168 	add(vector3<>(-0.933364693199310, +0.353542188921472, +0.061953774231860));
169 	add(vector3<>(-0.933364693199310, -0.353542188921472, -0.061953774231860));
170 	add(vector3<>(-0.933364693199310, -0.061953774231860, +0.353542188921472));
171 	add(vector3<>(-0.933364693199310, +0.061953774231860, -0.353542188921472));
172 	add(vector3<>(-0.061953774231860, +0.933364693199310, +0.353542188921472));
173 	add(vector3<>(+0.061953774231860, +0.933364693199310, -0.353542188921472));
174 	add(vector3<>(-0.353542188921472, +0.933364693199310, -0.061953774231860));
175 	add(vector3<>(+0.353542188921472, +0.933364693199310, +0.061953774231860));
176 	add(vector3<>(+0.061953774231860, -0.933364693199310, +0.353542188921472));
177 	add(vector3<>(-0.061953774231860, -0.933364693199310, -0.353542188921472));
178 	add(vector3<>(+0.353542188921472, -0.933364693199310, -0.061953774231860));
179 	add(vector3<>(-0.353542188921472, -0.933364693199310, +0.061953774231860));
180 	add(vector3<>(+0.353542188921472, -0.061953774231860, +0.933364693199310));
181 	add(vector3<>(-0.353542188921472, +0.061953774231860, +0.933364693199310));
182 	add(vector3<>(-0.061953774231860, -0.353542188921472, +0.933364693199310));
183 	add(vector3<>(+0.061953774231860, +0.353542188921472, +0.933364693199310));
184 	add(vector3<>(+0.353542188921472, +0.061953774231860, -0.933364693199310));
185 	add(vector3<>(-0.353542188921472, -0.061953774231860, -0.933364693199310));
186 	add(vector3<>(-0.061953774231860, +0.353542188921472, -0.933364693199310));
187 	add(vector3<>(+0.061953774231860, -0.353542188921472, -0.933364693199310));
188 	add(vector3<>(+0.706841697712550, +0.639740098619792, +0.301840057965769));
189 	add(vector3<>(+0.706841697712550, -0.639740098619792, -0.301840057965769));
190 	add(vector3<>(+0.706841697712550, +0.301840057965769, -0.639740098619792));
191 	add(vector3<>(+0.706841697712550, -0.301840057965769, +0.639740098619792));
192 	add(vector3<>(-0.706841697712550, +0.639740098619792, -0.301840057965769));
193 	add(vector3<>(-0.706841697712550, -0.639740098619792, +0.301840057965769));
194 	add(vector3<>(-0.706841697712550, +0.301840057965769, +0.639740098619792));
195 	add(vector3<>(-0.706841697712550, -0.301840057965769, -0.639740098619792));
196 	add(vector3<>(+0.301840057965769, +0.706841697712550, +0.639740098619792));
197 	add(vector3<>(-0.301840057965769, +0.706841697712550, -0.639740098619792));
198 	add(vector3<>(-0.639740098619792, +0.706841697712550, +0.301840057965769));
199 	add(vector3<>(+0.639740098619792, +0.706841697712550, -0.301840057965769));
200 	add(vector3<>(-0.301840057965769, -0.706841697712550, +0.639740098619792));
201 	add(vector3<>(+0.301840057965769, -0.706841697712550, -0.639740098619792));
202 	add(vector3<>(+0.639740098619792, -0.706841697712550, +0.301840057965769));
203 	add(vector3<>(-0.639740098619792, -0.706841697712550, -0.301840057965769));
204 	add(vector3<>(+0.639740098619792, +0.301840057965769, +0.706841697712550));
205 	add(vector3<>(-0.639740098619792, -0.301840057965769, +0.706841697712550));
206 	add(vector3<>(+0.301840057965769, -0.639740098619792, +0.706841697712550));
207 	add(vector3<>(-0.301840057965769, +0.639740098619792, +0.706841697712550));
208 	add(vector3<>(+0.639740098619792, -0.301840057965769, -0.706841697712550));
209 	add(vector3<>(-0.639740098619792, +0.301840057965769, -0.706841697712550));
210 	add(vector3<>(+0.301840057965769, +0.639740098619792, -0.706841697712550));
211 	add(vector3<>(-0.301840057965769, -0.639740098619792, -0.706841697712550));
212 }
213 
S2_10design_60()214 S2_10design_60::S2_10design_60()
215 {	add(vector3<>(-0.753828667197017, +0.545951908061260, -0.365621190026287));
216 	add(vector3<>(+0.545951908061258, -0.365621190026290, -0.753828667197017));
217 	add(vector3<>(+0.753828667197016, -0.545951908061261, -0.365621190026288));
218 	add(vector3<>(-0.365621190026289, -0.753828667197017, +0.545951908061259));
219 	add(vector3<>(-0.545951908061258, -0.365621190026288, +0.753828667197018));
220 	add(vector3<>(-0.365621190026289, +0.753828667197017, -0.545951908061259));
221 	add(vector3<>(-0.545951908061258, +0.365621190026289, -0.753828667197017));
222 	add(vector3<>(+0.365621190026287, +0.753828667197017, +0.545951908061260));
223 	add(vector3<>(+0.545951908061259, +0.365621190026289, +0.753828667197017));
224 	add(vector3<>(+0.365621190026287, -0.753828667197018, -0.545951908061259));
225 	add(vector3<>(-0.753828667197017, -0.545951908061261, +0.365621190026288));
226 	add(vector3<>(+0.753828667197016, +0.545951908061261, +0.365621190026287));
227 	add(vector3<>(+0.700181019363730, -0.713151065847793, +0.034089549761256));
228 	add(vector3<>(-0.713151065847794, +0.034089549761254, +0.700181019363729));
229 	add(vector3<>(-0.700181019363730, +0.713151065847793, +0.034089549761256));
230 	add(vector3<>(+0.034089549761255, +0.700181019363730, -0.713151065847793));
231 	add(vector3<>(+0.713151065847793, +0.034089549761254, -0.700181019363730));
232 	add(vector3<>(+0.034089549761257, -0.700181019363729, +0.713151065847794));
233 	add(vector3<>(+0.713151065847794, -0.034089549761255, +0.700181019363728));
234 	add(vector3<>(-0.034089549761256, -0.700181019363729, -0.713151065847794));
235 	add(vector3<>(-0.713151065847794, -0.034089549761254, -0.700181019363729));
236 	add(vector3<>(-0.034089549761257, +0.700181019363729, +0.713151065847794));
237 	add(vector3<>(+0.700181019363730, +0.713151065847793, -0.034089549761257));
238 	add(vector3<>(-0.700181019363729, -0.713151065847794, -0.034089549761257));
239 	add(vector3<>(+0.276230218261792, +0.077050720725736, -0.957997939953259));
240 	add(vector3<>(+0.077050720725735, -0.957997939953258, +0.276230218261793));
241 	add(vector3<>(-0.276230218261792, -0.077050720725734, -0.957997939953259));
242 	add(vector3<>(-0.957997939953259, +0.276230218261791, +0.077050720725738));
243 	add(vector3<>(-0.077050720725735, -0.957997939953259, -0.276230218261792));
244 	add(vector3<>(-0.957997939953258, -0.276230218261793, -0.077050720725736));
245 	add(vector3<>(-0.077050720725736, +0.957997939953258, +0.276230218261794));
246 	add(vector3<>(+0.957997939953259, -0.276230218261790, +0.077050720725737));
247 	add(vector3<>(+0.077050720725734, +0.957997939953259, -0.276230218261792));
248 	add(vector3<>(+0.957997939953258, +0.276230218261793, -0.077050720725738));
249 	add(vector3<>(+0.276230218261793, -0.077050720725736, +0.957997939953258));
250 	add(vector3<>(-0.276230218261791, +0.077050720725735, +0.957997939953259));
251 	add(vector3<>(+0.451819102555243, -0.783355937521819, +0.426864116219070));
252 	add(vector3<>(-0.783355937521818, +0.426864116219071, +0.451819102555243));
253 	add(vector3<>(-0.451819102555243, +0.783355937521819, +0.426864116219070));
254 	add(vector3<>(+0.426864116219071, +0.451819102555242, -0.783355937521819));
255 	add(vector3<>(+0.783355937521818, +0.426864116219070, -0.451819102555244));
256 	add(vector3<>(+0.426864116219072, -0.451819102555242, +0.783355937521818));
257 	add(vector3<>(+0.783355937521819, -0.426864116219070, +0.451819102555242));
258 	add(vector3<>(-0.426864116219072, -0.451819102555241, -0.783355937521819));
259 	add(vector3<>(-0.783355937521818, -0.426864116219070, -0.451819102555243));
260 	add(vector3<>(-0.426864116219072, +0.451819102555241, +0.783355937521819));
261 	add(vector3<>(+0.451819102555243, +0.783355937521818, -0.426864116219071));
262 	add(vector3<>(-0.451819102555242, -0.783355937521819, -0.426864116219071));
263 	add(vector3<>(-0.338584359959260, -0.933210037239527, +0.120331448866784));
264 	add(vector3<>(-0.933210037239526, +0.120331448866787, -0.338584359959260));
265 	add(vector3<>(+0.338584359959261, +0.933210037239526, +0.120331448866786));
266 	add(vector3<>(+0.120331448866785, -0.338584359959261, -0.933210037239526));
267 	add(vector3<>(+0.933210037239526, +0.120331448866789, +0.338584359959260));
268 	add(vector3<>(+0.120331448866785, +0.338584359959261, +0.933210037239526));
269 	add(vector3<>(+0.933210037239526, -0.120331448866787, -0.338584359959262));
270 	add(vector3<>(-0.120331448866784, +0.338584359959262, -0.933210037239526));
271 	add(vector3<>(-0.933210037239526, -0.120331448866787, +0.338584359959261));
272 	add(vector3<>(-0.120331448866784, -0.338584359959262, +0.933210037239526));
273 	add(vector3<>(-0.338584359959262, +0.933210037239526, -0.120331448866784));
274 	add(vector3<>(+0.338584359959261, -0.933210037239527, -0.120331448866783));
275 }
276 
S2_11design_70()277 S2_11design_70::S2_11design_70()
278 {	add(vector3<>(-0.674940520480437, +0.725629052064501, +0.133857284499464));
279 	add(vector3<>(+0.096724334461430, -0.910327382989987, -0.402428203412229));
280 	add(vector3<>(+0.906960315916358, +0.135127022135053, +0.398953221871704));
281 	add(vector3<>(-0.132758704758026, -0.307658524060733, +0.942189661842955));
282 	add(vector3<>(-0.226055801127587, -0.958831174708704, -0.171876563798827));
283 	add(vector3<>(+0.275738264019853, -0.180692733507538, -0.944096682449892));
284 	add(vector3<>(+0.830881650513589, +0.333278644528177, -0.445601871563928));
285 	add(vector3<>(-0.616471328612787, -0.267544337166400, +0.740528951931372));
286 	add(vector3<>(+0.430277293287436, -0.892644471615357, -0.134340232900570));
287 	add(vector3<>(-0.690987198523076, +0.175109339053207, +0.701336874015319));
288 	add(vector3<>(+0.810517041535507, -0.381449337547215, +0.444475565431127));
289 	add(vector3<>(-0.086734443854626, -0.706008517835924, -0.702872043114784));
290 	add(vector3<>(+0.871320852056737, +0.460457806003960, +0.169642511361809));
291 	add(vector3<>(-0.600735266749549, +0.303266118552509, -0.739693720820614));
292 	add(vector3<>(-0.899100947083419, -0.418081246639828, +0.129713369248460));
293 	add(vector3<>(+0.896927087079571, -0.188066327344843, -0.400191025613991));
294 	add(vector3<>(+0.150494960966991, +0.903072153139254, +0.402258564791324));
295 	add(vector3<>(+0.248601716402621, -0.224283612281953, +0.942281299752590));
296 	add(vector3<>(+0.842584674708423, -0.510756382085546, -0.170818570727500));
297 	add(vector3<>(+0.260034500418337, +0.209356489957684, -0.942630319215749));
298 	add(vector3<>(-0.058802461572434, +0.894595213188746, -0.442991732488095));
299 	add(vector3<>(+0.061611769180132, -0.671290108790159, +0.738629528071408));
300 	add(vector3<>(+0.982337536097614, +0.133784014710179, -0.130823555148513));
301 	add(vector3<>(-0.382277582532576, -0.605243847900137, +0.698243320392029));
302 	add(vector3<>(+0.611839278216357, +0.651571608497249, +0.448449703569971));
303 	add(vector3<>(+0.646865348569582, -0.298464129297652, -0.701772316597447));
304 	add(vector3<>(-0.169201016881282, +0.970430912746818, +0.172147783812972));
305 	add(vector3<>(-0.471725450862325, -0.475295703662790, -0.742676977621112));
306 	add(vector3<>(+0.119369755955723, -0.984692604411347, +0.127009197228668));
307 	add(vector3<>(+0.457289212231729, +0.796155990558714, -0.396260287026038));
308 	add(vector3<>(-0.813631436350979, +0.420942272793499, +0.401013078037220));
309 	add(vector3<>(+0.287154555386871, +0.164173323970660, +0.943710432821951));
310 	add(vector3<>(+0.746667577045155, +0.644035989066398, -0.166448713352744));
311 	add(vector3<>(-0.115779644740906, +0.314952464646105, -0.942019118105898));
312 	add(vector3<>(-0.867579212111466, +0.221916315040665, -0.445038717226738));
313 	add(vector3<>(+0.655140022433912, -0.151162631680508, +0.740230646345257));
314 	add(vector3<>(+0.176736512358047, +0.976002671721061, -0.127212381444830));
315 	add(vector3<>(+0.455284607701078, -0.552786354104230, +0.697956426080188));
316 	add(vector3<>(-0.432023930219742, +0.781838026058859, +0.449538234998843));
317 	add(vector3<>(+0.485961267092557, +0.525163287076294, -0.698602296584415));
318 	add(vector3<>(-0.975758639968897, +0.138431863354196, +0.169504264649400));
319 	add(vector3<>(+0.308602378401872, -0.593188152818631, -0.743567338847214));
320 	add(vector3<>(+0.972979693579006, -0.191167383224118, +0.129481842256537));
321 	add(vector3<>(-0.614624689780931, +0.682177779864230, -0.396068134758660));
322 	add(vector3<>(-0.653028964396532, -0.644975511259979, +0.396937981974668));
323 	add(vector3<>(-0.070378900922493, +0.320878001965403, +0.944502047726543));
324 	add(vector3<>(-0.381252925250545, +0.909662131759037, -0.164805986030565));
325 	add(vector3<>(-0.332341796304234, -0.009834857390798, -0.943107738283054));
326 	add(vector3<>(-0.477746621168896, -0.755138676192789, -0.448913962446598));
327 	add(vector3<>(+0.343877558432071, +0.574039599276676, +0.743119615720828));
328 	add(vector3<>(-0.873212544495548, +0.470093941392030, -0.128497231106812));
329 	add(vector3<>(+0.664216892966437, +0.259987346974329, +0.700872669256879));
330 	add(vector3<>(-0.878489109322641, -0.170673846340671, +0.446236846278739));
331 	add(vector3<>(-0.347082716608212, +0.626648635925969, -0.697742842975825));
332 	add(vector3<>(-0.433716795977713, -0.885744934523588, +0.165365207503367));
333 	add(vector3<>(+0.661861683362982, +0.112512128799614, -0.741134355544863));
334 	add(vector3<>(+0.482068945127674, +0.865869532174741, +0.133714192945202));
335 	add(vector3<>(-0.837466039393400, -0.372486946227971, -0.399880116725617));
336 	add(vector3<>(+0.410355219266256, -0.821619050667930, +0.395664920861670));
337 	add(vector3<>(-0.329899568015879, +0.029269882908830, +0.943562159572669));
338 	add(vector3<>(-0.982429034616553, -0.080964254903198, -0.168160582094488));
339 	add(vector3<>(-0.090370421487683, -0.316160436207578, -0.944391743662116));
340 	add(vector3<>(+0.571959920493404, -0.686312971502271, -0.449262010965652));
341 	add(vector3<>(-0.442021476996821, +0.502111749619808, +0.743303978710785));
342 	add(vector3<>(-0.716515724344093, -0.684793506171761, -0.132902485577380));
343 	add(vector3<>(-0.044218043628816, +0.709851625611568, +0.702961900983442));
344 	add(vector3<>(-0.110556556362806, -0.889624975730714, +0.443107944412334));
345 	add(vector3<>(-0.701028131184281, -0.134257385503649, -0.700381691455451));
346 	add(vector3<>(+0.707841110014082, -0.686721956709281, +0.165450648676302));
347 	add(vector3<>(+0.099860111408803, +0.666551337869757, -0.738740327945793));
348 }
349 
S2_12design_84()350 S2_12design_84::S2_12design_84()
351 {	add(vector3<>(-0.893804977761136, -0.426862191124497, +0.137482113446834));
352 	add(vector3<>(-0.426862191241092, +0.137482113445288, -0.893804977705691));
353 	add(vector3<>(+0.893804977770157, +0.426862191128157, +0.137482113376823));
354 	add(vector3<>(+0.137482113296400, -0.893804977739491, -0.426862191218271));
355 	add(vector3<>(+0.426862191272731, +0.137482113377345, +0.893804977701032));
356 	add(vector3<>(+0.137482113529033, +0.893804977707775, +0.426862191209756));
357 	add(vector3<>(+0.426862191185983, -0.137482113474993, -0.893804977727441));
358 	add(vector3<>(-0.137482113324291, +0.893804977725279, -0.426862191239047));
359 	add(vector3<>(-0.426862191217414, -0.137482113347288, +0.893804977732073));
360 	add(vector3<>(-0.137482113501071, -0.893804977693655, +0.426862191248328));
361 	add(vector3<>(-0.893804977672548, +0.426862191328071, -0.137482113390703));
362 	add(vector3<>(+0.893804977663553, -0.426862191333260, -0.137482113433065));
363 	add(vector3<>(+0.983086600385574, +0.022300380107522, -0.181778516853323));
364 	add(vector3<>(+0.022300380232394, -0.181778516808726, +0.983086600390988));
365 	add(vector3<>(-0.983086600396613, -0.022300380113323, -0.181778516792915));
366 	add(vector3<>(-0.181778516710471, +0.983086600409631, +0.022300380211455));
367 	add(vector3<>(-0.022300380272854, -0.181778516836686, -0.983086600384900));
368 	add(vector3<>(-0.181778516936010, -0.983086600368179, -0.022300380200376));
369 	add(vector3<>(-0.022300380170800, +0.181778516841875, +0.983086600386256));
370 	add(vector3<>(+0.181778516710979, -0.983086600409044, +0.022300380233212));
371 	add(vector3<>(+0.022300380212558, +0.181778516804081, -0.983086600392297));
372 	add(vector3<>(+0.181778516934384, +0.983086600367503, -0.022300380243431));
373 	add(vector3<>(+0.983086600391629, -0.022300380332372, +0.181778516792996));
374 	add(vector3<>(-0.983086600380570, +0.022300380337865, +0.181778516852128));
375 	add(vector3<>(-0.897951986971875, +0.376695603035365, +0.227558018419664));
376 	add(vector3<>(+0.376695602927528, +0.227558018339206, -0.897951987037503));
377 	add(vector3<>(+0.897951986986053, -0.376695603028569, +0.227558018374966));
378 	add(vector3<>(+0.227558018305554, -0.897951987041904, +0.376695602937366));
379 	add(vector3<>(-0.376695602875261, +0.227558018455254, +0.897951987030020));
380 	add(vector3<>(+0.227558018486567, +0.897951986990480, -0.376695602950600));
381 	add(vector3<>(-0.376695602982511, -0.227558018368910, -0.897951987006910));
382 	add(vector3<>(-0.227558018280939, +0.897951987054767, +0.376695602921573));
383 	add(vector3<>(+0.376695602931437, -0.227558018425580, +0.897951987013974));
384 	add(vector3<>(-0.227558018511349, -0.897951987002348, -0.376695602907339));
385 	add(vector3<>(-0.897951987072194, -0.376695602830637, -0.227558018362707));
386 	add(vector3<>(+0.897951987057819, +0.376695602823051, -0.227558018431989));
387 	add(vector3<>(-0.171330151245221, +0.459786194953055, -0.871345301361568));
388 	add(vector3<>(+0.459786194843117, -0.871345301414649, -0.171330151270292));
389 	add(vector3<>(+0.171330151191219, -0.459786194982334, -0.871345301356736));
390 	add(vector3<>(-0.871345301364754, -0.171330151162981, +0.459786194977662));
391 	add(vector3<>(-0.459786195042432, -0.871345301303738, +0.171330151299472));
392 	add(vector3<>(-0.871345301353407, +0.171330151362727, -0.459786194924734));
393 	add(vector3<>(-0.459786194855202, +0.871345301408410, -0.171330151269592));
394 	add(vector3<>(+0.871345301392835, +0.171330151178183, +0.459786194918780));
395 	add(vector3<>(+0.459786195054412, +0.871345301309038, +0.171330151240368));
396 	add(vector3<>(+0.871345301325486, -0.171330151377355, -0.459786194972196));
397 	add(vector3<>(-0.171330151296610, -0.459786194913003, +0.871345301372597));
398 	add(vector3<>(+0.171330151350736, +0.459786194942983, +0.871345301346135));
399 	add(vector3<>(-0.397191702297223, -0.548095590649226, -0.736091010091219));
400 	add(vector3<>(-0.548095590778902, -0.736091010056557, -0.397191702182515));
401 	add(vector3<>(+0.397191702250221, +0.548095590625205, -0.736091010134467));
402 	add(vector3<>(-0.736091010174764, -0.397191702137083, -0.548095590653075));
403 	add(vector3<>(+0.548095590610212, -0.736091010169131, +0.397191702206669));
404 	add(vector3<>(-0.736091010049194, +0.397191702305889, +0.548095590699385));
405 	add(vector3<>(+0.548095590752529, +0.736091010044117, -0.397191702241962));
406 	add(vector3<>(+0.736091010139925, +0.397191702119602, -0.548095590712531));
407 	add(vector3<>(-0.548095590584386, +0.736091010182625, +0.397191702217300));
408 	add(vector3<>(+0.736091010083782, -0.397191702287980, +0.548095590665912));
409 	add(vector3<>(-0.397191702125260, +0.548095590740419, +0.736091010116106));
410 	add(vector3<>(+0.397191702171386, -0.548095590716295, +0.736091010109179));
411 	add(vector3<>(+0.379474725534956, +0.696277278094490, +0.609259291836815));
412 	add(vector3<>(+0.696277278210441, +0.609259291787114, +0.379474725402001));
413 	add(vector3<>(-0.379474725495576, -0.696277278074161, +0.609259291884576));
414 	add(vector3<>(+0.609259291925953, +0.379474725376213, +0.696277278103008));
415 	add(vector3<>(-0.696277278071056, +0.609259291933888, -0.379474725422102));
416 	add(vector3<>(+0.609259291795910, -0.379474725515542, -0.696277278140864));
417 	add(vector3<>(-0.696277278185906, -0.609259291774849, +0.379474725466713));
418 	add(vector3<>(-0.609259291882878, -0.379474725353089, +0.696277278153303));
419 	add(vector3<>(+0.696277278046548, -0.609259291946589, -0.379474725446676));
420 	add(vector3<>(-0.609259291838737, +0.379474725493095, -0.696277278115623));
421 	add(vector3<>(+0.379474725336290, -0.696277278181595, -0.609259291861008));
422 	add(vector3<>(-0.379474725375237, +0.696277278161216, -0.609259291860039));
423 	add(vector3<>(-0.678701446470328, +0.729764213479081, +0.082513873284097));
424 	add(vector3<>(+0.729764213389772, +0.082513873179234, -0.678701446579104));
425 	add(vector3<>(+0.678701446474772, -0.729764213477220, +0.082513873263995));
426 	add(vector3<>(+0.082513873217671, -0.678701446552547, +0.729764213410125));
427 	add(vector3<>(-0.729764213370974, +0.082513873368402, +0.678701446576318));
428 	add(vector3<>(+0.082513873326892, +0.678701446534692, -0.729764213414381));
429 	add(vector3<>(-0.729764213431284, -0.082513873201736, -0.678701446531733));
430 	add(vector3<>(-0.082513873171694, +0.678701446577399, +0.729764213392210));
431 	add(vector3<>(+0.729764213412797, -0.082513873346680, +0.678701446533990));
432 	add(vector3<>(-0.082513873373655, -0.678701446558336, -0.729764213387104));
433 	add(vector3<>(-0.678701446641541, -0.729764213324827, -0.082513873240061));
434 	add(vector3<>(+0.678701446637016, +0.729764213321344, -0.082513873308075));
435 }
436 
S2_13design_94()437 S2_13design_94::S2_13design_94()
438 {	add(vector3<>(+0.276790129286922, -0.235256466916603, +0.931687511509759));
439 	add(vector3<>(+0.198886780634501, +0.360548603139528, +0.911289609983006));
440 	add(vector3<>(-0.258871339062373, +0.204230077441409, +0.944073993540935));
441 	add(vector3<>(-0.200282913927310, -0.228346161950354, +0.952756414153864));
442 	add(vector3<>(-0.883545166667525, -0.414277696639041, -0.218453492821483));
443 	add(vector3<>(+0.397750057908559, -0.901619535998689, -0.169932644713270));
444 	add(vector3<>(+0.876539487069282, +0.434392104192327, -0.207321073274483));
445 	add(vector3<>(-0.411742357517625, +0.884895978839790, -0.217778184534166));
446 	add(vector3<>(+0.501114093867204, +0.377868932752059, +0.778524074507957));
447 	add(vector3<>(-0.394238847790386, +0.473687133880952, +0.787525383774109));
448 	add(vector3<>(-0.495364292002136, -0.406429808740612, +0.767742814213388));
449 	add(vector3<>(+0.370186583802172, -0.559306270968252, +0.741713144300723));
450 	add(vector3<>(+0.411742357517961, -0.884895978839253, +0.217778184535715));
451 	add(vector3<>(+0.883545166668397, +0.414277696639157, +0.218453492817737));
452 	add(vector3<>(-0.397750057910590, +0.901619535997218, +0.169932644716324));
453 	add(vector3<>(-0.876539487069878, -0.434392104191278, +0.207321073274160));
454 	add(vector3<>(-0.691014301315650, -0.702815226887987, -0.168967429499392));
455 	add(vector3<>(+0.684400344460127, -0.714441044251654, -0.145499700314004));
456 	add(vector3<>(+0.660710489482765, +0.731357715035063, -0.169048932993191));
457 	add(vector3<>(-0.773611287956309, +0.615222357857778, -0.151746583284428));
458 	add(vector3<>(+0.683629784686022, -0.219967331320840, -0.695891292258878));
459 	add(vector3<>(+0.256574099503526, +0.681472791071418, -0.685393730999406));
460 	add(vector3<>(-0.644474509637892, +0.354062227985534, -0.677711254990588));
461 	add(vector3<>(-0.220535080416141, -0.731547754140859, -0.645137320046912));
462 	add(vector3<>(+0.394238847792041, -0.473687133882522, -0.787525383772336));
463 	add(vector3<>(+0.495364292000968, +0.406429808741285, -0.767742814213785));
464 	add(vector3<>(-0.370186583802439, +0.559306270970003, -0.741713144299270));
465 	add(vector3<>(-0.501114093864640, -0.377868932752239, -0.778524074509520));
466 	add(vector3<>(-0.488574873968534, -0.006884557978444, -0.872494811095214));
467 	add(vector3<>(+0.055542048727444, -0.584131720249991, -0.809756268404849));
468 	add(vector3<>(+0.526812107464791, +0.049707819617671, -0.848527039107984));
469 	add(vector3<>(+0.004245864108125, +0.488654622394300, -0.872466980836902));
470 	add(vector3<>(-0.710317361514613, -0.479530914625401, +0.515266288291253));
471 	add(vector3<>(+0.521404384476562, -0.728039165451723, +0.445080264016476));
472 	add(vector3<>(+0.738099355388852, +0.407803273205931, +0.537499611104130));
473 	add(vector3<>(-0.496057991262554, +0.699670113703365, +0.514186932248264));
474 	add(vector3<>(-0.973220809307327, +0.194260751789571, -0.122898399685852));
475 	add(vector3<>(-0.376203572666605, -0.908865964003535, -0.180093118660339));
476 	add(vector3<>(+0.914477900370762, -0.368657988534049, -0.166797653531193));
477 	add(vector3<>(+0.287462187854130, +0.946817914340553, -0.144572914606861));
478 	add(vector3<>(-0.098900669929334, +0.995097059280040, +0.000707177308311));
479 	add(vector3<>(-0.986068201425202, -0.161328561779779, +0.040528968555030));
480 	add(vector3<>(+0.098900669927371, -0.995097059280236, -0.000707177307522));
481 	add(vector3<>(+0.986068201425380, +0.161328561777872, -0.040528968558297));
482 	add(vector3<>(+0.815232440848265, +0.131832381174928, -0.563929331266187));
483 	add(vector3<>(-0.113644567080339, +0.787251605615581, -0.606069155978764));
484 	add(vector3<>(-0.760504441705310, -0.010569874890521, -0.649246695710724));
485 	add(vector3<>(+0.179848227912241, -0.832482785405240, -0.524048687547980));
486 	add(vector3<>(-0.927689891809510, -0.047241289482188, -0.370350813692261));
487 	add(vector3<>(-0.062273759773745, -0.944434685686409, -0.322746190242513));
488 	add(vector3<>(+0.939840260740896, -0.044569841802216, -0.338694277324270));
489 	add(vector3<>(-0.008242738781550, +0.934087059460150, -0.356950168239866));
490 	add(vector3<>(-0.287462187854123, -0.946817914339580, +0.144572914613243));
491 	add(vector3<>(+0.973220809307003, -0.194260751794934, +0.122898399679932));
492 	add(vector3<>(+0.376203572664097, +0.908865964003331, +0.180093118666611));
493 	add(vector3<>(-0.914477900372906, +0.368657988531957, +0.166797653524060));
494 	add(vector3<>(-0.198886780630987, -0.360548603140065, -0.911289609983560));
495 	add(vector3<>(+0.258871339064112, -0.204230077444254, -0.944073993539843));
496 	add(vector3<>(+0.200282913924527, +0.228346161951352, -0.952756414154209));
497 	add(vector3<>(-0.276790129284401, +0.235256466920766, -0.931687511509456));
498 	add(vector3<>(+0.496057991258595, -0.699670113707770, -0.514186932246089));
499 	add(vector3<>(+0.710317361512836, +0.479530914628761, -0.515266288290576));
500 	add(vector3<>(-0.521404384476695, +0.728039165452453, -0.445080264015126));
501 	add(vector3<>(-0.738099355384499, -0.407803273209131, -0.537499611107679));
502 	add(vector3<>(-0.815232440849446, -0.131832381170712, +0.563929331265466));
503 	add(vector3<>(+0.113644567080183, -0.787251605613717, +0.606069155981215));
504 	add(vector3<>(+0.760504441709935, +0.010569874889864, +0.649246695705317));
505 	add(vector3<>(-0.179848227916839, +0.832482785402468, +0.524048687550806));
506 	add(vector3<>(+0.644474509638734, -0.354062227985804, +0.677711254989647));
507 	add(vector3<>(+0.220535080413518, +0.731547754142370, +0.645137320046095));
508 	add(vector3<>(-0.683629784685343, +0.219967331325312, +0.695891292258132));
509 	add(vector3<>(-0.256574099500943, -0.681472791069379, +0.685393731002400));
510 	add(vector3<>(+0.008242738783470, -0.934087059459458, +0.356950168241634));
511 	add(vector3<>(+0.927689891812602, +0.047241289479133, +0.370350813684907));
512 	add(vector3<>(+0.062273759768788, +0.944434685686016, +0.322746190244617));
513 	add(vector3<>(-0.939840260741931, +0.044569841801960, +0.338694277321433));
514 	add(vector3<>(-0.684400344460716, +0.714441044251305, +0.145499700312953));
515 	add(vector3<>(-0.660710489482671, -0.731357715034246, +0.169048932997096));
516 	add(vector3<>(+0.773611287955743, -0.615222357858877, +0.151746583282855));
517 	add(vector3<>(+0.691014301313431, +0.702815226889319, +0.168967429502926));
518 	add(vector3<>(+0.823586023578098, -0.394634588904438, +0.407393670798948));
519 	add(vector3<>(+0.494068620358303, +0.708839608416629, +0.503430837272612));
520 	add(vector3<>(-0.758875130501050, +0.450605887274021, +0.470173234734822));
521 	add(vector3<>(-0.431499072601357, -0.787935048711447, +0.439279989706176));
522 	add(vector3<>(+0.488574873974618, +0.006884557979146, +0.872494811091801));
523 	add(vector3<>(-0.055542048725634, +0.584131720247444, +0.809756268406810));
524 	add(vector3<>(-0.526812107467580, -0.049707819615904, +0.848527039106356));
525 	add(vector3<>(-0.004245864106237, -0.488654622389235, +0.872466980839748));
526 	add(vector3<>(-0.494068620357740, -0.708839608420214, -0.503430837268118));
527 	add(vector3<>(+0.758875130496518, -0.450605887275878, -0.470173234740358));
528 	add(vector3<>(+0.431499072601226, +0.787935048714215, -0.439279989701340));
529 	add(vector3<>(-0.823586023577754, +0.394634588903444, -0.407393670800605));
530 	add(vector3<>(-0.052238147878740, -0.056184830047506, -0.997052877624217));
531 	add(vector3<>(+0.052238147881538, +0.056184830047690, +0.997052877624060));
532 }
533 
S2_14design_108()534 S2_14design_108::S2_14design_108()
535 {	add(vector3<>(-0.625520988160254, -0.767361004554400, +0.140998517936470));
536 	add(vector3<>(-0.767242741370050, +0.141111638293461, -0.625640536852518));
537 	add(vector3<>(+0.625492928633992, +0.767336602497947, +0.141255565185161));
538 	add(vector3<>(+0.141259978285753, -0.625497336538309, -0.767332196977417));
539 	add(vector3<>(+0.767217177597722, +0.141142445065633, +0.625664936367606));
540 	add(vector3<>(+0.140994104732436, +0.625522897885037, +0.767360258713080));
541 	add(vector3<>(+0.767367121351956, -0.141003470846495, -0.625512367805189));
542 	add(vector3<>(-0.141107421738627, +0.625630007825311, -0.767252102531351));
543 	add(vector3<>(-0.767341557579575, -0.141250612512470, +0.625487968290521));
544 	add(vector3<>(-0.141146661279494, -0.625655569171042, +0.767224040795719));
545 	add(vector3<>(-0.625631916042134, +0.767247698300479, -0.141122907715456));
546 	add(vector3<>(+0.625659975568208, -0.767223296244680, -0.141131175405856));
547 	add(vector3<>(+0.557188048071509, -0.044753456478336, -0.829179478291342));
548 	add(vector3<>(-0.044855878114542, -0.829283214592494, +0.557025403544320));
549 	add(vector3<>(-0.557023176560509, +0.044896837512350, -0.829282493940292));
550 	add(vector3<>(-0.829276981353790, +0.557030331904205, -0.044909882380585));
551 	add(vector3<>(+0.045006085132030, -0.829178759033645, -0.557168769645708));
552 	add(vector3<>(-0.829184990273806, -0.557180524667655, +0.044744997884746));
553 	add(vector3<>(+0.044745112627007, +0.829186887034329, +0.557177692721376));
554 	add(vector3<>(+0.829285903726696, -0.557022572534015, -0.044841315410966));
555 	add(vector3<>(-0.044895319644503, +0.829275086591665, -0.557034326619468));
556 	add(vector3<>(+0.829176067900875, +0.557172765298515, +0.045006199906779));
557 	add(vector3<>(+0.557015047788170, +0.044854360354950, +0.829290252501915));
558 	add(vector3<>(-0.557179919299160, -0.044997741388974, +0.829171719729799));
559 	add(vector3<>(-0.256065565410913, +0.860770382492113, +0.439891776275906));
560 	add(vector3<>(+0.860817193749452, +0.439942893453515, -0.255820267854343));
561 	add(vector3<>(+0.255978113844099, -0.860846435024418, +0.439793838677361));
562 	add(vector3<>(+0.439780410927513, -0.255978464067400, +0.860853190792787));
563 	add(vector3<>(-0.860896866937890, +0.439742722239698, +0.255896312466096));
564 	add(vector3<>(+0.439905203705212, +0.256058129693811, -0.860765732339981));
565 	add(vector3<>(-0.860766305814323, -0.439898638597135, -0.256067480432698));
566 	add(vector3<>(-0.439951565414546, +0.255829619022141, +0.860809982586329));
567 	add(vector3<>(+0.860845979002674, -0.439786977094207, +0.255991435820162));
568 	add(vector3<>(-0.439734049218326, -0.255909284650278, -0.860897441039197));
569 	add(vector3<>(-0.255822182689152, -0.860816739802146, -0.439942668220034));
570 	add(vector3<>(+0.255909634255987, +0.860892792334745, -0.439742946732580));
571 	add(vector3<>(-0.214847470746312, -0.032398468989078, +0.976110087808274));
572 	add(vector3<>(-0.032361689068532, +0.976149872834738, -0.214672184610297));
573 	add(vector3<>(+0.214653391258715, +0.032229687143749, +0.976158372851326));
574 	add(vector3<>(+0.976156890684175, -0.214662164023714, -0.032216146673044));
575 	add(vector3<>(+0.032184871976157, +0.976118589466139, +0.214840948877335));
576 	add(vector3<>(+0.976111569264229, +0.214838964338531, +0.032410241444204));
577 	add(vector3<>(+0.032404387317597, -0.976112740167589, -0.214834527404447));
578 	add(vector3<>(-0.976150469717450, +0.214667748038907, -0.032373112644706));
579 	add(vector3<>(-0.032227570225248, -0.976155722133346, +0.214665763138194));
580 	add(vector3<>(-0.976117990230955, -0.214844548351237, +0.032179017872419));
581 	add(vector3<>(-0.214659241112501, +0.032359572226461, -0.976152789418913));
582 	add(vector3<>(+0.214853320600120, -0.032190790383644, -0.976115671240647));
583 	add(vector3<>(-0.531657953418075, -0.827333953094149, -0.181268724894593));
584 	add(vector3<>(-0.827232187812406, -0.181173291587112, -0.531848799813059));
585 	add(vector3<>(+0.531693969367769, +0.827365274479422, -0.181019958909332));
586 	add(vector3<>(-0.181013937184585, -0.531695771783126, -0.827365433658478));
587 	add(vector3<>(+0.827265000324240, -0.181115392520565, +0.531817481689590));
588 	add(vector3<>(-0.181274746488222, +0.531662962384716, +0.827329414872902));
589 	add(vector3<>(+0.827337912964399, +0.181265235803751, -0.531652980863198));
590 	add(vector3<>(+0.181178425057189, +0.531838819184424, -0.827237480233043));
591 	add(vector3<>(-0.827370725476244, +0.181023448305968, +0.531684298986090));
592 	add(vector3<>(+0.181110258615433, -0.531806009787378, +0.827273499018480));
593 	add(vector3<>(-0.531843826870477, +0.827237640803175, +0.181162991414264));
594 	add(vector3<>(+0.531807810920692, -0.827268962188108, +0.181125692390543));
595 	add(vector3<>(-0.660052978431453, -0.641070301423890, -0.391610692264717));
596 	add(vector3<>(-0.640943278162024, -0.391490626360013, -0.660247532105318));
597 	add(vector3<>(+0.660130816198753, +0.641137993287446, -0.391368597447617));
598 	add(vector3<>(-0.391366127194665, -0.660129990434437, -0.641140351415881));
599 	add(vector3<>(+0.641014192651680, -0.391488664009925, +0.660179847292265));
600 	add(vector3<>(-0.391613162232706, +0.660059082674287, +0.641062507518011));
601 	add(vector3<>(+0.641074532205542, +0.391604771858404, -0.660052381872206));
602 	add(vector3<>(+0.391493582576226, +0.660240832413506, -0.640948373908190));
603 	add(vector3<>(-0.641145446695277, +0.391374518513393, +0.660120066685087));
604 	add(vector3<>(+0.391485706851000, -0.660169924653076, +0.641026217806203));
605 	add(vector3<>(-0.660246935065265, +0.640950733115446, +0.391479427883123));
606 	add(vector3<>(+0.660169097297863, -0.641018424977353, +0.391499861829449));
607 	add(vector3<>(-0.887809544786451, -0.296234001309576, +0.352192601646022));
608 	add(vector3<>(-0.296066792023988, +0.352356402512996, -0.887800326801429));
609 	add(vector3<>(+0.887739497598310, +0.296173084548554, +0.352420329142482));
610 	add(vector3<>(+0.352416311777685, -0.887743835667625, -0.296164861904896));
611 	add(vector3<>(+0.296002975181616, +0.352256528867817, +0.887861237217634));
612 	add(vector3<>(+0.352196618754376, +0.887807646454613, +0.296234914611202));
613 	add(vector3<>(+0.296243308763160, -0.352202894170870, -0.887802356017778));
614 	add(vector3<>(-0.352357435214616, +0.887795037857324, -0.296081422255585));
615 	add(vector3<>(-0.296179491920463, -0.352410037210515, +0.887741445601714));
616 	add(vector3<>(-0.352255495317536, -0.887858848644387, +0.296011369549315));
617 	add(vector3<>(-0.887793137385775, +0.296073200109863, -0.352369132285204));
618 	add(vector3<>(+0.887863184573985, -0.296012283349850, -0.352243798503465));
619 	add(vector3<>(-0.262235044133320, -0.963196832316083, -0.059030871962556));
620 	add(vector3<>(-0.963146753177879, -0.058986076633670, -0.262428989645347));
621 	add(vector3<>(+0.262246759182379, +0.963207020345643, -0.058812186281487));
622 	add(vector3<>(-0.058802018270752, -0.262250202293796, -0.963206703695603));
623 	add(vector3<>(+0.963157426232092, -0.058856981708733, +0.262418802676392));
624 	add(vector3<>(-0.059041039930677, +0.262239530251810, +0.963194987724300));
625 	add(vector3<>(+0.963198910461706, +0.059031435382660, -0.262227284091577));
626 	add(vector3<>(+0.058993521775316, +0.262416743924601, -0.963149633700058));
627 	add(vector3<>(-0.963209583515922, +0.058811622961071, +0.262237471059664));
628 	add(vector3<>(+0.058849536426177, -0.262406071884420, +0.963161349671286));
629 	add(vector3<>(-0.262421229412009, +0.963149318669471, +0.058978710569357));
630 	add(vector3<>(+0.262409514362814, -0.963159506698990, +0.058864347675232));
631 	add(vector3<>(-0.715507563967586, -0.551203770138786, +0.429212452859839));
632 	add(vector3<>(-0.551069607492995, +0.429343180584727, -0.715532473744488));
633 	add(vector3<>(+0.715422202362423, +0.551129535145429, +0.429450006237378));
634 	add(vector3<>(+0.429450819917231, -0.715428271411138, -0.551121022769127));
635 	add(vector3<>(+0.550991838373800, +0.429319279234025, +0.715606701005125));
636 	add(vector3<>(+0.429211638866897, +0.715506033150300, +0.551206391097486));
637 	add(vector3<>(+0.551211869430264, -0.429219462039715, -0.715497119774448));
638 	add(vector3<>(-0.429341247317559, +0.715523561571074, -0.551082685436994));
639 	add(vector3<>(-0.551134100310698, -0.429442997779790, +0.715422892513669));
640 	add(vector3<>(-0.429321211466422, -0.715601323311163, +0.550997317108093));
641 	add(vector3<>(-0.715522029029489, +0.551074173985694, -0.429354726001132));
642 	add(vector3<>(+0.715607390634810, -0.550999938995098, -0.429307733096245));
643 }
644 
S2_15design_120()645 S2_15design_120::S2_15design_120()
646 {	add(vector3<>(+0.854403279867469, -0.505354134007206, +0.120881076242474));
647 	add(vector3<>(-0.505434917555690, +0.120816219805996, +0.854364667543820));
648 	add(vector3<>(-0.854386776665562, +0.505324765203946, +0.121120260611542));
649 	add(vector3<>(+0.120833358636621, +0.854397789834015, -0.505374827397788));
650 	add(vector3<>(+0.505397909754575, +0.121184507524897, -0.854334400543285));
651 	add(vector3<>(+0.121167891781777, -0.854359592169892, +0.505359307095908));
652 	add(vector3<>(+0.505550243990606, -0.121029099883223, +0.854266297932030));
653 	add(vector3<>(-0.120901230058257, -0.854271230889900, -0.505572503845152));
654 	add(vector3<>(-0.505512743080475, -0.120971801893292, -0.854296605243135));
655 	add(vector3<>(-0.121100221709937, +0.854233310670545, +0.505588950870808));
656 	add(vector3<>(+0.854228086018077, +0.505622863740440, -0.120995440909188));
657 	add(vector3<>(-0.854244251915001, -0.505593339178042, -0.121004683582819));
658 	add(vector3<>(-0.264987898778375, +0.883813698575362, -0.385557725524417));
659 	add(vector3<>(+0.883849543661418, -0.385514772323787, -0.264930829632268));
660 	add(vector3<>(+0.264935577586790, -0.883717531264112, -0.385814028600849));
661 	add(vector3<>(-0.385585969828214, -0.264991882132120, +0.883800182323873));
662 	add(vector3<>(-0.883729220902574, -0.385857204128221, +0.264833687708496));
663 	add(vector3<>(-0.385785570894326, +0.264874341279828, -0.883748310675226));
664 	add(vector3<>(-0.883885334258280, +0.385579930632135, -0.264716514363662));
665 	add(vector3<>(+0.385705565188833, +0.264771362950400, +0.883814088111154));
666 	add(vector3<>(+0.883764779677347, +0.385791993289806, +0.264810030239280));
667 	add(vector3<>(+0.385667159435638, -0.264653128949093, -0.883866258814251));
668 	add(vector3<>(-0.264656934006370, -0.883897033692944, +0.385594010730408));
669 	add(vector3<>(+0.264708980625706, +0.883800765821330, +0.385778902883153));
670 	add(vector3<>(-0.973352164893031, +0.228026239253951, +0.024281624940474));
671 	add(vector3<>(+0.228112345886926, +0.024344549147457, -0.973330416960638));
672 	add(vector3<>(+0.973355442809202, -0.228032180463189, +0.024093705130315));
673 	add(vector3<>(+0.024356788098520, -0.973342833359315, +0.228058053182924));
674 	add(vector3<>(-0.228119646411613, +0.024031592823588, +0.973336483168797));
675 	add(vector3<>(+0.024019836271027, +0.973350319061891, -0.228061842156086));
676 	add(vector3<>(-0.228243300844141, -0.024101340294447, -0.973305769537910));
677 	add(vector3<>(-0.024325527828938, +0.973285859331229, +0.228304412400888));
678 	add(vector3<>(+0.228251100231509, -0.024273911824481, +0.973299651930403));
679 	add(vector3<>(-0.024050630999231, -0.973293331950969, -0.228301680082122));
680 	add(vector3<>(-0.973284068418876, -0.228330589256741, -0.024150862752081));
681 	add(vector3<>(+0.973280766897442, +0.228336792285628, -0.024225153791815));
682 	add(vector3<>(+0.176494164360597, -0.643915961757687, +0.744460908403072));
683 	add(vector3<>(-0.643955474734765, +0.744429879896195, +0.176480878502065));
684 	add(vector3<>(-0.176394545795758, +0.643730246363376, +0.744645106161623));
685 	add(vector3<>(+0.744482176984942, +0.176540768465681, -0.643878595094843));
686 	add(vector3<>(+0.643722173544997, +0.744675565408302, -0.176295392935637));
687 	add(vector3<>(+0.744623260298500, -0.176308754645389, +0.643779017410342));
688 	add(vector3<>(+0.643979646991902, -0.744473128172097, +0.176210032886433));
689 	add(vector3<>(-0.744568815199564, -0.176381945090820, -0.643821938798528));
690 	add(vector3<>(-0.643745300418696, -0.744632317149074, -0.176393595252333));
691 	add(vector3<>(-0.744536607308663, +0.176149174255325, +0.643922905933989));
692 	add(vector3<>(+0.176195707023580, +0.643971118562494, -0.744483895919737));
693 	add(vector3<>(-0.176295790346183, -0.643784799068587, -0.744621331143847));
694 	add(vector3<>(-0.538268091669357, -0.714443097207928, +0.447033021534844));
695 	add(vector3<>(-0.714408571342234, +0.447040121797618, -0.538308018420605));
696 	add(vector3<>(+0.538328211219438, +0.714331668550684, +0.447138685768607));
697 	add(vector3<>(+0.447120197809599, -0.538252620284606, -0.714400199795228));
698 	add(vector3<>(+0.714269338389924, +0.447131167899720, +0.538417153263762));
699 	add(vector3<>(+0.447050760030329, +0.538390645652783, +0.714339646547694));
700 	add(vector3<>(+0.714335378036911, -0.446908044262390, -0.538514779424324));
701 	add(vector3<>(-0.447216973060670, +0.538430741435079, -0.714205373603506));
702 	add(vector3<>(-0.714197054202002, -0.447264479166707, +0.538402315601370));
703 	add(vector3<>(-0.446955147518652, -0.538568616287532, +0.714265316011294));
704 	add(vector3<>(-0.538553135871610, +0.714273485345900, -0.446960745451628));
705 	add(vector3<>(+0.538492423492547, -0.714162749879013, -0.447210774161770));
706 	add(vector3<>(-0.854262559171519, -0.121196786481334, +0.505516388403308));
707 	add(vector3<>(-0.121135225917774, +0.505562840819898, -0.854243800693903));
708 	add(vector3<>(+0.854330941426722, +0.121071937454801, +0.505430735592792));
709 	add(vector3<>(+0.505600927570970, -0.854220500665318, -0.121140572404410));
710 	add(vector3<>(+0.120980483865727, +0.505385380088754, +0.854370727562784));
711 	add(vector3<>(+0.505347417325379, +0.854380006035553, +0.121073502837149));
712 	add(vector3<>(+0.121020187472529, -0.505348640639146, -0.854386836057462));
713 	add(vector3<>(-0.505616684568734, +0.854250931602746, -0.120859894677939));
714 	add(vector3<>(-0.120865731027902, -0.505598482368904, +0.854260879175297));
715 	add(vector3<>(-0.505330760308760, -0.854410398020930, +0.120928468275617));
716 	add(vector3<>(-0.854368086396689, +0.120928425096259, -0.505402304061426));
717 	add(vector3<>(+0.854300186149896, -0.120804448918389, -0.505546711062170));
718 	add(vector3<>(+0.744463297304691, +0.643945879165515, +0.176374895243003));
719 	add(vector3<>(+0.643874092586096, +0.176352654639277, +0.744530653565125));
720 	add(vector3<>(-0.744439438351756, -0.643989673955645, +0.176315689786883));
721 	add(vector3<>(+0.176272538481235, +0.744499406704124, +0.643932159155441));
722 	add(vector3<>(-0.643927227994187, +0.176337348613599, -0.744488323972679));
723 	add(vector3<>(+0.176417156092134, -0.744445359352701, -0.643955040336351));
724 	add(vector3<>(-0.643773276436742, -0.176537581494637, +0.744574006305570));
725 	add(vector3<>(-0.176186289075531, -0.744659935538757, +0.643770123526409));
726 	add(vector3<>(+0.643827610309512, -0.176153056179147, -0.744618096074686));
727 	add(vector3<>(-0.176503857743247, +0.744606426388638, -0.643745025598251));
728 	add(vector3<>(+0.744642563797528, -0.643711305756388, -0.176474380640507));
729 	add(vector3<>(-0.744666089545738, +0.643755051780831, -0.176215346628265));
730 	add(vector3<>(-0.228336071531986, +0.973285242484899, -0.024051511354805));
731 	add(vector3<>(+0.973306451571720, -0.024007277846050, -0.228250305452786));
732 	add(vector3<>(+0.228333198106367, -0.973279105669999, -0.024325564920999));
733 	add(vector3<>(-0.024087022235214, -0.228306334617004, +0.973291340212985));
734 	add(vector3<>(-0.973298936142401, -0.024368394387641, +0.228244084828147));
735 	add(vector3<>(-0.024288551979359, +0.228299553239789, -0.973287922576490));
736 	add(vector3<>(-0.973337174231582, +0.024064219708824, -0.228113258248362));
737 	add(vector3<>(+0.024218299052141, +0.228063963157171, +0.973344904286279));
738 	add(vector3<>(+0.973329707418057, +0.024311563193311, +0.228118891266323));
739 	add(vector3<>(+0.024157446706033, -0.228056100974521, -0.973348258629430));
740 	add(vector3<>(-0.228026586903388, -0.973357047279715, +0.024081822524600));
741 	add(vector3<>(+0.228030283046768, +0.973350913461235, +0.024293811512186));
742 	add(vector3<>(+0.714188221641478, +0.538577770578359, -0.447067298186109));
743 	add(vector3<>(+0.538527478643698, -0.447091804432198, +0.714210804423472));
744 	add(vector3<>(-0.714248768779612, -0.538467220657919, -0.447103733571689));
745 	add(vector3<>(-0.447161335031565, +0.714165750281327, +0.538529499264337));
746 	add(vector3<>(-0.538389584312319, -0.447080411787951, -0.714321888856505));
747 	add(vector3<>(-0.447010969457209, -0.714305113088417, -0.538469496444014));
748 	add(vector3<>(-0.538432015415055, +0.446913681352591, +0.714394237235966));
749 	add(vector3<>(+0.447232748299163, -0.714300498031757, +0.538291433482237));
750 	add(vector3<>(+0.538293039926151, +0.447257878415203, -0.714283552493402));
751 	add(vector3<>(+0.446938450981038, +0.714439434305571, -0.538351479745163));
752 	add(vector3<>(+0.714416613789271, -0.538354159540915, +0.446971700275160));
753 	add(vector3<>(-0.714357130519037, +0.538243224338143, +0.447200314770336));
754 	add(vector3<>(-0.883822624796370, +0.264636203965444, +0.385778754532718));
755 	add(vector3<>(+0.264703577640278, +0.385837066658550, -0.883776993351130));
756 	add(vector3<>(+0.883874390523727, -0.264731681104579, +0.385594604209984));
757 	add(vector3<>(+0.385842662030848, -0.883779863837697, +0.264685837233447));
758 	add(vector3<>(-0.264822778778380, +0.385535295796556, +0.883872972510847));
759 	add(vector3<>(+0.385530295763018, +0.883900556837248, -0.264737977388365));
760 	add(vector3<>(-0.264823043649479, -0.385616295049092, -0.883837557781314));
761 	add(vector3<>(-0.385806659371906, +0.883713819704025, +0.264958688191976));
762 	add(vector3<>(+0.264941401779006, -0.385755452567231, +0.883741356075422));
763 	add(vector3<>(-0.385565266715756, -0.883834666939721, -0.264906977291953));
764 	add(vector3<>(-0.883791950673863, -0.264913750483099, -0.385658518289260));
765 	add(vector3<>(+0.883739852971877, +0.265008888025540, -0.385712537437807));
766 }
767 
S2_16design_144()768 S2_16design_144::S2_16design_144()
769 {	add(vector3<>(+0.938311825813856, -0.175079255774920, -0.298191501782276));
770 	add(vector3<>(-0.175109632245629, -0.298282531121024, +0.938277223598034));
771 	add(vector3<>(-0.938311652301346, +0.175147761450008, -0.298151815044902));
772 	add(vector3<>(-0.298182757815715, +0.938327057553728, -0.175012502421904));
773 	add(vector3<>(+0.175097712410131, -0.298058347845738, -0.938350687316958));
774 	add(vector3<>(-0.298185477757762, -0.938323612741539, +0.175026336949732));
775 	add(vector3<>(+0.175121225661409, +0.298070999742225, +0.938342280532811));
776 	add(vector3<>(+0.298159022282375, -0.938297484887434, -0.175211378870018));
777 	add(vector3<>(-0.175136638135111, +0.298288500226525, -0.938270285480331));
778 	add(vector3<>(+0.298175056505462, +0.938292628074833, +0.175210101816042));
779 	add(vector3<>(+0.938309721676758, +0.175091137054814, +0.298191146635404));
780 	add(vector3<>(-0.938307020714082, -0.175144295988174, +0.298168426332282));
781 	add(vector3<>(+0.318319389865683, -0.189552295411868, +0.928839433561922));
782 	add(vector3<>(-0.189466106261457, +0.928833946336168, +0.318386706242113));
783 	add(vector3<>(-0.318293314473071, +0.189362859617380, +0.928887007853633));
784 	add(vector3<>(+0.928852943553566, +0.318350700348959, -0.189433473386317));
785 	add(vector3<>(+0.189441607397533, +0.928892798895752, -0.318229548512164));
786 	add(vector3<>(+0.928866264406345, -0.318313837307129, +0.189430102746667));
787 	add(vector3<>(+0.189451825914940, -0.928887156552102, +0.318239934719146));
788 	add(vector3<>(-0.928865750332054, -0.318289122686796, -0.189474146625178));
789 	add(vector3<>(-0.189481041982253, -0.928834132900175, -0.318377273511944));
790 	add(vector3<>(-0.928863874908086, +0.318277395441538, +0.189503038080361));
791 	add(vector3<>(+0.318275484124591, +0.189572823808220, -0.928850289701540));
792 	add(vector3<>(-0.318345902583112, -0.189353418017315, -0.928870911049379));
793 	add(vector3<>(+0.415270907116288, +0.626546860524453, +0.659537038588256));
794 	add(vector3<>(+0.626612654947257, +0.659451415891007, +0.415307609777736));
795 	add(vector3<>(-0.415241828112963, -0.626676394380167, +0.659432271664102));
796 	add(vector3<>(+0.659494217922308, +0.415196847162120, +0.626641009377521));
797 	add(vector3<>(-0.626618996427069, +0.659521812332477, -0.415186238180433));
798 	add(vector3<>(+0.659478785687794, -0.415192215022902, -0.626660319321504));
799 	add(vector3<>(-0.626602233185435, -0.659528775810140, +0.415200475969626));
800 	add(vector3<>(-0.659472693683341, -0.415326178073293, +0.626577953724091));
801 	add(vector3<>(+0.626606052873236, -0.659443836594790, -0.415329605108723));
802 	add(vector3<>(-0.659498633823103, +0.415315781516604, -0.626557542136963));
803 	add(vector3<>(+0.415250963158486, -0.626542854390271, -0.659553401331872));
804 	add(vector3<>(-0.415267233073285, +0.626674158557439, -0.659418398387537));
805 	add(vector3<>(+0.081476869754028, +0.884767493032223, +0.458855100188022));
806 	add(vector3<>(+0.884802150170590, +0.458780629597686, +0.081519868495058));
807 	add(vector3<>(-0.081480972651680, -0.884843965103950, +0.458706887363658));
808 	add(vector3<>(+0.458778051156021, +0.081396678880420, +0.884814828336823));
809 	add(vector3<>(-0.884809515892886, +0.458784517027820, -0.081417980329578));
810 	add(vector3<>(+0.458732327572868, -0.081386172952098, -0.884839500978449));
811 	add(vector3<>(-0.884806469025575, -0.458784799888689, +0.081449492089205));
812 	add(vector3<>(-0.458770768146743, -0.081567624478124, +0.884802862185155));
813 	add(vector3<>(+0.884821176813587, -0.458741101923224, -0.081535798692882));
814 	add(vector3<>(-0.458810899116744, +0.081573887356361, -0.884781475706435));
815 	add(vector3<>(+0.081470600041761, -0.884777903494754, -0.458836139396478));
816 	add(vector3<>(-0.081497545017818, +0.884850109596990, -0.458692090298344));
817 	add(vector3<>(-0.722581612146772, +0.691169446907930, -0.012673178305347));
818 	add(vector3<>(+0.691146231887784, -0.012722477090735, -0.722602950951623));
819 	add(vector3<>(+0.722589739174094, -0.691157232223568, -0.012874361552029));
820 	add(vector3<>(-0.012719991090033, -0.722649829139429, +0.691097262526357));
821 	add(vector3<>(-0.691164087936900, -0.012832809701898, +0.722583920760425));
822 	add(vector3<>(-0.012740894622282, +0.722658126679523, -0.691088200990487));
823 	add(vector3<>(-0.691184825451665, +0.012806932405418, -0.722564543516851));
824 	add(vector3<>(+0.012786907088650, +0.722509435119358, +0.691242801894250));
825 	add(vector3<>(+0.691166758903022, +0.012679269543203, +0.722584076430794));
826 	add(vector3<>(+0.012798402734516, -0.722517774658893, -0.691233872281593));
827 	add(vector3<>(-0.722587198973115, -0.691163495604889, +0.012679204368530));
828 	add(vector3<>(+0.722578352800658, +0.691170335944389, +0.012809792129789));
829 	add(vector3<>(+0.560117573995459, +0.806868022890413, +0.187702682288658));
830 	add(vector3<>(+0.806883478716379, +0.187571442653970, +0.560139273462648));
831 	add(vector3<>(-0.560134093540899, -0.806891631206385, +0.187551840146170));
832 	add(vector3<>(+0.187652131237362, +0.560025149416763, +0.806943932168034));
833 	add(vector3<>(-0.806885441512999, +0.187685741881580, -0.560098157976558));
834 	add(vector3<>(+0.187630222901067, -0.560004720839195, -0.806963203679022));
835 	add(vector3<>(-0.806874677594158, -0.187697516958668, +0.560109718523856));
836 	add(vector3<>(-0.187614808802038, -0.560215760321792, +0.806820293129301));
837 	add(vector3<>(+0.806892320702248, -0.187576133311430, -0.560124965524367));
838 	add(vector3<>(-0.187636487681617, +0.560224974236710, -0.806808853900342));
839 	add(vector3<>(+0.560091821088720, -0.806880865199227, -0.187724322677880));
840 	add(vector3<>(-0.560129384097476, +0.806896245083186, -0.187546054987136));
841 	add(vector3<>(-0.099485634221032, -0.358895129517995, -0.928060824834181));
842 	add(vector3<>(-0.359050794288811, -0.927994608087772, -0.099541621850345));
843 	add(vector3<>(+0.099434389660615, +0.359143761945999, -0.927970129049474));
844 	add(vector3<>(-0.928019026720099, -0.099420190968380, -0.359021324816913));
845 	add(vector3<>(+0.358990815531993, -0.928035748444477, +0.099374262124424));
846 	add(vector3<>(-0.928007207203491, +0.099420259668564, +0.359051856067911));
847 	add(vector3<>(+0.359002982562248, +0.928031348467288, -0.099371398165657));
848 	add(vector3<>(+0.928017938922059, +0.099510949379702, -0.358998991631458));
849 	add(vector3<>(-0.359042863742385, +0.927996192076210, +0.099555459356689));
850 	add(vector3<>(+0.928013665632084, -0.099489549105096, +0.359015969030581));
851 	add(vector3<>(-0.099451875312545, +0.358926751348054, +0.928052213867059));
852 	add(vector3<>(+0.099465503317397, -0.359120063291987, +0.927975966170987));
853 	add(vector3<>(+0.787833199437607, +0.557450082325166, -0.261855409681697));
854 	add(vector3<>(+0.557405388687852, -0.261977292048617, +0.787824302184578));
855 	add(vector3<>(-0.787861477876718, -0.557364111687839, -0.261953313932730));
856 	add(vector3<>(-0.261861028070608, +0.787802657602316, +0.557490604990374));
857 	add(vector3<>(-0.557427204478003, -0.261835304855293, -0.787856068605919));
858 	add(vector3<>(-0.261850091868655, -0.787804146924511, -0.557493637162722));
859 	add(vector3<>(-0.557398047481063, +0.261806624190095, +0.787886227950765));
860 	add(vector3<>(+0.261928146806060, -0.787893374500188, +0.557330849971047));
861 	add(vector3<>(+0.557399834363592, +0.261935778537884, -0.787842035292097));
862 	add(vector3<>(+0.261909535328364, +0.787908371337394, -0.557318395246860));
863 	add(vector3<>(+0.787858967733566, -0.557444321449493, +0.261790136264747));
864 	add(vector3<>(-0.787856023927293, +0.557369329488324, +0.261958615256708));
865 	add(vector3<>(-0.507282732168614, -0.717049946047353, -0.478020506377115));
866 	add(vector3<>(-0.717064314001760, -0.477906271006066, -0.507370048109131));
867 	add(vector3<>(+0.507331753192767, +0.717116262803080, -0.477868975583995));
868 	add(vector3<>(-0.477891616916408, -0.507257502670160, -0.717153699332196));
869 	add(vector3<>(+0.717108744361459, -0.477988517659860, +0.507229756368514));
870 	add(vector3<>(-0.477913676926975, +0.507235340412842, +0.717154674280526));
871 	add(vector3<>(+0.717103637758922, +0.477942092943937, -0.507280719627002));
872 	add(vector3<>(+0.477949791330649, +0.507362311781387, -0.717040780953800));
873 	add(vector3<>(-0.717073605236621, +0.477889924387354, +0.507372313830785));
874 	add(vector3<>(+0.477966885504482, -0.507396895429057, +0.717004914118516));
875 	add(vector3<>(-0.507289494490155, +0.717039874321013, +0.478028437871252));
876 	add(vector3<>(+0.507342973335893, -0.717147616692481, +0.477810007512390));
877 	add(vector3<>(-0.469705390085658, -0.336248764063510, +0.816280353304085));
878 	add(vector3<>(-0.336180458859188, +0.816354017519737, -0.469626252631400));
879 	add(vector3<>(+0.469729267279509, +0.336087427571651, +0.816333054879763));
880 	add(vector3<>(+0.816299320102214, -0.469688480988201, -0.336226338688182));
881 	add(vector3<>(+0.336166188592078, +0.816261044646191, +0.469798042397566));
882 	add(vector3<>(+0.816308187841148, +0.469684487990511, +0.336210386818421));
883 	add(vector3<>(+0.336161196424763, -0.816254520485116, -0.469812949806501));
884 	add(vector3<>(-0.816314747547690, +0.469749196906201, -0.336104038866138));
885 	add(vector3<>(-0.336166711539314, -0.816355082377068, +0.469634242288587));
886 	add(vector3<>(-0.816302029136435, -0.469752338316787, +0.336130536954990));
887 	add(vector3<>(-0.469725914764869, +0.336254309274991, -0.816266258332602));
888 	add(vector3<>(+0.469715709020586, -0.336082571137018, -0.816342855715183));
889 	add(vector3<>(+0.220975783117544, +0.561981899641320, -0.797085972622227));
890 	add(vector3<>(+0.561898543386110, -0.797188442616427, +0.220818056099052));
891 	add(vector3<>(-0.220909808712360, -0.561819935638318, -0.797218424482290));
892 	add(vector3<>(-0.797143302926200, +0.220906560624346, +0.561927794358875));
893 	add(vector3<>(-0.561911046458035, -0.797113560704263, -0.221056434445611));
894 	add(vector3<>(-0.797166608166814, -0.220921454164110, -0.561888876837612));
895 	add(vector3<>(-0.561903189214556, +0.797117195899141, +0.221063298519679));
896 	add(vector3<>(+0.797149071206196, -0.221019917708182, +0.561875034372740));
897 	add(vector3<>(+0.561871545187380, +0.797190222992272, -0.220880318440273));
898 	add(vector3<>(+0.797151311779493, +0.220966501329483, -0.561892864715723));
899 	add(vector3<>(+0.220989674227739, -0.561959228438920, +0.797098105290090));
900 	add(vector3<>(-0.220934514736207, +0.561821479644177, +0.797210489901321));
901 	add(vector3<>(-0.025586321091663, +0.991400659992677, -0.128335776535923));
902 	add(vector3<>(+0.991391023154192, -0.128410509654448, -0.025584765380375));
903 	add(vector3<>(+0.025555318614800, -0.991378867053065, -0.128510185009118));
904 	add(vector3<>(-0.128427355734578, -0.025687167640031, +0.991386193023514));
905 	add(vector3<>(-0.991388412358290, -0.128432289728374, +0.025576606437040));
906 	add(vector3<>(-0.128471046150121, +0.025696657527584, -0.991380286314492));
907 	add(vector3<>(-0.991388770492313, +0.128433611757029, -0.025556077805202));
908 	add(vector3<>(+0.128434643068809, +0.025467323295080, +0.991390920829907));
909 	add(vector3<>(+0.991386054149539, +0.128448345934336, +0.025587380962899));
910 	add(vector3<>(+0.128392989158359, -0.025449752164830, -0.991396767419448));
911 	add(vector3<>(-0.025589705051665, -0.991398220731893, +0.128353943940207));
912 	add(vector3<>(+0.025571746935955, +0.991376476866512, +0.128525354986419));
913 }
914 
S2_17design_156()915 S2_17design_156::S2_17design_156()
916 {	add(vector3<>(-0.053895316433783, -0.140603506676410, -0.988597971258691));
917 	add(vector3<>(-0.140602010826056, -0.988598302765153, -0.053893137981829));
918 	add(vector3<>(+0.053892737412140, +0.140602992486377, -0.988598184986247));
919 	add(vector3<>(-0.988598098647216, -0.053895299659618, -0.140602617421263));
920 	add(vector3<>(+0.140604478516356, -0.988597884351918, +0.053894375180116));
921 	add(vector3<>(-0.988598065863270, +0.053892813420617, +0.140603800919506));
922 	add(vector3<>(+0.140601812415730, +0.988598276619905, -0.053894135205652));
923 	add(vector3<>(+0.988598002509875, +0.053895652551635, -0.140603158106489));
924 	add(vector3<>(-0.140604846635692, +0.988597850035353, +0.053894044272357));
925 	add(vector3<>(+0.988598167360928, -0.053892450727800, +0.140603226297146));
926 	add(vector3<>(-0.053892835910884, +0.140602751584219, +0.988598213878838));
927 	add(vector3<>(+0.053896097450443, -0.140603793852246, +0.988597887836084));
928 	add(vector3<>(-0.712137820619482, +0.484725955627139, +0.507839022116940));
929 	add(vector3<>(+0.484727142303201, +0.507838589157962, -0.712137321642830));
930 	add(vector3<>(+0.712137878427749, -0.484726895412166, +0.507838044038163));
931 	add(vector3<>(+0.507839760738435, -0.712137969376798, +0.484724963236905));
932 	add(vector3<>(-0.484727642870466, +0.507838390853387, +0.712137122338588));
933 	add(vector3<>(+0.507839607814555, +0.712136191976364, -0.484727734725550));
934 	add(vector3<>(-0.484726768067281, -0.507839236872381, -0.712137114474401));
935 	add(vector3<>(-0.507840112632748, +0.712136257912531, +0.484727108966990));
936 	add(vector3<>(+0.484728549122460, -0.507840095411427, +0.712135289926112));
937 	add(vector3<>(-0.507838861015403, -0.712137466171353, -0.484726645149226));
938 	add(vector3<>(-0.712136671868904, -0.484727632936327, -0.507839032024349));
939 	add(vector3<>(+0.712137765857364, +0.484726401555971, -0.507838673275561));
940 	add(vector3<>(-0.703005448039525, +0.261790111709517, +0.661248272162480));
941 	add(vector3<>(+0.261790853614460, +0.661247136036676, -0.703006240404100));
942 	add(vector3<>(+0.703006433944545, -0.261790569085573, +0.661247042919986));
943 	add(vector3<>(+0.661249487589413, -0.703004433785850, +0.261789765346499));
944 	add(vector3<>(-0.261791711051733, +0.661247232073399, +0.703005830772316));
945 	add(vector3<>(+0.661247423359215, +0.703005908959219, -0.261791017930756));
946 	add(vector3<>(-0.261791042135151, -0.661248438610085, -0.703004944999334));
947 	add(vector3<>(-0.661249044674904, +0.703004424763402, +0.261790908321135));
948 	add(vector3<>(+0.261792246267340, -0.661248916662998, +0.703004046934519));
949 	add(vector3<>(-0.661247254530942, -0.703006260525483, -0.261790500280794));
950 	add(vector3<>(-0.703005469484280, -0.261791326803081, -0.661247768303130));
951 	add(vector3<>(+0.703005158463527, +0.261791025358218, -0.661248218308045));
952 	add(vector3<>(+0.062800447246381, +0.786218819998244, -0.614748786827777));
953 	add(vector3<>(+0.786220043108977, -0.614747449388309, +0.062798226760693));
954 	add(vector3<>(-0.062799502252198, -0.786219239565021, -0.614748346768559));
955 	add(vector3<>(-0.614747707096140, +0.062799571514381, +0.786219734194995));
956 	add(vector3<>(-0.786218534519124, -0.614749234835089, -0.062799635733612));
957 	add(vector3<>(-0.614749330696540, -0.062799956628617, -0.786218433932708));
958 	add(vector3<>(-0.786219538571286, +0.614747943528109, +0.062799706183351));
959 	add(vector3<>(+0.614749395150454, -0.062799770458141, +0.786218398406292));
960 	add(vector3<>(+0.786217798458002, +0.614750179051967, -0.062799607828601));
961 	add(vector3<>(+0.614747800214019, +0.062800058129605, -0.786219622517107));
962 	add(vector3<>(+0.062800526363459, -0.786218909415802, +0.614748664386918));
963 	add(vector3<>(-0.062801412397757, +0.786218712810953, +0.614748825315458));
964 	add(vector3<>(+0.829543607739232, +0.321465368220585, +0.456637076783941));
965 	add(vector3<>(+0.321463595502047, +0.456637380632479, +0.829544127443504));
966 	add(vector3<>(-0.829543445038530, -0.321464459743646, +0.456638011903666));
967 	add(vector3<>(+0.456635000556537, +0.829545159774775, +0.321464312422039));
968 	add(vector3<>(-0.321464200257790, +0.456637459573867, -0.829543849634571));
969 	add(vector3<>(+0.456637068558535, -0.829544000114897, -0.321464367374743));
970 	add(vector3<>(-0.321462954195433, -0.456636421102337, +0.829544904150941));
971 	add(vector3<>(-0.456636713034899, -0.829544190971737, +0.321464379883261));
972 	add(vector3<>(+0.321462955106589, -0.456636688799517, -0.829544756439550));
973 	add(vector3<>(-0.456637112396323, +0.829544098578271, -0.321464051017078));
974 	add(vector3<>(+0.829544701976578, -0.321462298506758, -0.456637249971290));
975 	add(vector3<>(-0.829544861446795, +0.321463589390512, -0.456636051515194));
976 	add(vector3<>(-0.249500423448462, +0.954025094362385, -0.166089307379737));
977 	add(vector3<>(+0.954025470855406, -0.166087567010738, -0.249500142371853));
978 	add(vector3<>(+0.249500943484422, -0.954025029612664, -0.166088898102612));
979 	add(vector3<>(-0.166086877408662, -0.249500137449683, +0.954025592196158));
980 	add(vector3<>(-0.954024855383494, -0.166089937003122, +0.249500918108135));
981 	add(vector3<>(-0.166090151998567, +0.249500107118379, -0.954025030047436));
982 	add(vector3<>(-0.954025593688894, +0.166087862658579, -0.249499475879328));
983 	add(vector3<>(+0.166089692874499, +0.249499687822531, +0.954025219633797));
984 	add(vector3<>(+0.954024931419817, +0.166090647913648, +0.249500154118264));
985 	add(vector3<>(+0.166087956122076, -0.249500002352048, -0.954025439732882));
986 	add(vector3<>(-0.249499759982538, -0.954025225930409, +0.166089548307795));
987 	add(vector3<>(+0.249498374708179, +0.954025720257113, +0.166088789826025));
988 	add(vector3<>(+0.860787215766444, +0.418630333044569, -0.289471956203095));
989 	add(vector3<>(+0.418631425510959, -0.289473932939102, +0.860786019707239));
990 	add(vector3<>(-0.860786771736426, -0.418630687137034, -0.289472764506019));
991 	add(vector3<>(-0.289474446503673, +0.860786651964262, +0.418629770347917));
992 	add(vector3<>(-0.418629889262302, -0.289472838226515, -0.860787134978979));
993 	add(vector3<>(-0.289472399693171, -0.860787556030986, -0.418629326729602));
994 	add(vector3<>(-0.418629257388446, +0.289472594933548, +0.860787524096880));
995 	add(vector3<>(+0.289473185156189, -0.860787817544824, +0.418628245872098));
996 	add(vector3<>(+0.418628942424652, +0.289472756316209, -0.860787623002977));
997 	add(vector3<>(+0.289473542762772, +0.860786603163078, -0.418630495610795));
998 	add(vector3<>(+0.860788012261758, -0.418628676927689, +0.289471982755196));
999 	add(vector3<>(-0.860787839361109, +0.418628479474405, +0.289472782452827));
1000 	add(vector3<>(-0.169104129594250, -0.878917391692094, +0.445991044680649));
1001 	add(vector3<>(-0.878918175066698, +0.445989574417742, -0.169103935637546));
1002 	add(vector3<>(+0.169102333488308, +0.878918206143462, +0.445990120651083));
1003 	add(vector3<>(+0.445989469034572, -0.169103982598388, -0.878918219506016));
1004 	add(vector3<>(+0.878916540171611, +0.445992443170219, +0.169104867014003));
1005 	add(vector3<>(+0.445990224108014, +0.169104198005711, +0.878917794914250));
1006 	add(vector3<>(+0.878918285318947, -0.445988968934561, -0.169104959479873));
1007 	add(vector3<>(-0.445991404870479, +0.169104651147508, -0.878917108572780));
1008 	add(vector3<>(-0.878917501870672, -0.445990557689425, +0.169104841318319));
1009 	add(vector3<>(-0.445988638146300, -0.169104239878744, +0.878918591622365));
1010 	add(vector3<>(-0.169103682791870, +0.878918081785917, -0.445989854117772));
1011 	add(vector3<>(+0.169104218306708, -0.878917936541782, -0.445989937303537));
1012 	add(vector3<>(+0.699159749436449, +0.682605593469953, +0.212662287515900));
1013 	add(vector3<>(+0.682603600110598, +0.212662432840561, +0.699161651389995));
1014 	add(vector3<>(-0.699161274801242, -0.682604056820824, +0.212662204987290));
1015 	add(vector3<>(+0.212660843412531, +0.699162101347243, +0.682603634416620));
1016 	add(vector3<>(-0.682604762820295, +0.212661985195386, -0.699160652373835));
1017 	add(vector3<>(+0.212662594223091, -0.699161699678606, -0.682603500372528));
1018 	add(vector3<>(-0.682602562402764, -0.212662368159073, +0.699162684194570));
1019 	add(vector3<>(-0.212661230546804, -0.699160950060591, +0.682604693019826));
1020 	add(vector3<>(+0.682603395227417, -0.212661769975790, -0.699162053042617));
1021 	add(vector3<>(-0.212661876797938, +0.699162212981133, -0.682603198129121));
1022 	add(vector3<>(+0.699162077611852, -0.682602648532129, -0.212664085934605));
1023 	add(vector3<>(-0.699161982808670, +0.682603270588311, -0.212662400948523));
1024 	add(vector3<>(-0.893254372981228, -0.172342415041176, -0.415204428116666));
1025 	add(vector3<>(-0.172341691383160, -0.415205105182347, -0.893254197886418));
1026 	add(vector3<>(+0.893254479512939, +0.172341865725213, -0.415204426937409));
1027 	add(vector3<>(-0.415203760144359, -0.893254961141014, -0.172340975855865));
1028 	add(vector3<>(+0.172343621116966, -0.415205895670259, +0.893253458129858));
1029 	add(vector3<>(-0.415206334449770, +0.893253702225950, +0.172341298859036));
1030 	add(vector3<>(+0.172340599563611, +0.415204277853847, -0.893254793098767));
1031 	add(vector3<>(+0.415204013461881, +0.893254652987798, -0.172341962739188));
1032 	add(vector3<>(-0.172341194629210, +0.415204328749048, +0.893254654632054));
1033 	add(vector3<>(+0.415206142771325, -0.893254015914866, +0.172340134782712));
1034 	add(vector3<>(-0.893254414643370, +0.172340274858685, +0.415205226823752));
1035 	add(vector3<>(+0.893254705389659, -0.172340550786628, +0.415204486793911));
1036 	add(vector3<>(-0.030119107290242, +0.538031004327585, -0.842386774444073));
1037 	add(vector3<>(+0.538032715913301, -0.842385669186460, -0.030119444819523));
1038 	add(vector3<>(+0.030118087641353, -0.538031590262412, -0.842386436664628));
1039 	add(vector3<>(-0.842386183209587, -0.030119347292783, +0.538031916577671));
1040 	add(vector3<>(-0.538030304105545, -0.842387233636645, +0.030118772718924));
1041 	add(vector3<>(-0.842387312723823, +0.030117901022641, -0.538030229076328));
1042 	add(vector3<>(-0.538031723308682, +0.842386324999934, -0.030118834084264));
1043 	add(vector3<>(+0.842387103098144, +0.030119789658303, +0.538030451559070));
1044 	add(vector3<>(+0.538029173032331, +0.842387968746045, +0.030118417588877));
1045 	add(vector3<>(+0.842386330532407, -0.030117441179441, -0.538031792619125));
1046 	add(vector3<>(-0.030117059116644, -0.538030739137179, +0.842387017049566));
1047 	add(vector3<>(+0.030118346812524, +0.538030710181824, +0.842386989504540));
1048 	add(vector3<>(+0.951905881051384, -0.301774121097739, +0.052986540323701));
1049 	add(vector3<>(-0.301774405343499, +0.052986798530194, +0.951905776566724));
1050 	add(vector3<>(-0.951905698855431, +0.301774599900000, +0.052987086556530));
1051 	add(vector3<>(+0.052987612958423, +0.951905238066977, -0.301775960960479));
1052 	add(vector3<>(+0.301774562398047, +0.052986834212903, -0.951905724790833));
1053 	add(vector3<>(+0.052986766829206, -0.951905252173644, +0.301776065030379));
1054 	add(vector3<>(+0.301777293645336, -0.052987994727859, +0.951904794322844));
1055 	add(vector3<>(-0.052986574701187, -0.951905591847301, -0.301775027315507));
1056 	add(vector3<>(-0.301776941841401, -0.052986526316734, -0.951904987591586));
1057 	add(vector3<>(-0.052988794896112, +0.951905240176443, +0.301775746772478));
1058 	add(vector3<>(+0.951904861812240, +0.301777462059556, -0.052985823114433));
1059 	add(vector3<>(-0.951905018594348, -0.301776824324304, -0.052986638651951));
1060 	add(vector3<>(+0.553606146300219, +0.454401156690480, +0.697882385203248));
1061 	add(vector3<>(+0.454399619298559, +0.697882738116233, +0.553606963305840));
1062 	add(vector3<>(-0.553605814018882, -0.454401128197097, +0.697882667342941));
1063 	add(vector3<>(+0.697880969772289, +0.553607891253260, +0.454401204632875));
1064 	add(vector3<>(-0.454400796454347, +0.697882268834231, -0.553606588678677));
1065 	add(vector3<>(+0.697882520653254, -0.553605103541103, -0.454402219074583));
1066 	add(vector3<>(-0.454400180900896, -0.697882141032518, +0.553607255032936));
1067 	add(vector3<>(-0.697881635390884, -0.553607048847703, +0.454401208680482));
1068 	add(vector3<>(+0.454401271818775, -0.697881725780630, -0.553606883077631));
1069 	add(vector3<>(-0.697882321916330, +0.553606343141444, -0.454401014072625));
1070 	add(vector3<>(+0.553606029480292, -0.454400306845994, -0.697883031217504));
1071 	add(vector3<>(-0.553606960810672, +0.454400842716203, -0.697881943512493));
1072 }
1073 
S2_18design_180()1074 S2_18design_180::S2_18design_180()
1075 {	add(vector3<>(-0.866376343641697, +0.223696804580225, +0.446488265017841));
1076 	add(vector3<>(+0.223696806212017, +0.446488265347841, -0.866376343050305));
1077 	add(vector3<>(+0.866376343115579, -0.223696806225293, +0.446488265214530));
1078 	add(vector3<>(+0.446488263679790, -0.866376344067145, +0.223696805603153));
1079 	add(vector3<>(-0.223696804286002, +0.446488265023544, +0.866376343714725));
1080 	add(vector3<>(+0.446488262849567, +0.866376344947941, -0.223696803848920));
1081 	add(vector3<>(-0.223696805588600, -0.446488263582537, -0.866376344121022));
1082 	add(vector3<>(-0.446488264810465, +0.866376343829741, +0.223696804265844));
1083 	add(vector3<>(+0.223696803801399, -0.446488262808774, +0.866376344981234));
1084 	add(vector3<>(-0.446488265014924, -0.866376343219064, -0.223696806222901));
1085 	add(vector3<>(-0.866376344921200, -0.223696804074408, -0.446488262788483));
1086 	add(vector3<>(+0.866376344172558, +0.223696805482214, -0.446488263535836));
1087 	add(vector3<>(-0.806844783933568, -0.461758079243128, -0.368484695601989));
1088 	add(vector3<>(-0.461758081774945, -0.368484698390835, -0.806844781210945));
1089 	add(vector3<>(+0.806844781335060, +0.461758081613586, -0.368484698321273));
1090 	add(vector3<>(-0.368484697968357, -0.806844781706494, -0.461758081246195));
1091 	add(vector3<>(+0.461758078945765, -0.368484695716793, +0.806844784051319));
1092 	add(vector3<>(-0.368484697702554, +0.806844783105505, +0.461758079013772));
1093 	add(vector3<>(+0.461758081217295, +0.368484698443883, -0.806844781505862));
1094 	add(vector3<>(+0.368484695481328, +0.806844784182969, -0.461758078903629));
1095 	add(vector3<>(-0.461758078967836, +0.368484697936060, +0.806844783025151));
1096 	add(vector3<>(+0.368484698460610, -0.806844781213308, +0.461758081715136));
1097 	add(vector3<>(-0.806844782774103, +0.461758079314706, +0.368484698051091));
1098 	add(vector3<>(+0.806844781709987, -0.461758081098712, +0.368484698145526));
1099 	add(vector3<>(-0.134842418858112, -0.040021669507572, +0.990058477084218));
1100 	add(vector3<>(-0.040021669975618, +0.990058477016276, -0.134842419218046));
1101 	add(vector3<>(+0.134842418981357, +0.040021669788942, +0.990058477056058));
1102 	add(vector3<>(+0.990058476924117, -0.134842420436143, -0.040021668151402));
1103 	add(vector3<>(+0.040021669677461, +0.990058477116921, +0.134842418567570));
1104 	add(vector3<>(+0.990058477286021, +0.134842417855397, +0.040021667893743));
1105 	add(vector3<>(+0.040021668037836, -0.990058476927568, -0.134842420444507));
1106 	add(vector3<>(-0.990058477115239, +0.134842418635191, -0.040021669491235));
1107 	add(vector3<>(-0.040021667837798, -0.990058477270892, +0.134842417983082));
1108 	add(vector3<>(-0.990058477042031, -0.134842419087429, +0.040021669778575));
1109 	add(vector3<>(-0.134842418122745, +0.040021667670891, -0.990058477258617));
1110 	add(vector3<>(+0.134842420378113, -0.040021667867212, -0.990058476943508));
1111 	add(vector3<>(+0.049794077313207, -0.279738156561879, -0.958784185115654));
1112 	add(vector3<>(-0.279738157129975, -0.958784185068512, +0.049794075029415));
1113 	add(vector3<>(-0.049794075085005, +0.279738157111834, -0.958784185070918));
1114 	add(vector3<>(-0.958784184460955, +0.049794077429761, -0.279738158785068));
1115 	add(vector3<>(+0.279738156684233, -0.958784185083851, -0.049794077238191));
1116 	add(vector3<>(-0.958784184306963, -0.049794076856858, +0.279738159414846));
1117 	add(vector3<>(+0.279738159012938, +0.958784184390379, +0.049794077508567));
1118 	add(vector3<>(+0.958784185034086, -0.049794077337113, -0.279738156837192));
1119 	add(vector3<>(-0.279738159575992, +0.958784184243150, -0.049794077180261));
1120 	add(vector3<>(+0.958784185016722, +0.049794074909289, +0.279738157328865));
1121 	add(vector3<>(+0.049794077031905, +0.279738159517178, +0.958784184268015));
1122 	add(vector3<>(-0.049794077785621, -0.279738158888691, +0.958784184412241));
1123 	add(vector3<>(+0.205470768670777, -0.192901743072287, +0.959463746444603));
1124 	add(vector3<>(-0.192901744385898, +0.959463746331714, +0.205470767964668));
1125 	add(vector3<>(-0.205470768086678, +0.192901744630450, +0.959463746256418));
1126 	add(vector3<>(+0.959463745738735, +0.205470770340502, -0.192901744804646));
1127 	add(vector3<>(+0.192901742902880, +0.959463746447685, -0.205470768815433));
1128 	add(vector3<>(+0.959463745366340, -0.205470771694041, +0.192901745215149));
1129 	add(vector3<>(+0.192901744892626, -0.959463745685675, +0.205470770505673));
1130 	add(vector3<>(-0.959463746372533, -0.205470769064203, -0.192901743011692));
1131 	add(vector3<>(-0.192901745122065, -0.959463745348892, -0.205470771862908));
1132 	add(vector3<>(-0.959463746220563, +0.205470768260652, +0.192901744623478));
1133 	add(vector3<>(+0.205470771726444, +0.192901745460598, -0.959463745310053));
1134 	add(vector3<>(-0.205470770652743, -0.192901744949698, -0.959463745642705));
1135 	add(vector3<>(-0.278905392074019, +0.772004854137857, -0.571156972696319));
1136 	add(vector3<>(+0.772004854268172, -0.571156972466399, -0.278905392184152));
1137 	add(vector3<>(+0.278905392160238, -0.772004854249339, -0.571156972503532));
1138 	add(vector3<>(-0.571156971675365, -0.278905392078835, +0.772004854891456));
1139 	add(vector3<>(-0.772004854266013, -0.571156972533567, +0.278905392052577));
1140 	add(vector3<>(-0.571156970567139, +0.278905391582234, -0.772004855890770));
1141 	add(vector3<>(-0.772004855078365, +0.571156971421921, -0.278905392080490));
1142 	add(vector3<>(+0.571156972556470, +0.278905391952095, +0.772004854285370));
1143 	add(vector3<>(+0.772004855995114, +0.571156970376128, +0.278905391684575));
1144 	add(vector3<>(+0.571156972406906, -0.278905392034109, -0.772004854366394));
1145 	add(vector3<>(-0.278905391724262, -0.772004855939801, +0.571156970431511));
1146 	add(vector3<>(+0.278905392185009, +0.772004854970249, +0.571156971517017));
1147 	add(vector3<>(+0.912363859945553, -0.393198149041577, -0.113962286110494));
1148 	add(vector3<>(-0.393198146993911, -0.113962287143254, +0.912363860699027));
1149 	add(vector3<>(-0.912363860783175, +0.393198146824102, -0.113962287055462));
1150 	add(vector3<>(-0.113962288369946, +0.912363860162702, -0.393198147882843));
1151 	add(vector3<>(+0.393198149035756, -0.113962285681562, -0.912363860001638));
1152 	add(vector3<>(-0.113962285259825, -0.912363861029922, +0.393198146771995));
1153 	add(vector3<>(+0.393198147677495, +0.113962288066404, +0.912363860289116));
1154 	add(vector3<>(+0.113962286031302, -0.912363859929225, -0.393198149102416));
1155 	add(vector3<>(-0.393198146912320, +0.113962285090844, -0.912363860990554));
1156 	add(vector3<>(+0.113962287370876, +0.912363860762456, +0.393198146780759));
1157 	add(vector3<>(+0.912363861076700, +0.393198146641003, +0.113962285337288));
1158 	add(vector3<>(-0.912363860199082, -0.393198147849260, +0.113962288194565));
1159 	add(vector3<>(+0.848662336981788, -0.012909984472825, -0.528777429633226));
1160 	add(vector3<>(-0.012909985424660, -0.528777432035493, +0.848662335470524));
1161 	add(vector3<>(-0.848662335552813, +0.012909985214183, -0.528777431908562));
1162 	add(vector3<>(-0.528777433525460, +0.848662334565693, -0.012909983878239));
1163 	add(vector3<>(+0.012909984639682, -0.528777429281808, -0.848662337198209));
1164 	add(vector3<>(-0.528777430386149, -0.848662336521067, +0.012909983920382));
1165 	add(vector3<>(+0.012909983944448, +0.528777433446480, +0.848662334613896));
1166 	add(vector3<>(+0.528777429496827, -0.848662337067122, -0.012909984449961));
1167 	add(vector3<>(-0.012909983871647, +0.528777430419671, -0.848662336500922));
1168 	add(vector3<>(+0.528777432240356, +0.848662335344326, +0.012909985329594));
1169 	add(vector3<>(+0.848662336343559, +0.012909983743557, +0.528777430675359));
1170 	add(vector3<>(-0.848662334668199, -0.012909983655303, +0.528777433366386));
1171 	add(vector3<>(-0.695851132086170, +0.211164782101034, +0.686440555892948));
1172 	add(vector3<>(+0.211164781099711, +0.686440555544410, -0.695851132733858));
1173 	add(vector3<>(+0.695851132741401, -0.211164781335084, +0.686440555464357));
1174 	add(vector3<>(+0.686440553889191, -0.695851134384757, +0.211164781040182));
1175 	add(vector3<>(-0.211164781930503, +0.686440555960218, +0.695851132071559));
1176 	add(vector3<>(+0.686440553598939, +0.695851134525998, -0.211164781518280));
1177 	add(vector3<>(-0.211164780870360, -0.686440553737906, -0.695851134585530));
1178 	add(vector3<>(-0.686440555776475, +0.695851132224679, +0.211164782023223));
1179 	add(vector3<>(+0.211164781498505, -0.686440553499572, +0.695851134630023));
1180 	add(vector3<>(-0.686440555292332, -0.695851132981083, -0.211164781104467));
1181 	add(vector3<>(-0.695851134744882, -0.211164781531153, -0.686440553373094));
1182 	add(vector3<>(+0.695851134495813, +0.211164781101486, -0.686440553757753));
1183 	add(vector3<>(-0.261718169263029, -0.581630098396244, +0.770201290908541));
1184 	add(vector3<>(-0.581630098290833, +0.770201291506502, -0.261718167737572));
1185 	add(vector3<>(+0.261718167857864, +0.581630098126426, +0.770201291589781));
1186 	add(vector3<>(+0.770201292726794, -0.261718168321791, -0.581630096412025));
1187 	add(vector3<>(+0.581630098450626, +0.770201290888376, +0.261718169201518));
1188 	add(vector3<>(+0.770201293263127, +0.261718168077775, +0.581630095811608));
1189 	add(vector3<>(+0.581630096213803, -0.770201292881278, -0.261718168307686));
1190 	add(vector3<>(-0.770201291051568, +0.261718169130290, -0.581630098266577));
1191 	add(vector3<>(-0.581630095716607, -0.770201293304276, +0.261718168167806));
1192 	add(vector3<>(-0.770201291705965, -0.261718167641045, +0.581630098070137));
1193 	add(vector3<>(-0.261718168076348, +0.581630095637746, -0.770201293394907));
1194 	add(vector3<>(+0.261718168494542, -0.581630096129926, -0.770201292881124));
1195 	add(vector3<>(+0.506136437086844, +0.700992881596967, +0.502428987025446));
1196 	add(vector3<>(+0.700992883568509, +0.502428985302136, +0.506136436066968));
1197 	add(vector3<>(-0.506136436123196, -0.700992883503112, +0.502428985336736));
1198 	add(vector3<>(+0.502428986281426, +0.506136435764488, +0.700992883085013));
1199 	add(vector3<>(-0.700992881635171, +0.502428986938925, -0.506136437119820));
1200 	add(vector3<>(+0.502428986199081, -0.506136436342322, -0.700992882726821));
1201 	add(vector3<>(-0.700992883178434, -0.502428986124795, +0.506136435790584));
1202 	add(vector3<>(-0.502428987099143, -0.506136437034413, +0.700992881582003));
1203 	add(vector3<>(+0.700992882671006, -0.502428986197914, -0.506136436420782));
1204 	add(vector3<>(-0.502428985277898, +0.506136435955935, -0.700992883666051));
1205 	add(vector3<>(+0.506136436300189, -0.700992882789867, -0.502428986153563));
1206 	add(vector3<>(-0.506136435852246, +0.700992882991532, -0.502428986323445));
1207 	add(vector3<>(-0.440748149182578, +0.602242024157979, +0.665616716534547));
1208 	add(vector3<>(+0.602242022260099, +0.665616718342340, -0.440748149045733));
1209 	add(vector3<>(+0.440748149100016, -0.602242022337998, +0.665616718235914));
1210 	add(vector3<>(+0.665616715634027, -0.440748149390786, +0.602242025000887));
1211 	add(vector3<>(-0.602242023804998, +0.665616716814167, +0.440748149242614));
1212 	add(vector3<>(+0.665616716586012, +0.440748149783209, -0.602242023661529));
1213 	add(vector3<>(-0.602242024940208, -0.665616715760932, -0.440748149282046));
1214 	add(vector3<>(-0.665616716462371, +0.440748149424008, +0.602242024061062));
1215 	add(vector3<>(+0.602242023852026, -0.665616716460744, +0.440748149712092));
1216 	add(vector3<>(-0.665616718266293, -0.440748149179880, -0.602242022245974));
1217 	add(vector3<>(-0.440748149655782, -0.602242023883194, -0.665616716469830));
1218 	add(vector3<>(+0.440748149282540, +0.602242025306933, -0.665616715428797));
1219 	add(vector3<>(-0.890257836775530, -0.293518547758229, +0.348264046639405));
1220 	add(vector3<>(-0.293518546899673, +0.348264043649922, -0.890257838228066));
1221 	add(vector3<>(+0.890257838178446, +0.293518546762444, +0.348264043892422));
1222 	add(vector3<>(+0.348264044462760, -0.890257837322353, -0.293518548682307));
1223 	add(vector3<>(+0.293518547908785, +0.348264046686625, +0.890257836707420));
1224 	add(vector3<>(+0.348264047178787, +0.890257836270502, +0.293518548650024));
1225 	add(vector3<>(+0.293518548932545, -0.348264044336184, -0.890257837289365));
1226 	add(vector3<>(-0.348264046901224, +0.890257836626627, -0.293518547899210));
1227 	add(vector3<>(-0.293518548946200, -0.348264047080228, +0.890257836211408));
1228 	add(vector3<>(-0.348264043786589, -0.890257838192766, +0.293518546844585));
1229 	add(vector3<>(-0.890257836357219, +0.293518548692058, -0.348264046921688));
1230 	add(vector3<>(+0.890257837186443, -0.293518548811097, -0.348264044701638));
1231 	add(vector3<>(+0.661971946522154, +0.031389655564508, +0.748871037990662));
1232 	add(vector3<>(+0.031389654297210, +0.748871040172752, +0.661971944113708));
1233 	add(vector3<>(-0.661971944196008, -0.031389654112142, +0.748871040107759));
1234 	add(vector3<>(+0.748871039164329, +0.661971945218693, +0.031389655052549));
1235 	add(vector3<>(-0.031389655768972, +0.748871037783183, -0.661971946747175));
1236 	add(vector3<>(+0.748871037422933, -0.661971947171443, -0.031389655416215));
1237 	add(vector3<>(-0.031389655026768, -0.748871039044161, +0.661971945355858));
1238 	add(vector3<>(-0.748871037767735, -0.661971946761125, +0.031389655843332));
1239 	add(vector3<>(+0.031389655538560, -0.748871037222178, -0.661971947392751));
1240 	add(vector3<>(-0.748871040238931, +0.661971944045087, -0.031389654165497));
1241 	add(vector3<>(+0.661971947071480, -0.031389655223358, -0.748871037519379));
1242 	add(vector3<>(-0.661971945551351, +0.031389654961479, -0.748871038874090));
1243 	add(vector3<>(-0.125732546862956, -0.877697090664539, -0.462427446956124));
1244 	add(vector3<>(-0.877697091831705, -0.462427445382079, -0.125732544504481));
1245 	add(vector3<>(+0.125732544403638, +0.877697091976424, -0.462427445134820));
1246 	add(vector3<>(-0.462427446167756, -0.125732547895101, -0.877697090932044));
1247 	add(vector3<>(+0.877697090790478, -0.462427446687307, +0.125732546972493));
1248 	add(vector3<>(-0.462427443232932, +0.125732547131528, +0.877697092587683));
1249 	add(vector3<>(+0.877697091111920, +0.462427445862905, -0.125732547760650));
1250 	add(vector3<>(+0.462427446678181, +0.125732547366796, -0.877697090738801));
1251 	add(vector3<>(-0.877697092508510, +0.462427443357225, +0.125732547227075));
1252 	add(vector3<>(+0.462427444949274, -0.125732544734265, +0.877697092026818));
1253 	add(vector3<>(-0.125732546895942, +0.877697092616795, +0.462427443241732));
1254 	add(vector3<>(+0.125732547889573, -0.877697091021935, +0.462427445998644));
1255 }
1256 
S2_19design_204()1257 S2_19design_204::S2_19design_204()
1258 {	add(vector3<>(+0.553035945587524, -0.472050222255944, +0.686527370580538));
1259 	add(vector3<>(-0.472050227459673, +0.686527365766638, +0.553035947121696));
1260 	add(vector3<>(-0.553035945587470, +0.472050222505474, +0.686527370409006));
1261 	add(vector3<>(+0.686527372366403, +0.553035941501725, -0.472050224445432));
1262 	add(vector3<>(+0.472050228567412, +0.686527364805305, -0.553035947369552));
1263 	add(vector3<>(+0.686527372031690, -0.553035941518164, +0.472050224912964));
1264 	add(vector3<>(+0.472050228340927, -0.686527365268236, +0.553035946988198));
1265 	add(vector3<>(-0.686527371732145, -0.553035942965273, -0.472050223653230));
1266 	add(vector3<>(-0.472050227580466, -0.686527365608527, -0.553035947214868));
1267 	add(vector3<>(-0.686527371021655, +0.553035942983048, +0.472050224665708));
1268 	add(vector3<>(+0.553035946644886, +0.472050221691609, -0.686527370116806));
1269 	add(vector3<>(-0.553035947212832, -0.472050222465287, -0.686527369127320));
1270 	add(vector3<>(+0.534151654424436, +0.792082393152326, +0.295444567615860));
1271 	add(vector3<>(+0.792082397489039, +0.295444568376044, +0.534151647573148));
1272 	add(vector3<>(-0.534151654605920, -0.792082392760173, +0.295444568339099));
1273 	add(vector3<>(+0.295444567949351, +0.534151645341887, +0.792082399152876));
1274 	add(vector3<>(-0.792082397600766, +0.295444569297570, -0.534151646897765));
1275 	add(vector3<>(+0.295444567829592, -0.534151645364488, -0.792082399182305));
1276 	add(vector3<>(-0.792082397865911, -0.295444567933543, +0.534151647259045));
1277 	add(vector3<>(-0.295444567962042, -0.534151645600350, +0.792082398973845));
1278 	add(vector3<>(+0.792082397128777, -0.295444569084320, -0.534151647715618));
1279 	add(vector3<>(-0.295444567489444, +0.534151644762610, -0.792082399715064));
1280 	add(vector3<>(+0.534151654464793, -0.792082393125927, -0.295444567613670));
1281 	add(vector3<>(-0.534151654460867, +0.792082392713663, -0.295444568726043));
1282 	add(vector3<>(-0.987783901989363, -0.008366313346394, -0.155605166275604));
1283 	add(vector3<>(-0.008366316491905, -0.155605166254194, -0.987783901966094));
1284 	add(vector3<>(+0.987783902042018, +0.008366312354305, -0.155605165994688));
1285 	add(vector3<>(-0.155605167507252, -0.987783901815320, -0.008366310987655));
1286 	add(vector3<>(+0.008366315777747, -0.155605166766477, +0.987783901891443));
1287 	add(vector3<>(-0.155605168424393, +0.987783901667492, +0.008366311383278));
1288 	add(vector3<>(+0.008366317026602, +0.155605166706053, -0.987783901890384));
1289 	add(vector3<>(+0.155605166835858, +0.987783901919836, -0.008366311135093));
1290 	add(vector3<>(-0.008366315838957, +0.155605165685948, +0.987783902061140));
1291 	add(vector3<>(+0.155605167761508, -0.987783901773982, +0.008366311139443));
1292 	add(vector3<>(-0.987783902113140, +0.008366313179595, +0.155605165498836));
1293 	add(vector3<>(+0.987783902165643, -0.008366312162939, +0.155605165220208));
1294 	add(vector3<>(+0.950764981387945, +0.202727494112491, -0.234408859255043));
1295 	add(vector3<>(+0.202727496789996, -0.234408860732757, +0.950764980452705));
1296 	add(vector3<>(-0.950764980986237, -0.202727494847485, -0.234408860248721));
1297 	add(vector3<>(-0.234408850215670, +0.950764983233011, +0.202727495911382));
1298 	add(vector3<>(-0.202727497298960, -0.234408861592541, -0.950764980132203));
1299 	add(vector3<>(-0.234408850115770, -0.950764983322899, -0.202727495605330));
1300 	add(vector3<>(-0.202727496759051, +0.234408860491485, +0.950764980518789));
1301 	add(vector3<>(+0.234408850569327, -0.950764983253747, +0.202727495405210));
1302 	add(vector3<>(+0.202727497565203, +0.234408861679376, -0.950764980054025));
1303 	add(vector3<>(+0.234408850341461, +0.950764983305224, -0.202727495427267));
1304 	add(vector3<>(+0.950764981380539, -0.202727493695606, +0.234408859645621));
1305 	add(vector3<>(-0.950764980970666, +0.202727494426432, +0.234408860676023));
1306 	add(vector3<>(+0.512072989115983, -0.124051607170076, -0.849936734455185));
1307 	add(vector3<>(-0.124051609653360, -0.849936734716267, +0.512072988081055));
1308 	add(vector3<>(-0.512072988935370, +0.124051606674421, -0.849936734636344));
1309 	add(vector3<>(-0.849936734725645, +0.512072989351902, -0.124051604343177));
1310 	add(vector3<>(+0.124051609706947, -0.849936734419284, -0.512072988561004));
1311 	add(vector3<>(-0.849936734185619, -0.512072990133951, +0.124051604814925));
1312 	add(vector3<>(+0.124051609905272, +0.849936734159209, +0.512072988944631));
1313 	add(vector3<>(+0.849936734486865, -0.512072989718667, -0.124051604465195));
1314 	add(vector3<>(-0.124051609776913, +0.849936734911909, -0.512072987726399));
1315 	add(vector3<>(+0.849936733865973, +0.512072990727649, +0.124051604554246));
1316 	add(vector3<>(+0.512072989657044, +0.124051606837459, +0.849936734177751));
1317 	add(vector3<>(-0.512072989396574, -0.124051606970032, +0.849936734315330));
1318 	add(vector3<>(+0.391883697914976, +0.850423194793585, -0.351009340424947));
1319 	add(vector3<>(+0.850423195330397, -0.351009335923244, +0.391883700782210));
1320 	add(vector3<>(-0.391883697466306, -0.850423195007668, -0.351009340407185));
1321 	add(vector3<>(-0.351009335872243, +0.391883705326061, +0.850423193257595));
1322 	add(vector3<>(-0.850423194593128, -0.351009337444654, -0.391883701019427));
1323 	add(vector3<>(-0.351009337999450, -0.391883705264188, -0.850423192408108));
1324 	add(vector3<>(-0.850423194468673, +0.351009337760337, +0.391883701006749));
1325 	add(vector3<>(+0.351009335527498, -0.391883705866852, +0.850423193150685));
1326 	add(vector3<>(+0.850423195361416, +0.351009336170377, -0.391883700493539));
1327 	add(vector3<>(+0.351009336873483, +0.391883706164070, -0.850423192458173));
1328 	add(vector3<>(+0.391883698323181, -0.850423194786778, +0.351009339985700));
1329 	add(vector3<>(-0.391883698167036, +0.850423194811902, +0.351009340099156));
1330 	add(vector3<>(-0.637143378120116, -0.628499374133282, +0.446135464216598));
1331 	add(vector3<>(-0.628499375204954, +0.446135468086576, -0.637143374353178));
1332 	add(vector3<>(+0.637143377577070, +0.628499374826823, +0.446135464015109));
1333 	add(vector3<>(+0.446135466991108, -0.637143373811960, -0.628499376531226));
1334 	add(vector3<>(+0.628499375911897, +0.446135468292267, +0.637143373511799));
1335 	add(vector3<>(+0.446135467311664, +0.637143373480954, +0.628499376639239));
1336 	add(vector3<>(+0.628499375270890, -0.446135468666392, -0.637143373882143));
1337 	add(vector3<>(-0.446135467006437, +0.637143373286424, -0.628499377053108));
1338 	add(vector3<>(-0.628499376195147, -0.446135467887251, +0.637143373515989));
1339 	add(vector3<>(-0.446135467633094, -0.637143373382135, +0.628499376511253));
1340 	add(vector3<>(-0.637143377816856, +0.628499373935058, -0.446135464928946));
1341 	add(vector3<>(+0.637143377542956, -0.628499374784190, -0.446135464123887));
1342 	add(vector3<>(-0.420378708184596, +0.903565957647232, -0.082766550526719));
1343 	add(vector3<>(+0.903565960547129, -0.082766548074817, -0.420378702434272));
1344 	add(vector3<>(+0.420378707687520, -0.903565957904322, -0.082766550244743));
1345 	add(vector3<>(-0.082766545939220, -0.420378701283585, +0.903565961278100));
1346 	add(vector3<>(-0.903565960760554, -0.082766547146253, +0.420378702158358));
1347 	add(vector3<>(-0.082766545039106, +0.420378701254078, -0.903565961374279));
1348 	add(vector3<>(-0.903565960509685, +0.082766547722836, -0.420378702584056));
1349 	add(vector3<>(+0.082766546052241, +0.420378700439882, +0.903565961660275));
1350 	add(vector3<>(+0.903565960909350, +0.082766547862683, +0.420378701697478));
1351 	add(vector3<>(+0.082766545679396, -0.420378701270528, -0.903565961307975));
1352 	add(vector3<>(-0.420378707505505, -0.903565957945495, +0.082766550719722));
1353 	add(vector3<>(+0.420378706956033, +0.903565958233438, +0.082766550367062));
1354 	add(vector3<>(+0.491848298473796, +0.355367007972287, +0.794858189196825));
1355 	add(vector3<>(+0.355367012626596, +0.794858187708896, +0.491848297515583));
1356 	add(vector3<>(-0.491848298344631, -0.355367008156744, +0.794858189194284));
1357 	add(vector3<>(+0.794858192062911, +0.491848294626225, +0.355367006886901));
1358 	add(vector3<>(-0.355367012548889, +0.794858187634159, -0.491848297692508));
1359 	add(vector3<>(+0.794858192091183, -0.491848294618182, -0.355367006834796));
1360 	add(vector3<>(-0.355367012605403, -0.794858187619090, +0.491848297676028));
1361 	add(vector3<>(-0.794858192608410, -0.491848293926967, +0.355367006634583));
1362 	add(vector3<>(+0.355367012507990, -0.794858187986535, -0.491848297152596));
1363 	add(vector3<>(-0.794858192358054, +0.491848294578517, -0.355367006292778));
1364 	add(vector3<>(+0.491848297979809, -0.355367007868558, -0.794858189548874));
1365 	add(vector3<>(-0.491848297571808, +0.355367007417215, -0.794858190003127));
1366 	add(vector3<>(+0.060667255805915, +0.977982638887060, +0.199673338501868));
1367 	add(vector3<>(+0.977982638810576, +0.199673341482313, +0.060667247229371));
1368 	add(vector3<>(-0.060667255769130, -0.977982638936182, +0.199673338272451));
1369 	add(vector3<>(+0.199673337909370, +0.060667250976018, +0.977982639307643));
1370 	add(vector3<>(-0.977982639072168, +0.199673340242081, -0.060667247094362));
1371 	add(vector3<>(+0.199673337373138, -0.060667251086811, -0.977982639410252));
1372 	add(vector3<>(-0.977982638978921, -0.199673340702871, +0.060667247080943));
1373 	add(vector3<>(-0.199673337990036, -0.060667251306886, +0.977982639270649));
1374 	add(vector3<>(+0.977982638897865, -0.199673341052594, -0.060667247236562));
1375 	add(vector3<>(-0.199673337084201, +0.060667250789575, -0.977982639487682));
1376 	add(vector3<>(+0.060667255700010, -0.977982638898456, -0.199673338478232));
1377 	add(vector3<>(-0.060667256074209, +0.977982638961939, -0.199673338053604));
1378 	add(vector3<>(-0.708312961873346, +0.702414591990534, +0.070046334671986));
1379 	add(vector3<>(+0.702414584158394, +0.070046328146925, -0.708312970285540));
1380 	add(vector3<>(+0.708312961806240, -0.702414591950002, +0.070046335757007));
1381 	add(vector3<>(+0.070046325730793, -0.708312971129300, +0.702414583548491));
1382 	add(vector3<>(-0.702414584241602, +0.070046328819927, +0.708312970136470));
1383 	add(vector3<>(+0.070046325138075, +0.708312971393231, -0.702414583341450));
1384 	add(vector3<>(-0.702414584340882, -0.070046327329757, -0.708312970185382));
1385 	add(vector3<>(-0.070046326094986, +0.708312970542407, +0.702414584103993));
1386 	add(vector3<>(+0.702414584126282, -0.070046328999645, +0.708312970233058));
1387 	add(vector3<>(-0.070046325937660, -0.708312970292399, -0.702414584371790));
1388 	add(vector3<>(-0.708312961290470, -0.702414592488956, -0.070046335567964));
1389 	add(vector3<>(+0.708312961059513, +0.702414592640383, -0.070046336384914));
1390 	add(vector3<>(-0.608778246497891, -0.729529462544733, -0.311730348009535));
1391 	add(vector3<>(-0.729529461162802, -0.311730341531525, -0.608778251471052));
1392 	add(vector3<>(+0.608778246679673, +0.729529462023489, -0.311730348874380));
1393 	add(vector3<>(-0.311730343069402, -0.608778253416134, -0.729529458882528));
1394 	add(vector3<>(+0.729529460955067, -0.311730341992774, +0.608778251483804));
1395 	add(vector3<>(-0.311730342453046, +0.608778253837742, +0.729529458794075));
1396 	add(vector3<>(+0.729529461285603, +0.311730341286902, -0.608778251449154));
1397 	add(vector3<>(+0.311730342676067, +0.608778254584565, -0.729529458075568));
1398 	add(vector3<>(-0.729529460737167, +0.311730342625706, +0.608778251420826));
1399 	add(vector3<>(+0.311730342500045, -0.608778254449614, +0.729529458263397));
1400 	add(vector3<>(-0.608778247292532, +0.729529462020830, +0.311730347683750));
1401 	add(vector3<>(+0.608778247330452, -0.729529461617846, +0.311730348552781));
1402 	add(vector3<>(+0.230102774190651, -0.807756554170623, +0.542754145543051));
1403 	add(vector3<>(-0.807756552084345, +0.542754149424728, +0.230102772358463));
1404 	add(vector3<>(-0.230102773683601, +0.807756554197333, +0.542754145718266));
1405 	add(vector3<>(+0.542754144206019, +0.230102772513564, -0.807756555546758));
1406 	add(vector3<>(+0.807756552132751, +0.542754149180793, -0.230102772763921));
1407 	add(vector3<>(+0.542754143876890, -0.230102773432955, +0.807756555506005));
1408 	add(vector3<>(+0.807756552229309, -0.542754148882616, +0.230102773128283));
1409 	add(vector3<>(-0.542754145084005, -0.230102772500065, -0.807756554960660));
1410 	add(vector3<>(-0.807756552237738, -0.542754149346909, -0.230102772003543));
1411 	add(vector3<>(-0.542754144288786, +0.230102773227955, +0.807756555287639));
1412 	add(vector3<>(+0.230102774097675, +0.807756554025896, -0.542754145797859));
1413 	add(vector3<>(-0.230102773562357, -0.807756553761761, -0.542754146417909));
1414 	add(vector3<>(-0.496383809474105, -0.862518230775131, -0.098312843883766));
1415 	add(vector3<>(-0.862518224287333, -0.098312838975785, -0.496383821719390));
1416 	add(vector3<>(+0.496383809596231, +0.862518230686221, -0.098312844047173));
1417 	add(vector3<>(-0.098312839350041, -0.496383823019562, -0.862518223496418));
1418 	add(vector3<>(+0.862518224300261, -0.098312838333147, +0.496383821824206));
1419 	add(vector3<>(-0.098312838299782, +0.496383823078636, +0.862518223582133));
1420 	add(vector3<>(+0.862518224470515, +0.098312838524506, -0.496383821490472));
1421 	add(vector3<>(+0.098312839171210, +0.496383824314041, -0.862518222771822));
1422 	add(vector3<>(-0.862518224078588, +0.098312839378387, +0.496383822002367));
1423 	add(vector3<>(+0.098312838470056, -0.496383823810150, +0.862518223141735));
1424 	add(vector3<>(-0.496383810069422, +0.862518230414379, +0.098312844042943));
1425 	add(vector3<>(+0.496383810403814, -0.862518230215463, +0.098312844099726));
1426 	add(vector3<>(+0.278692551327958, +0.919313188465131, +0.277837584477674));
1427 	add(vector3<>(+0.919313191744972, +0.277837581526559, +0.278692543450923));
1428 	add(vector3<>(-0.278692551566547, -0.919313188413630, +0.277837584408758));
1429 	add(vector3<>(+0.277837583051005, +0.278692544908351, +0.919313190842426));
1430 	add(vector3<>(-0.919313192180326, +0.277837580345951, -0.278692543191822));
1431 	add(vector3<>(+0.277837582008532, -0.278692545046071, -0.919313191115735));
1432 	add(vector3<>(-0.919313192196504, -0.277837580255645, +0.278692543228489));
1433 	add(vector3<>(-0.277837582825575, -0.278692545265575, +0.919313190802263));
1434 	add(vector3<>(+0.919313191814052, -0.277837581086655, -0.278692543661607));
1435 	add(vector3<>(-0.277837581528602, +0.278692544535811, -0.919313191415468));
1436 	add(vector3<>(+0.278692551299389, -0.919313188604890, -0.277837584043894));
1437 	add(vector3<>(-0.278692551719555, +0.919313188501633, -0.277837583964092));
1438 	add(vector3<>(+0.711723818982073, -0.147355178359107, -0.686830151423428));
1439 	add(vector3<>(-0.147355180045620, -0.686830151696651, +0.711723818369232));
1440 	add(vector3<>(-0.711723818994987, +0.147355179083635, -0.686830151254603));
1441 	add(vector3<>(-0.686830156031755, +0.711723816221312, -0.147355170213896));
1442 	add(vector3<>(+0.147355179878181, -0.686830151508730, -0.711723818585246));
1443 	add(vector3<>(-0.686830155899656, -0.711723816480405, +0.147355169578202));
1444 	add(vector3<>(+0.147355179832049, +0.686830151151262, +0.711723818939762));
1445 	add(vector3<>(+0.686830156307707, -0.711723816117428, -0.147355169429431));
1446 	add(vector3<>(-0.147355180410728, +0.686830151596083, -0.711723818390689));
1447 	add(vector3<>(+0.686830155813336, +0.711723816667769, +0.147355169075579));
1448 	add(vector3<>(+0.711723819167954, +0.147355177853636, +0.686830151339256));
1449 	add(vector3<>(-0.711723818958232, -0.147355177932743, +0.686830151539607));
1450 	add(vector3<>(+0.910866815770901, -0.407547474081887, +0.065013077890936));
1451 	add(vector3<>(-0.407547470055014, +0.065013074692530, +0.910866817800923));
1452 	add(vector3<>(-0.910866816029660, +0.407547473516760, +0.065013077808199));
1453 	add(vector3<>(+0.065013071417123, +0.910866817243773, -0.407547471822745));
1454 	add(vector3<>(+0.407547469547224, +0.065013074424327, -0.910866818047266));
1455 	add(vector3<>(+0.065013071503944, -0.910866817193855, +0.407547471920462));
1456 	add(vector3<>(+0.407547469994702, -0.065013074730498, +0.910866817825199));
1457 	add(vector3<>(-0.065013071237167, -0.910866817002829, -0.407547472389962));
1458 	add(vector3<>(-0.407547469492954, -0.065013074760909, -0.910866818047525));
1459 	add(vector3<>(-0.065013070894069, +0.910866817046896, +0.407547472346204));
1460 	add(vector3<>(+0.910866815571027, +0.407547474607393, -0.065013077397032));
1461 	add(vector3<>(-0.910866815826998, -0.407547474069762, -0.065013077180997));
1462 }
1463 
S2_20design_216()1464 S2_20design_216::S2_20design_216()
1465 {	add(vector3<>(-0.251581299355938, +0.965702462813156, -0.064230858090044));
1466 	add(vector3<>(+0.965702462812973, -0.064230858090163, -0.251581299356609));
1467 	add(vector3<>(+0.251581299356210, -0.965702462813076, -0.064230858090184));
1468 	add(vector3<>(-0.064230858090037, -0.251581299356469, +0.965702462813018));
1469 	add(vector3<>(-0.965702462812988, -0.064230858090212, +0.251581299356540));
1470 	add(vector3<>(-0.064230858090283, +0.251581299356213, -0.965702462813068));
1471 	add(vector3<>(-0.965702462813129, +0.064230858090350, -0.251581299355962));
1472 	add(vector3<>(+0.064230858090209, +0.251581299356322, +0.965702462813045));
1473 	add(vector3<>(+0.965702462813090, +0.064230858089911, +0.251581299356226));
1474 	add(vector3<>(+0.064230858090200, -0.251581299356300, -0.965702462813051));
1475 	add(vector3<>(-0.251581299356600, -0.965702462812992, +0.064230858089919));
1476 	add(vector3<>(+0.251581299356516, +0.965702462812981, +0.064230858090402));
1477 	add(vector3<>(-0.774265533845772, +0.381515182343397, -0.504934697500583));
1478 	add(vector3<>(+0.381515182343197, -0.504934697500657, -0.774265533845823));
1479 	add(vector3<>(+0.774265533845583, -0.381515182343386, -0.504934697500883));
1480 	add(vector3<>(-0.504934697500797, -0.774265533845681, +0.381515182343300));
1481 	add(vector3<>(-0.381515182343153, -0.504934697500805, +0.774265533845748));
1482 	add(vector3<>(-0.504934697500622, +0.774265533845887, -0.381515182343114));
1483 	add(vector3<>(-0.381515182343272, +0.504934697500883, -0.774265533845639));
1484 	add(vector3<>(+0.504934697500808, +0.774265533845615, +0.381515182343419));
1485 	add(vector3<>(+0.381515182343490, +0.504934697500621, +0.774265533845703));
1486 	add(vector3<>(+0.504934697500580, -0.774265533845806, -0.381515182343333));
1487 	add(vector3<>(-0.774265533845719, -0.381515182343321, +0.504934697500723));
1488 	add(vector3<>(+0.774265533845894, +0.381515182342980, +0.504934697500711));
1489 	add(vector3<>(+0.621892089865857, +0.451716799694261, -0.639689113113747));
1490 	add(vector3<>(+0.451716799694191, -0.639689113113918, +0.621892089865731));
1491 	add(vector3<>(-0.621892089865648, -0.451716799694225, -0.639689113113976));
1492 	add(vector3<>(-0.639689113113901, +0.621892089865499, +0.451716799694535));
1493 	add(vector3<>(-0.451716799694008, -0.639689113113800, -0.621892089865986));
1494 	add(vector3<>(-0.639689113113879, -0.621892089865655, -0.451716799694351));
1495 	add(vector3<>(-0.451716799694347, +0.639689113113675, +0.621892089865869));
1496 	add(vector3<>(+0.639689113113788, -0.621892089865995, +0.451716799694013));
1497 	add(vector3<>(+0.451716799694587, +0.639689113113955, -0.621892089865406));
1498 	add(vector3<>(+0.639689113114061, +0.621892089865900, -0.451716799693757));
1499 	add(vector3<>(+0.621892089865889, -0.451716799694281, +0.639689113113701));
1500 	add(vector3<>(-0.621892089865898, +0.451716799693713, +0.639689113114094));
1501 	add(vector3<>(+0.281811042675091, +0.858047847696197, -0.429344182783814));
1502 	add(vector3<>(+0.858047847696408, -0.429344182783659, +0.281811042674688));
1503 	add(vector3<>(-0.281811042675114, -0.858047847696306, -0.429344182783581));
1504 	add(vector3<>(-0.429344182783315, +0.281811042674947, +0.858047847696495));
1505 	add(vector3<>(-0.858047847696386, -0.429344182783329, -0.281811042675257));
1506 	add(vector3<>(-0.429344182783979, -0.281811042674793, -0.858047847696213));
1507 	add(vector3<>(-0.858047847696136, +0.429344182783948, +0.281811042675075));
1508 	add(vector3<>(+0.429344182783574, -0.281811042675002, +0.858047847696347));
1509 	add(vector3<>(+0.858047847696430, +0.429344182783432, -0.281811042674964));
1510 	add(vector3<>(+0.429344182783407, +0.281811042675400, -0.858047847696300));
1511 	add(vector3<>(+0.281811042674780, -0.858047847696515, +0.429344182783383));
1512 	add(vector3<>(-0.281811042675193, +0.858047847696227, +0.429344182783688));
1513 	add(vector3<>(-0.649612004107369, -0.615311084069471, +0.446538367826170));
1514 	add(vector3<>(-0.615311084069575, +0.446538367826544, -0.649612004107014));
1515 	add(vector3<>(+0.649612004107338, +0.615311084069274, +0.446538367826487));
1516 	add(vector3<>(+0.446538367826290, -0.649612004107234, -0.615311084069526));
1517 	add(vector3<>(+0.615311084069631, +0.446538367826189, +0.649612004107205));
1518 	add(vector3<>(+0.446538367826300, +0.649612004107223, +0.615311084069531));
1519 	add(vector3<>(+0.615311084069337, -0.446538367826270, -0.649612004107428));
1520 	add(vector3<>(-0.446538367826248, +0.649612004107346, -0.615311084069439));
1521 	add(vector3<>(-0.615311084069373, -0.446538367826536, +0.649612004107211));
1522 	add(vector3<>(-0.446538367826286, -0.649612004107303, +0.615311084069457));
1523 	add(vector3<>(-0.649612004107121, +0.615311084069723, -0.446538367826183));
1524 	add(vector3<>(+0.649612004107125, -0.615311084069551, -0.446538367826415));
1525 	add(vector3<>(+0.993363116319503, -0.113468728148246, -0.018829946054775));
1526 	add(vector3<>(-0.113468728148035, -0.018829946054639, +0.993363116319529));
1527 	add(vector3<>(-0.993363116319523, +0.113468728148204, -0.018829946053964));
1528 	add(vector3<>(-0.018829946053903, +0.993363116319554, -0.113468728147943));
1529 	add(vector3<>(+0.113468728148066, -0.018829946054323, -0.993363116319532));
1530 	add(vector3<>(-0.018829946054743, -0.993363116319533, +0.113468728147986));
1531 	add(vector3<>(+0.113468728148219, +0.018829946054485, +0.993363116319511));
1532 	add(vector3<>(+0.018829946054344, -0.993363116319510, -0.113468728148254));
1533 	add(vector3<>(-0.113468728148178, +0.018829946054246, -0.993363116319521));
1534 	add(vector3<>(+0.018829946054485, +0.993363116319503, +0.113468728148287));
1535 	add(vector3<>(+0.993363116319540, +0.113468728147985, +0.018829946054382));
1536 	add(vector3<>(-0.993363116319531, -0.113468728148037, +0.018829946054542));
1537 	add(vector3<>(+0.246398885891569, -0.720801569649804, +0.647867799957501));
1538 	add(vector3<>(-0.720801569649392, +0.647867799957886, +0.246398885891762));
1539 	add(vector3<>(-0.246398885891682, +0.720801569649632, +0.647867799957649));
1540 	add(vector3<>(+0.647867799957437, +0.246398885891663, -0.720801569649829));
1541 	add(vector3<>(+0.720801569649864, +0.647867799957577, -0.246398885891192));
1542 	add(vector3<>(+0.647867799957658, -0.246398885891679, +0.720801569649625));
1543 	add(vector3<>(+0.720801569649656, -0.647867799957734, +0.246398885891389));
1544 	add(vector3<>(-0.647867799957904, -0.246398885891433, -0.720801569649489));
1545 	add(vector3<>(-0.720801569649865, -0.647867799957373, -0.246398885891727));
1546 	add(vector3<>(-0.647867799957474, +0.246398885891166, +0.720801569649966));
1547 	add(vector3<>(+0.246398885891794, +0.720801569649507, -0.647867799957745));
1548 	add(vector3<>(-0.246398885891456, -0.720801569649666, -0.647867799957697));
1549 	add(vector3<>(-0.793544204802179, -0.387628773401269, -0.469075184865183));
1550 	add(vector3<>(-0.387628773401353, -0.469075184864794, -0.793544204802368));
1551 	add(vector3<>(+0.793544204802171, +0.387628773401536, -0.469075184864975));
1552 	add(vector3<>(-0.469075184865097, -0.793544204802034, -0.387628773401668));
1553 	add(vector3<>(+0.387628773401680, -0.469075184864988, +0.793544204802093));
1554 	add(vector3<>(-0.469075184865110, +0.793544204802104, +0.387628773401512));
1555 	add(vector3<>(+0.387628773401425, +0.469075184865298, -0.793544204802035));
1556 	add(vector3<>(+0.469075184865068, +0.793544204802337, -0.387628773401084));
1557 	add(vector3<>(-0.387628773401491, +0.469075184864931, +0.793544204802219));
1558 	add(vector3<>(+0.469075184864784, -0.793544204802296, +0.387628773401512));
1559 	add(vector3<>(-0.793544204802265, +0.387628773401224, +0.469075184865075));
1560 	add(vector3<>(+0.793544204802185, -0.387628773401823, +0.469075184864715));
1561 	add(vector3<>(+0.164945057653003, -0.958376909717154, +0.233038251960587));
1562 	add(vector3<>(-0.958376909716935, +0.233038251961126, +0.164945057653512));
1563 	add(vector3<>(-0.164945057653238, +0.958376909717001, +0.233038251961048));
1564 	add(vector3<>(+0.233038251960668, +0.164945057653504, -0.958376909717048));
1565 	add(vector3<>(+0.958376909717102, +0.233038251960514, -0.164945057653409));
1566 	add(vector3<>(+0.233038251960742, -0.164945057653288, +0.958376909717067));
1567 	add(vector3<>(+0.958376909717099, -0.233038251960827, +0.164945057652982));
1568 	add(vector3<>(-0.233038251961122, -0.164945057653226, -0.958376909716986));
1569 	add(vector3<>(-0.958376909717093, -0.233038251960632, -0.164945057653293));
1570 	add(vector3<>(-0.233038251960434, +0.164945057653261, +0.958376909717147));
1571 	add(vector3<>(+0.164945057653494, +0.958376909716965, -0.233038251961015));
1572 	add(vector3<>(-0.164945057653458, -0.958376909717031, -0.233038251960769));
1573 	add(vector3<>(+0.560484250466976, +0.813252649483695, -0.156452974040834));
1574 	add(vector3<>(+0.813252649483690, -0.156452974041446, +0.560484250466813));
1575 	add(vector3<>(-0.560484250467240, -0.813252649483431, -0.156452974041263));
1576 	add(vector3<>(-0.156452974041030, +0.560484250467047, +0.813252649483609));
1577 	add(vector3<>(-0.813252649483820, -0.156452974040726, -0.560484250466826));
1578 	add(vector3<>(-0.156452974041097, -0.560484250466778, -0.813252649483781));
1579 	add(vector3<>(-0.813252649483630, +0.156452974040967, +0.560484250467035));
1580 	add(vector3<>(+0.156452974041285, -0.560484250467053, +0.813252649483555));
1581 	add(vector3<>(+0.813252649483481, +0.156452974041151, -0.560484250467199));
1582 	add(vector3<>(+0.156452974040881, +0.560484250466996, -0.813252649483672));
1583 	add(vector3<>(+0.560484250466836, -0.813252649483737, +0.156452974041122));
1584 	add(vector3<>(-0.560484250466740, +0.813252649483823, +0.156452974041018));
1585 	add(vector3<>(+0.366630058651312, +0.922018832550933, -0.124353015704282));
1586 	add(vector3<>(+0.922018832550880, -0.124353015704762, +0.366630058651284));
1587 	add(vector3<>(-0.366630058651761, -0.922018832550708, -0.124353015704629));
1588 	add(vector3<>(-0.124353015704377, +0.366630058651577, +0.922018832550815));
1589 	add(vector3<>(-0.922018832550933, -0.124353015704203, -0.366630058651341));
1590 	add(vector3<>(-0.124353015704534, -0.366630058651111, -0.922018832550979));
1591 	add(vector3<>(-0.922018832550883, +0.124353015704478, +0.366630058651372));
1592 	add(vector3<>(+0.124353015704630, -0.366630058651537, +0.922018832550797));
1593 	add(vector3<>(+0.922018832550745, +0.124353015704463, -0.366630058651723));
1594 	add(vector3<>(+0.124353015704299, +0.366630058651563, -0.922018832550831));
1595 	add(vector3<>(+0.366630058651286, -0.922018832550923, +0.124353015704438));
1596 	add(vector3<>(-0.366630058651229, +0.922018832550938, +0.124353015704492));
1597 	add(vector3<>(-0.804671953651735, -0.070836250755727, +0.589478814365005));
1598 	add(vector3<>(-0.070836250756058, +0.589478814365003, -0.804671953651707));
1599 	add(vector3<>(+0.804671953651921, +0.070836250755383, +0.589478814364792));
1600 	add(vector3<>(+0.589478814364726, -0.804671953651941, -0.070836250755714));
1601 	add(vector3<>(+0.070836250755939, +0.589478814364776, +0.804671953651884));
1602 	add(vector3<>(+0.589478814365018, +0.804671953651715, +0.070836250755846));
1603 	add(vector3<>(+0.070836250755601, -0.589478814364811, -0.804671953651888));
1604 	add(vector3<>(-0.589478814364784, +0.804671953651884, -0.070836250755875));
1605 	add(vector3<>(-0.070836250755551, -0.589478814364944, +0.804671953651795));
1606 	add(vector3<>(-0.589478814364978, -0.804671953651759, +0.070836250755670));
1607 	add(vector3<>(-0.804671953651836, +0.070836250756193, -0.589478814364811));
1608 	add(vector3<>(+0.804671953651731, -0.070836250755764, -0.589478814365006));
1609 	add(vector3<>(-0.830597137771463, -0.481356221636722, +0.280008183125909));
1610 	add(vector3<>(-0.481356221636763, +0.280008183126324, -0.830597137771299));
1611 	add(vector3<>(+0.830597137771467, +0.481356221636628, +0.280008183126056));
1612 	add(vector3<>(+0.280008183125864, -0.830597137771343, -0.481356221636956));
1613 	add(vector3<>(+0.481356221637075, +0.280008183125899, +0.830597137771262));
1614 	add(vector3<>(+0.280008183126004, +0.830597137771351, +0.481356221636859));
1615 	add(vector3<>(+0.481356221636653, -0.280008183125859, -0.830597137771520));
1616 	add(vector3<>(-0.280008183126012, +0.830597137771520, -0.481356221636564));
1617 	add(vector3<>(-0.481356221636741, -0.280008183126112, +0.830597137771384));
1618 	add(vector3<>(-0.280008183126053, -0.830597137771314, +0.481356221636894));
1619 	add(vector3<>(-0.830597137771366, +0.481356221636840, -0.280008183125994));
1620 	add(vector3<>(+0.830597137771194, -0.481356221637029, -0.280008183126178));
1621 	add(vector3<>(+0.622576105404642, +0.027441908430236, -0.782077959439399));
1622 	add(vector3<>(+0.027441908430276, -0.782077959439431, +0.622576105404601));
1623 	add(vector3<>(-0.622576105404963, -0.027441908430045, -0.782077959439150));
1624 	add(vector3<>(-0.782077959439118, +0.622576105404988, +0.027441908430397));
1625 	add(vector3<>(-0.027441908430201, -0.782077959439296, -0.622576105404774));
1626 	add(vector3<>(-0.782077959439408, -0.622576105404628, -0.027441908430289));
1627 	add(vector3<>(-0.027441908430238, +0.782077959439221, +0.622576105404866));
1628 	add(vector3<>(+0.782077959439263, -0.622576105404820, +0.027441908430083));
1629 	add(vector3<>(+0.027441908430419, +0.782077959439269, -0.622576105404798));
1630 	add(vector3<>(+0.782077959439451, +0.622576105404591, -0.027441908429928));
1631 	add(vector3<>(+0.622576105404788, -0.027441908430380, +0.782077959439278));
1632 	add(vector3<>(-0.622576105404572, +0.027441908429868, +0.782077959439468));
1633 	add(vector3<>(-0.931869593473870, +0.318712863282032, -0.173323891998229));
1634 	add(vector3<>(+0.318712863281944, -0.173323891998258, -0.931869593473894));
1635 	add(vector3<>(+0.931869593473744, -0.318712863282051, -0.173323891998871));
1636 	add(vector3<>(-0.173323891998841, -0.931869593473836, +0.318712863281799));
1637 	add(vector3<>(-0.318712863281924, -0.173323891998617, +0.931869593473834));
1638 	add(vector3<>(-0.173323891998245, +0.931869593473975, -0.318712863281714));
1639 	add(vector3<>(-0.318712863281997, +0.173323891998515, -0.931869593473828));
1640 	add(vector3<>(+0.173323891998501, +0.931869593473801, +0.318712863282084));
1641 	add(vector3<>(+0.318712863282089, +0.173323891998539, +0.931869593473793));
1642 	add(vector3<>(+0.173323891998443, -0.931869593473824, -0.318712863282050));
1643 	add(vector3<>(-0.931869593473865, -0.318712863281928, +0.173323891998448));
1644 	add(vector3<>(+0.931869593473897, +0.318712863281802, +0.173323891998503));
1645 	add(vector3<>(+0.883848176852703, +0.201423804475213, +0.422185801827685));
1646 	add(vector3<>(+0.201423804475703, +0.422185801827661, +0.883848176852602));
1647 	add(vector3<>(-0.883848176852534, -0.201423804475554, +0.422185801827875));
1648 	add(vector3<>(+0.422185801827910, +0.883848176852484, +0.201423804475701));
1649 	add(vector3<>(-0.201423804475472, +0.422185801827744, -0.883848176852615));
1650 	add(vector3<>(+0.422185801827623, -0.883848176852647, -0.201423804475586));
1651 	add(vector3<>(-0.201423804475397, -0.422185801827833, +0.883848176852590));
1652 	add(vector3<>(-0.422185801827930, -0.883848176852523, +0.201423804475489));
1653 	add(vector3<>(+0.201423804475479, -0.422185801827682, -0.883848176852643));
1654 	add(vector3<>(-0.422185801827514, +0.883848176852769, -0.201423804475280));
1655 	add(vector3<>(+0.883848176852476, -0.201423804475614, -0.422185801827967));
1656 	add(vector3<>(-0.883848176852710, +0.201423804475563, -0.422185801827502));
1657 	add(vector3<>(+0.204275039956405, +0.718770569884226, +0.664560438123663));
1658 	add(vector3<>(+0.718770569884334, +0.664560438123474, +0.204275039956637));
1659 	add(vector3<>(-0.204275039956260, -0.718770569884265, +0.664560438123664));
1660 	add(vector3<>(+0.664560438123810, +0.204275039956156, +0.718770569884160));
1661 	add(vector3<>(-0.718770569884325, +0.664560438123579, -0.204275039956328));
1662 	add(vector3<>(+0.664560438123492, -0.204275039956373, -0.718770569884393));
1663 	add(vector3<>(-0.718770569884361, -0.664560438123554, +0.204275039956280));
1664 	add(vector3<>(-0.664560438123554, -0.204275039956662, +0.718770569884254));
1665 	add(vector3<>(+0.718770569884090, -0.664560438123802, -0.204275039956432));
1666 	add(vector3<>(-0.664560438123505, +0.204275039956682, -0.718770569884293));
1667 	add(vector3<>(+0.204275039956376, -0.718770569884165, -0.664560438123738));
1668 	add(vector3<>(-0.204275039956367, +0.718770569884538, -0.664560438123337));
1669 	add(vector3<>(-0.898847927472069, +0.437700823368280, +0.022144807560617));
1670 	add(vector3<>(+0.437700823367923, +0.022144807560963, -0.898847927472234));
1671 	add(vector3<>(+0.898847927472182, -0.437700823368065, +0.022144807560270));
1672 	add(vector3<>(+0.022144807560315, -0.898847927472293, +0.437700823367834));
1673 	add(vector3<>(-0.437700823367766, +0.022144807560623, +0.898847927472319));
1674 	add(vector3<>(+0.022144807560559, +0.898847927472160, -0.437700823368094));
1675 	add(vector3<>(-0.437700823368255, -0.022144807560327, -0.898847927472088));
1676 	add(vector3<>(-0.022144807560661, +0.898847927472103, +0.437700823368207));
1677 	add(vector3<>(+0.437700823368030, -0.022144807560607, +0.898847927472191));
1678 	add(vector3<>(-0.022144807560733, -0.898847927472195, -0.437700823368015));
1679 	add(vector3<>(-0.898847927472245, -0.437700823367908, -0.022144807560796));
1680 	add(vector3<>(+0.898847927472313, +0.437700823367778, -0.022144807560634));
1681 }
1682 
S2_21design_240()1683 S2_21design_240::S2_21design_240()
1684 {	add(vector3<>(+0.892653535762723, +0.412534053657361, -0.181618610454253));
1685 	add(vector3<>(+0.412534053425032, -0.181618610641782, +0.892653535831938));
1686 	add(vector3<>(-0.892653535806407, -0.412534053627853, -0.181618610306575));
1687 	add(vector3<>(-0.181618610613849, +0.892653535740475, +0.412534053635240));
1688 	add(vector3<>(-0.412534053477435, -0.181618610422654, -0.892653535852304));
1689 	add(vector3<>(-0.181618610451384, -0.892653535762812, -0.412534053658432));
1690 	add(vector3<>(-0.412534053317090, +0.181618610611827, +0.892653535887918));
1691 	add(vector3<>(+0.181618610400136, -0.892653535812300, +0.412534053573911));
1692 	add(vector3<>(+0.412534053327996, +0.181618610420400, -0.892653535921825));
1693 	add(vector3<>(+0.181618610580789, +0.892653535810904, -0.412534053497399));
1694 	add(vector3<>(+0.892653535867644, -0.412534053472558, +0.181618610358339));
1695 	add(vector3<>(-0.892653535855064, +0.412534053535160, +0.181618610277971));
1696 	add(vector3<>(-0.292093742593433, -0.295767027993170, +0.909507070170347));
1697 	add(vector3<>(-0.295767028026887, +0.909507070089260, -0.292093742811776));
1698 	add(vector3<>(+0.292093742447864, +0.295767028039713, +0.909507070201962));
1699 	add(vector3<>(+0.909507070147612, -0.292093742926721, -0.295767027733934));
1700 	add(vector3<>(+0.295767028145396, +0.909507070084441, +0.292093742706783));
1701 	add(vector3<>(+0.909507070188854, +0.292093742689207, +0.295767027841675));
1702 	add(vector3<>(+0.295767027907311, -0.909507070148419, -0.292093742748651));
1703 	add(vector3<>(-0.909507070101221, +0.292093743159272, -0.295767027646927));
1704 	add(vector3<>(-0.295767027835333, -0.909507070047293, +0.292093743136414));
1705 	add(vector3<>(-0.909507070218591, -0.292093742721776, +0.295767027718069));
1706 	add(vector3<>(-0.292093742540896, +0.295767027793147, -0.909507070252266));
1707 	add(vector3<>(+0.292093742861938, -0.295767027747614, -0.909507070163969));
1708 	add(vector3<>(-0.575225718038192, +0.024120572825078, +0.817639022597403));
1709 	add(vector3<>(+0.024120572786144, +0.817639022511238, -0.575225718162301));
1710 	add(vector3<>(+0.575225718116478, -0.024120572979213, +0.817639022537781));
1711 	add(vector3<>(+0.817639022556003, -0.575225718103480, +0.024120572671469));
1712 	add(vector3<>(-0.024120573041503, +0.817639022440757, +0.575225718251777));
1713 	add(vector3<>(+0.817639022458379, +0.575225718229118, -0.024120572984526));
1714 	add(vector3<>(-0.024120572818239, -0.817639022581260, -0.575225718061424));
1715 	add(vector3<>(-0.817639022543578, +0.575225718123882, +0.024120572606111));
1716 	add(vector3<>(+0.024120572712950, -0.817639022527296, +0.575225718142546));
1717 	add(vector3<>(-0.817639022600495, -0.575225718035174, -0.024120572792228));
1718 	add(vector3<>(-0.575225717925469, -0.024120572711052, -0.817639022680070));
1719 	add(vector3<>(+0.575225717908230, +0.024120572594155, -0.817639022695646));
1720 	add(vector3<>(-0.128833161724800, +0.052247640720240, +0.990288947973853));
1721 	add(vector3<>(+0.052247640694409, +0.990288947958895, -0.128833161850251));
1722 	add(vector3<>(+0.128833161840325, -0.052247640320038, +0.990288947979938));
1723 	add(vector3<>(+0.990288947949717, -0.128833161924796, +0.052247640684558));
1724 	add(vector3<>(-0.052247640388510, +0.990288947967581, +0.128833161907538));
1725 	add(vector3<>(+0.990288947977730, +0.128833161878001, -0.052247640268992));
1726 	add(vector3<>(-0.052247640390409, -0.990288947962190, -0.128833161948209));
1727 	add(vector3<>(-0.990288947960626, +0.128833161896649, +0.052247640547187));
1728 	add(vector3<>(+0.052247640527808, -0.990288947953251, +0.128833161961200));
1729 	add(vector3<>(-0.990288947970868, -0.128833161936205, -0.052247640255526));
1730 	add(vector3<>(-0.128833161790478, -0.052247640337643, -0.990288947985494));
1731 	add(vector3<>(+0.128833161857416, +0.052247640551545, -0.990288947965500));
1732 	add(vector3<>(+0.718006386034750, +0.657446876255993, -0.228539787596286));
1733 	add(vector3<>(+0.657446876286737, -0.228539787831922, +0.718006385931596));
1734 	add(vector3<>(-0.718006386109442, -0.657446876171434, -0.228539787604877));
1735 	add(vector3<>(-0.228539787737219, +0.718006385947422, +0.657446876302374));
1736 	add(vector3<>(-0.657446876241021, -0.228539787713800, -0.718006386011054));
1737 	add(vector3<>(-0.228539787678997, -0.718006386031359, -0.657446876230945));
1738 	add(vector3<>(-0.657446876361185, +0.228539787860549, +0.718006385854315));
1739 	add(vector3<>(+0.228539787703065, -0.718006385857385, +0.657446876412577));
1740 	add(vector3<>(+0.657446876304454, +0.228539787874017, -0.718006385901975));
1741 	add(vector3<>(+0.228539787784967, +0.718006385813853, -0.657446876431648));
1742 	add(vector3<>(+0.718006385880760, -0.657446876363485, +0.228539787770851));
1743 	add(vector3<>(-0.718006385891018, +0.657446876371558, +0.228539787715401));
1744 	add(vector3<>(+0.863176473117803, +0.468181816653138, +0.189029528940001));
1745 	add(vector3<>(+0.468181816438486, +0.189029529197492, +0.863176473177840));
1746 	add(vector3<>(-0.863176473194446, -0.468181816576420, +0.189029528780033));
1747 	add(vector3<>(+0.189029529125527, +0.863176473064389, +0.468181816676708));
1748 	add(vector3<>(-0.468181816392671, +0.189029528897443, -0.863176473268398));
1749 	add(vector3<>(+0.189029528792174, -0.863176473143688, -0.468181816665100));
1750 	add(vector3<>(-0.468181816411213, -0.189029529128138, +0.863176473207821));
1751 	add(vector3<>(-0.189029528897852, -0.863176473089720, +0.468181816721931));
1752 	add(vector3<>(+0.468181816508867, -0.189029528930555, -0.863176473198123));
1753 	add(vector3<>(-0.189029529001823, +0.863176473106659, -0.468181816648722));
1754 	add(vector3<>(+0.863176473135229, -0.468181816648642, -0.189029528871561));
1755 	add(vector3<>(-0.863176473123334, +0.468181816698762, -0.189029528801744));
1756 	add(vector3<>(+0.772632856847133, -0.517059450695590, +0.368358511462152));
1757 	add(vector3<>(-0.517059450567132, +0.368358511585515, +0.772632856874286));
1758 	add(vector3<>(-0.772632856806081, +0.517059450647391, +0.368358511615915));
1759 	add(vector3<>(+0.368358511648001, +0.772632856806054, -0.517059450624573));
1760 	add(vector3<>(+0.517059450494007, +0.368358511816588, -0.772632856813056));
1761 	add(vector3<>(+0.368358511720496, -0.772632856802476, +0.517059450578273));
1762 	add(vector3<>(+0.517059450583445, -0.368358511487117, +0.772632856910280));
1763 	add(vector3<>(-0.368358511567330, -0.772632856859467, -0.517059450602229));
1764 	add(vector3<>(-0.517059450502369, -0.368358511665956, -0.772632856879275));
1765 	add(vector3<>(-0.368358511469803, +0.772632856855651, +0.517059450677412));
1766 	add(vector3<>(+0.772632856934749, +0.517059450691919, -0.368358511283531));
1767 	add(vector3<>(-0.772632856927485, -0.517059450633778, -0.368358511380378));
1768 	add(vector3<>(-0.847819231914648, -0.066325775900167, -0.526121128113002));
1769 	add(vector3<>(-0.066325775913631, -0.526121128257686, -0.847819231823809));
1770 	add(vector3<>(+0.847819231883018, +0.066325775819852, -0.526121128174097));
1771 	add(vector3<>(-0.526121128348762, -0.847819231766957, -0.066325775917910));
1772 	add(vector3<>(+0.066325775846120, -0.526121128407098, +0.847819231736372));
1773 	add(vector3<>(-0.526121128459240, +0.847819231709080, +0.066325775781366));
1774 	add(vector3<>(+0.066325775945785, +0.526121128344380, -0.847819231767496));
1775 	add(vector3<>(+0.526121128449532, +0.847819231700692, -0.066325775965613));
1776 	add(vector3<>(-0.066325775877211, +0.526121128306388, +0.847819231796436));
1777 	add(vector3<>(+0.526121128504669, -0.847819231665213, +0.066325775981760));
1778 	add(vector3<>(-0.847819231821725, +0.066325775941005, +0.526121128257594));
1779 	add(vector3<>(+0.847819231850264, -0.066325775996655, +0.526121128204590));
1780 	add(vector3<>(+0.009805743229230, +0.942983815842593, +0.332694109443892));
1781 	add(vector3<>(+0.942983815808923, +0.332694109539748, +0.009805743214950));
1782 	add(vector3<>(-0.009805743379690, -0.942983815787291, +0.332694109596207));
1783 	add(vector3<>(+0.332694109226554, +0.009805743204272, +0.942983815919532));
1784 	add(vector3<>(-0.942983815774040, +0.332694109635647, -0.009805743315804));
1785 	add(vector3<>(+0.332694109397996, -0.009805743298910, -0.942983815858062));
1786 	add(vector3<>(-0.942983815776114, -0.332694109630098, +0.009805743304667));
1787 	add(vector3<>(-0.332694109319027, -0.009805743188507, +0.942983815887070));
1788 	add(vector3<>(+0.942983815775082, -0.332694109635199, -0.009805743230763));
1789 	add(vector3<>(-0.332694109455765, +0.009805743389762, -0.942983815836735));
1790 	add(vector3<>(+0.009805743301140, -0.942983815752524, -0.332694109697065));
1791 	add(vector3<>(-0.009805743287713, +0.942983815791379, -0.332694109587331));
1792 	add(vector3<>(+0.785599248371152, -0.405156945312269, -0.467634120465896));
1793 	add(vector3<>(-0.405156944932125, -0.467634120649859, +0.785599248457698));
1794 	add(vector3<>(-0.785599248201790, +0.405156945434051, -0.467634120644904));
1795 	add(vector3<>(-0.467634120611242, +0.785599248334623, -0.405156945215339));
1796 	add(vector3<>(+0.405156945136423, -0.467634120868201, -0.785599248222366));
1797 	add(vector3<>(-0.467634120811804, -0.785599248145609, +0.405156945350347));
1798 	add(vector3<>(+0.405156944841985, +0.467634120861332, +0.785599248378305));
1799 	add(vector3<>(+0.467634120786726, -0.785599248249857, -0.405156945177156));
1800 	add(vector3<>(-0.405156944999643, +0.467634120871098, -0.785599248291182));
1801 	add(vector3<>(+0.467634120893713, +0.785599248234240, +0.405156945083953));
1802 	add(vector3<>(+0.785599248313341, +0.405156945117104, +0.467634120732106));
1803 	add(vector3<>(-0.785599248281100, -0.405156945197370, +0.467634120716727));
1804 	add(vector3<>(-0.737331999131492, +0.620851501013764, -0.266242251991890));
1805 	add(vector3<>(+0.620851500949186, -0.266242252154895, -0.737331999127010));
1806 	add(vector3<>(+0.737331999060061, -0.620851501088737, -0.266242252014883));
1807 	add(vector3<>(-0.266242251948631, -0.737331999103255, +0.620851501065850));
1808 	add(vector3<>(-0.620851501079221, -0.266242252233800, +0.737331998989025));
1809 	add(vector3<>(-0.266242252011624, +0.737331998996222, -0.620851501165951));
1810 	add(vector3<>(-0.620851501072124, +0.266242252222560, -0.737331998999060));
1811 	add(vector3<>(+0.266242252113864, +0.737331998832974, +0.620851501315983));
1812 	add(vector3<>(+0.620851501187387, +0.266242252328374, +0.737331998863797));
1813 	add(vector3<>(+0.266242251932250, -0.737331998938990, -0.620851501267959));
1814 	add(vector3<>(-0.737331998947943, -0.620851501183297, +0.266242252104879));
1815 	add(vector3<>(+0.737331998835007, +0.620851501305786, +0.266242252132010));
1816 	add(vector3<>(+0.726871469165659, -0.027488282350428, -0.686223186468061));
1817 	add(vector3<>(-0.027488282182755, -0.686223186448325, +0.726871469190633));
1818 	add(vector3<>(-0.726871469172931, +0.027488282371885, -0.686223186459499));
1819 	add(vector3<>(-0.686223186449712, +0.726871469185406, -0.027488282286341));
1820 	add(vector3<>(+0.027488282351607, -0.686223186491120, -0.726871469143845));
1821 	add(vector3<>(-0.686223186545622, -0.726871469089794, +0.027488282420281));
1822 	add(vector3<>(+0.027488282266836, +0.686223186470335, +0.726871469166674));
1823 	add(vector3<>(+0.686223186661183, -0.726871468983422, -0.027488282348185));
1824 	add(vector3<>(-0.027488282251029, +0.686223186523092, -0.726871469117465));
1825 	add(vector3<>(+0.686223186609112, +0.726871469033498, +0.027488282323948));
1826 	add(vector3<>(+0.726871469070107, +0.027488282335550, +0.686223186569869));
1827 	add(vector3<>(-0.726871469080183, -0.027488282309716, +0.686223186560232));
1828 	add(vector3<>(+0.665363385720515, +0.580860267739271, +0.468927408352716));
1829 	add(vector3<>(+0.580860267577087, +0.468927408488638, +0.665363385766308));
1830 	add(vector3<>(-0.665363385677380, -0.580860267719575, +0.468927408438318));
1831 	add(vector3<>(+0.468927408340783, +0.665363385821863, +0.580860267632813));
1832 	add(vector3<>(-0.580860267528453, +0.468927408678832, -0.665363385674723));
1833 	add(vector3<>(+0.468927408372614, -0.665363385698803, -0.580860267748078));
1834 	add(vector3<>(-0.580860267640877, -0.468927408552762, +0.665363385665427));
1835 	add(vector3<>(-0.468927408468336, -0.665363385847947, +0.580860267499961));
1836 	add(vector3<>(+0.580860267386752, -0.468927408654519, -0.665363385815563));
1837 	add(vector3<>(-0.468927408375699, +0.665363385651356, -0.580860267799938));
1838 	add(vector3<>(+0.665363385651819, -0.580860267791212, -0.468927408385850));
1839 	add(vector3<>(-0.665363385751734, +0.580860267548017, -0.468927408545326));
1840 	add(vector3<>(-0.580125367305304, -0.779099597924434, +0.237609710918707));
1841 	add(vector3<>(-0.779099598053518, +0.237609710909934, -0.580125367135539));
1842 	add(vector3<>(+0.580125367186808, +0.779099597977732, +0.237609711033258));
1843 	add(vector3<>(+0.237609710695932, -0.580125367276110, -0.779099598014114));
1844 	add(vector3<>(+0.779099598064732, +0.237609711147320, +0.580125367023250));
1845 	add(vector3<>(+0.237609710819285, +0.580125367047426, +0.779099598146774));
1846 	add(vector3<>(+0.779099598170224, -0.237609710849642, -0.580125367003499));
1847 	add(vector3<>(-0.237609710811802, +0.580125367157256, -0.779099598067276));
1848 	add(vector3<>(-0.779099598074961, -0.237609711045128, +0.580125367051369));
1849 	add(vector3<>(-0.237609710609253, -0.580125367022359, +0.779099598229495));
1850 	add(vector3<>(-0.580125367090094, +0.779099598151966, -0.237609710698086));
1851 	add(vector3<>(+0.580125367218411, -0.779099597966716, -0.237609710992215));
1852 	add(vector3<>(+0.958668025360200, +0.101113605900539, -0.265954236389956));
1853 	add(vector3<>(+0.101113605889893, -0.265954236477199, +0.958668025337120));
1854 	add(vector3<>(-0.958668025326410, -0.101113606095432, -0.265954236437660));
1855 	add(vector3<>(-0.265954236634179, +0.958668025294555, +0.101113605880558));
1856 	add(vector3<>(-0.101113606003171, -0.265954236656317, -0.958668025275482));
1857 	add(vector3<>(-0.265954236715455, -0.958668025246162, -0.101113606125602));
1858 	add(vector3<>(-0.101113605825438, +0.265954236414664, +0.958668025361267));
1859 	add(vector3<>(+0.265954236286739, -0.958668025393583, +0.101113605855522));
1860 	add(vector3<>(+0.101113605802444, +0.265954236260664, -0.958668025406415));
1861 	add(vector3<>(+0.265954236515854, +0.958668025322577, -0.101113605926106));
1862 	add(vector3<>(+0.958668025449500, -0.101113605909101, +0.265954236064808));
1863 	add(vector3<>(-0.958668025478600, +0.101113605789497, +0.265954236005386));
1864 	add(vector3<>(-0.784431814417085, +0.284319025007229, +0.551207239202516));
1865 	add(vector3<>(+0.284319024822848, +0.551207239320709, -0.784431814400862));
1866 	add(vector3<>(+0.784431814443422, -0.284319024888131, +0.551207239226467));
1867 	add(vector3<>(+0.551207239434677, -0.784431814291888, +0.284319024902556));
1868 	add(vector3<>(-0.284319024640161, +0.551207239347504, +0.784431814448249));
1869 	add(vector3<>(+0.551207239408357, +0.784431814400998, -0.284319024652546));
1870 	add(vector3<>(-0.284319024714940, -0.551207239160137, -0.784431814552804));
1871 	add(vector3<>(-0.551207239417649, +0.784431814426743, +0.284319024563503));
1872 	add(vector3<>(+0.284319024477106, -0.551207239394067, +0.784431814474629));
1873 	add(vector3<>(-0.551207239227164, -0.784431814510832, -0.284319024700797));
1874 	add(vector3<>(-0.784431814654900, -0.284319024757729, -0.551207238992772));
1875 	add(vector3<>(+0.784431814542139, +0.284319024689884, -0.551207239188240));
1876 	add(vector3<>(+0.166663878535118, +0.979468778866650, +0.113419851953285));
1877 	add(vector3<>(+0.979468778892362, +0.113419852011248, +0.166663878344564));
1878 	add(vector3<>(-0.166663878322335, -0.979468778877222, +0.113419852174659));
1879 	add(vector3<>(+0.113419851852603, +0.166663878465092, +0.979468778890224));
1880 	add(vector3<>(-0.979468778908051, +0.113419852233229, -0.166663878101297));
1881 	add(vector3<>(+0.113419852023532, -0.166663878213165, -0.979468778913298));
1882 	add(vector3<>(-0.979468778891418, -0.113419852088755, +0.166663878297368));
1883 	add(vector3<>(-0.113419851942299, -0.166663878383785, +0.979468778893673));
1884 	add(vector3<>(+0.979468778887792, -0.113419852252651, -0.166663878207142));
1885 	add(vector3<>(-0.113419851887333, +0.166663878420061, -0.979468778893865));
1886 	add(vector3<>(+0.166663878513312, -0.979468778858840, -0.113419852052775));
1887 	add(vector3<>(-0.166663878525992, +0.979468778852403, -0.113419852089727));
1888 	add(vector3<>(+0.903542635390870, +0.099002690679599, +0.416904273507865));
1889 	add(vector3<>(+0.099002690511180, +0.416904273753692, +0.903542635295897));
1890 	add(vector3<>(-0.903542635383533, -0.099002690647923, +0.416904273531288));
1891 	add(vector3<>(+0.416904273958250, +0.903542635193768, +0.099002690581850));
1892 	add(vector3<>(-0.099002690414933, +0.416904273699732, -0.903542635331341));
1893 	add(vector3<>(+0.416904273843964, -0.903542635237517, -0.099002690663845));
1894 	add(vector3<>(-0.099002690464192, -0.416904273937254, +0.903542635216348));
1895 	add(vector3<>(-0.416904274206036, -0.903542635110147, +0.099002690301575));
1896 	add(vector3<>(+0.099002690128044, -0.416904274064380, -0.903542635194523));
1897 	add(vector3<>(-0.416904274113744, +0.903542635131386, -0.099002690496392));
1898 	add(vector3<>(+0.903542635279275, -0.099002690467102, -0.416904273800183));
1899 	add(vector3<>(-0.903542635234399, +0.099002690245829, -0.416904273949988));
1900 	add(vector3<>(+0.278762404536092, +0.349312185537063, -0.894579520698175));
1901 	add(vector3<>(+0.349312185586056, -0.894579520608515, +0.278762404762431));
1902 	add(vector3<>(-0.278762404540525, -0.349312185503473, -0.894579520709910));
1903 	add(vector3<>(-0.894579520734144, +0.278762404727917, +0.349312185291866));
1904 	add(vector3<>(-0.349312185466701, -0.894579520677723, -0.278762404689896));
1905 	add(vector3<>(-0.894579520788864, -0.278762404658677, -0.349312185206984));
1906 	add(vector3<>(-0.349312185551041, +0.894579520682798, +0.278762404567923));
1907 	add(vector3<>(+0.894579520785219, -0.278762404680469, +0.349312185198929));
1908 	add(vector3<>(+0.349312185549623, +0.894579520679230, -0.278762404581149));
1909 	add(vector3<>(+0.894579520781805, +0.278762404555908, -0.349312185307075));
1910 	add(vector3<>(+0.278762404437950, -0.349312185506500, +0.894579520740692));
1911 	add(vector3<>(-0.278762404443259, +0.349312185428787, +0.894579520769382));
1912 	add(vector3<>(+0.555896230179415, -0.676833211736671, +0.482572465814760));
1913 	add(vector3<>(-0.676833211681567, +0.482572466040116, +0.555896230050876));
1914 	add(vector3<>(-0.555896230314892, +0.676833211522987, +0.482572465958401));
1915 	add(vector3<>(+0.482572465910283, +0.555896230164672, -0.676833211680673));
1916 	add(vector3<>(+0.676833211457692, +0.482572466092895, -0.555896230277639));
1917 	add(vector3<>(+0.482572465902981, -0.555896230367909, +0.676833211518957));
1918 	add(vector3<>(+0.676833211635592, -0.482572466071981, +0.555896230079191));
1919 	add(vector3<>(-0.482572466150586, -0.555896230230084, -0.676833211455616));
1920 	add(vector3<>(-0.676833211438286, -0.482572466327737, -0.555896230097400));
1921 	add(vector3<>(-0.482572465972373, +0.555896230267770, +0.676833211551727));
1922 	add(vector3<>(+0.555896230192691, +0.676833211589453, -0.482572466005949));
1923 	add(vector3<>(-0.555896230194338, -0.676833211455537, -0.482572466191875));
1924 }
1925