Changeset 8393 for code/trunk/src/external/bullet/LinearMath
- Timestamp:
- May 3, 2011, 5:07:42 AM (14 years ago)
- Location:
- code/trunk/src/external/bullet/LinearMath
- Files:
-
- 2 added
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/src/external/bullet/LinearMath/CMakeLists.txt
r8351 r8393 4 4 btAlignedAllocator.cpp 5 5 btConvexHull.cpp 6 btConvexHullComputer.cpp 6 7 btGeometryUtil.cpp 7 8 btQuickprof.cpp … … 14 15 btAlignedObjectArray.h 15 16 btConvexHull.h 17 btConvexHullComputer.h 16 18 btDefaultMotionState.h 17 19 btGeometryUtil.h -
code/trunk/src/external/bullet/LinearMath/btAabbUtil2.h
r5781 r8393 15 15 16 16 17 #ifndef AABB_UTIL218 #define AABB_UTIL217 #ifndef BT_AABB_UTIL2 18 #define BT_AABB_UTIL2 19 19 20 20 #include "btTransform.h" … … 232 232 #endif //USE_BANCHLESS 233 233 234 #endif 235 236 234 #endif //BT_AABB_UTIL2 235 236 -
code/trunk/src/external/bullet/LinearMath/btAlignedObjectArray.h
r8351 r8393 407 407 { 408 408 int first = 0; 409 int last = size() ;409 int last = size()-1; 410 410 411 411 //assume sorted array -
code/trunk/src/external/bullet/LinearMath/btConvexHull.h
r8351 r8393 17 17 ///includes modifications/improvements by John Ratcliff, see BringOutYourDead below. 18 18 19 #ifndef CD_HULL_H20 #define CD_HULL_H19 #ifndef BT_CD_HULL_H 20 #define BT_CD_HULL_H 21 21 22 22 #include "btVector3.h" … … 238 238 239 239 240 #endif 241 240 #endif //BT_CD_HULL_H 241 -
code/trunk/src/external/bullet/LinearMath/btDefaultMotionState.h
r8351 r8393 1 #ifndef DEFAULT_MOTION_STATE_H2 #define DEFAULT_MOTION_STATE_H1 #ifndef BT_DEFAULT_MOTION_STATE_H 2 #define BT_DEFAULT_MOTION_STATE_H 3 3 4 4 #include "btMotionState.h" … … 38 38 }; 39 39 40 #endif // DEFAULT_MOTION_STATE_H40 #endif //BT_DEFAULT_MOTION_STATE_H -
code/trunk/src/external/bullet/LinearMath/btHashMap.h
r8351 r8393 1 /* 2 Bullet Continuous Collision Detection and Physics Library 3 Copyright (c) 2003-2009 Erwin Coumans http://bulletphysics.org 4 5 This software is provided 'as-is', without any express or implied warranty. 6 In no event will the authors be held liable for any damages arising from the use of this software. 7 Permission is granted to anyone to use this software for any purpose, 8 including commercial applications, and to alter it and redistribute it freely, 9 subject to the following restrictions: 10 11 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 12 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 13 3. This notice may not be removed or altered from any source distribution. 14 */ 15 16 1 17 #ifndef BT_HASH_MAP_H 2 18 #define BT_HASH_MAP_H -
code/trunk/src/external/bullet/LinearMath/btIDebugDraw.h
r8351 r8393 15 15 16 16 17 #ifndef IDEBUG_DRAW__H18 #define IDEBUG_DRAW__H17 #ifndef BT_IDEBUG_DRAW__H 18 #define BT_IDEBUG_DRAW__H 19 19 20 20 #include "btVector3.h" … … 310 310 drawLine(trans * btVector3(bbMin[0], bbMax[1], bbMax[2]), trans * btVector3(bbMin[0], bbMin[1], bbMax[2]), color); 311 311 } 312 313 virtual void drawCapsule(btScalar radius, btScalar halfHeight, int upAxis, const btTransform& transform, const btVector3& color) 314 { 315 btVector3 capStart(0.f,0.f,0.f); 316 capStart[upAxis] = -halfHeight; 317 318 btVector3 capEnd(0.f,0.f,0.f); 319 capEnd[upAxis] = halfHeight; 320 321 // Draw the ends 322 { 323 324 btTransform childTransform = transform; 325 childTransform.getOrigin() = transform * capStart; 326 drawSphere(radius, childTransform, color); 327 } 328 329 { 330 btTransform childTransform = transform; 331 childTransform.getOrigin() = transform * capEnd; 332 drawSphere(radius, childTransform, color); 333 } 334 335 // Draw some additional lines 336 btVector3 start = transform.getOrigin(); 337 338 capStart[(upAxis+1)%3] = radius; 339 capEnd[(upAxis+1)%3] = radius; 340 drawLine(start+transform.getBasis() * capStart,start+transform.getBasis() * capEnd, color); 341 capStart[(upAxis+1)%3] = -radius; 342 capEnd[(upAxis+1)%3] = -radius; 343 drawLine(start+transform.getBasis() * capStart,start+transform.getBasis() * capEnd, color); 344 345 capStart[(upAxis+1)%3] = 0.f; 346 capEnd[(upAxis+1)%3] = 0.f; 347 348 capStart[(upAxis+2)%3] = radius; 349 capEnd[(upAxis+2)%3] = radius; 350 drawLine(start+transform.getBasis() * capStart,start+transform.getBasis() * capEnd, color); 351 capStart[(upAxis+2)%3] = -radius; 352 capEnd[(upAxis+2)%3] = -radius; 353 drawLine(start+transform.getBasis() * capStart,start+transform.getBasis() * capEnd, color); 354 } 355 356 virtual void drawCylinder(btScalar radius, btScalar halfHeight, int upAxis, const btTransform& transform, const btVector3& color) 357 { 358 btVector3 start = transform.getOrigin(); 359 btVector3 offsetHeight(0,0,0); 360 offsetHeight[upAxis] = halfHeight; 361 btVector3 offsetRadius(0,0,0); 362 offsetRadius[(upAxis+1)%3] = radius; 363 drawLine(start+transform.getBasis() * (offsetHeight+offsetRadius),start+transform.getBasis() * (-offsetHeight+offsetRadius),color); 364 drawLine(start+transform.getBasis() * (offsetHeight-offsetRadius),start+transform.getBasis() * (-offsetHeight-offsetRadius),color); 365 366 // Drawing top and bottom caps of the cylinder 367 btVector3 yaxis(0,0,0); 368 yaxis[upAxis] = btScalar(1.0); 369 btVector3 xaxis(0,0,0); 370 xaxis[(upAxis+1)%3] = btScalar(1.0); 371 drawArc(start-transform.getBasis()*(offsetHeight),transform.getBasis()*yaxis,transform.getBasis()*xaxis,radius,radius,0,SIMD_2_PI,color,false,btScalar(10.0)); 372 drawArc(start+transform.getBasis()*(offsetHeight),transform.getBasis()*yaxis,transform.getBasis()*xaxis,radius,radius,0,SIMD_2_PI,color,false,btScalar(10.0)); 373 } 374 375 virtual void drawCone(btScalar radius, btScalar height, int upAxis, const btTransform& transform, const btVector3& color) 376 { 377 378 btVector3 start = transform.getOrigin(); 379 380 btVector3 offsetHeight(0,0,0); 381 offsetHeight[upAxis] = height * btScalar(0.5); 382 btVector3 offsetRadius(0,0,0); 383 offsetRadius[(upAxis+1)%3] = radius; 384 btVector3 offset2Radius(0,0,0); 385 offset2Radius[(upAxis+2)%3] = radius; 386 387 drawLine(start+transform.getBasis() * (offsetHeight),start+transform.getBasis() * (-offsetHeight+offsetRadius),color); 388 drawLine(start+transform.getBasis() * (offsetHeight),start+transform.getBasis() * (-offsetHeight-offsetRadius),color); 389 drawLine(start+transform.getBasis() * (offsetHeight),start+transform.getBasis() * (-offsetHeight+offset2Radius),color); 390 drawLine(start+transform.getBasis() * (offsetHeight),start+transform.getBasis() * (-offsetHeight-offset2Radius),color); 391 392 // Drawing the base of the cone 393 btVector3 yaxis(0,0,0); 394 yaxis[upAxis] = btScalar(1.0); 395 btVector3 xaxis(0,0,0); 396 xaxis[(upAxis+1)%3] = btScalar(1.0); 397 drawArc(start-transform.getBasis()*(offsetHeight),transform.getBasis()*yaxis,transform.getBasis()*xaxis,radius,radius,0,SIMD_2_PI,color,false,10.0); 398 } 399 400 virtual void drawPlane(const btVector3& planeNormal, btScalar planeConst, const btTransform& transform, const btVector3& color) 401 { 402 btVector3 planeOrigin = planeNormal * planeConst; 403 btVector3 vec0,vec1; 404 btPlaneSpace1(planeNormal,vec0,vec1); 405 btScalar vecLen = 100.f; 406 btVector3 pt0 = planeOrigin + vec0*vecLen; 407 btVector3 pt1 = planeOrigin - vec0*vecLen; 408 btVector3 pt2 = planeOrigin + vec1*vecLen; 409 btVector3 pt3 = planeOrigin - vec1*vecLen; 410 drawLine(transform*pt0,transform*pt1,color); 411 drawLine(transform*pt2,transform*pt3,color); 412 } 312 413 }; 313 414 314 415 315 #endif // IDEBUG_DRAW__H316 416 #endif //BT_IDEBUG_DRAW__H 417 -
code/trunk/src/external/bullet/LinearMath/btList.h
r5781 r8393 15 15 16 16 17 #ifndef GEN_LIST_H18 #define GEN_LIST_H17 #ifndef BT_GEN_LIST_H 18 #define BT_GEN_LIST_H 19 19 20 20 class btGEN_Link { … … 68 68 }; 69 69 70 #endif 70 #endif //BT_GEN_LIST_H 71 71 72 72 -
code/trunk/src/external/bullet/LinearMath/btMatrix3x3.h
r8351 r8393 111 111 btMatrix3x3& operator*=(const btMatrix3x3& m); 112 112 113 /** @brief Set from a carray of btScalars 114 * @param m A pointer to the beginning of an array of 9 btScalars */ 113 /** @brief Adds by the target matrix on the right 114 * @param m matrix to be applied 115 * Equivilant to this = this + m */ 116 btMatrix3x3& operator+=(const btMatrix3x3& m); 117 118 /** @brief Substractss by the target matrix on the right 119 * @param m matrix to be applied 120 * Equivilant to this = this - m */ 121 btMatrix3x3& operator-=(const btMatrix3x3& m); 122 123 /** @brief Set from the rotational part of a 4x4 OpenGL matrix 124 * @param m A pointer to the beginning of the array of scalars*/ 115 125 void setFromOpenGLSubMatrix(const btScalar *m) 116 126 { … … 209 219 } 210 220 211 /**@brief Fill the values of the matrix into a 9 element array221 /**@brief Fill the rotational part of an OpenGL matrix and clear the shear/perspective 212 222 * @param m The array to be filled */ 213 223 void getOpenGLSubMatrix(btScalar *m) const … … 524 534 } 525 535 536 SIMD_FORCE_INLINE btMatrix3x3& 537 btMatrix3x3::operator+=(const btMatrix3x3& m) 538 { 539 setValue( 540 m_el[0][0]+m.m_el[0][0], 541 m_el[0][1]+m.m_el[0][1], 542 m_el[0][2]+m.m_el[0][2], 543 m_el[1][0]+m.m_el[1][0], 544 m_el[1][1]+m.m_el[1][1], 545 m_el[1][2]+m.m_el[1][2], 546 m_el[2][0]+m.m_el[2][0], 547 m_el[2][1]+m.m_el[2][1], 548 m_el[2][2]+m.m_el[2][2]); 549 return *this; 550 } 551 552 SIMD_FORCE_INLINE btMatrix3x3 553 operator*(const btMatrix3x3& m, const btScalar & k) 554 { 555 return btMatrix3x3( 556 m[0].x()*k,m[0].y()*k,m[0].z()*k, 557 m[1].x()*k,m[1].y()*k,m[1].z()*k, 558 m[2].x()*k,m[2].y()*k,m[2].z()*k); 559 } 560 561 SIMD_FORCE_INLINE btMatrix3x3 562 operator+(const btMatrix3x3& m1, const btMatrix3x3& m2) 563 { 564 return btMatrix3x3( 565 m1[0][0]+m2[0][0], 566 m1[0][1]+m2[0][1], 567 m1[0][2]+m2[0][2], 568 m1[1][0]+m2[1][0], 569 m1[1][1]+m2[1][1], 570 m1[1][2]+m2[1][2], 571 m1[2][0]+m2[2][0], 572 m1[2][1]+m2[2][1], 573 m1[2][2]+m2[2][2]); 574 } 575 576 SIMD_FORCE_INLINE btMatrix3x3 577 operator-(const btMatrix3x3& m1, const btMatrix3x3& m2) 578 { 579 return btMatrix3x3( 580 m1[0][0]-m2[0][0], 581 m1[0][1]-m2[0][1], 582 m1[0][2]-m2[0][2], 583 m1[1][0]-m2[1][0], 584 m1[1][1]-m2[1][1], 585 m1[1][2]-m2[1][2], 586 m1[2][0]-m2[2][0], 587 m1[2][1]-m2[2][1], 588 m1[2][2]-m2[2][2]); 589 } 590 591 592 SIMD_FORCE_INLINE btMatrix3x3& 593 btMatrix3x3::operator-=(const btMatrix3x3& m) 594 { 595 setValue( 596 m_el[0][0]-m.m_el[0][0], 597 m_el[0][1]-m.m_el[0][1], 598 m_el[0][2]-m.m_el[0][2], 599 m_el[1][0]-m.m_el[1][0], 600 m_el[1][1]-m.m_el[1][1], 601 m_el[1][2]-m.m_el[1][2], 602 m_el[2][0]-m.m_el[2][0], 603 m_el[2][1]-m.m_el[2][1], 604 m_el[2][2]-m.m_el[2][2]); 605 return *this; 606 } 607 608 526 609 SIMD_FORCE_INLINE btScalar 527 610 btMatrix3x3::determinant() const -
code/trunk/src/external/bullet/LinearMath/btMinMax.h
r8351 r8393 15 15 16 16 17 #ifndef GEN_MINMAX_H18 #define GEN_MINMAX_H17 #ifndef BT_GEN_MINMAX_H 18 #define BT_GEN_MINMAX_H 19 19 20 20 #include "LinearMath/btScalar.h" … … 69 69 } 70 70 71 #endif 71 #endif //BT_GEN_MINMAX_H -
code/trunk/src/external/bullet/LinearMath/btPoolAllocator.h
r8351 r8393 63 63 } 64 64 65 int getMaxCount() const 66 { 67 return m_maxElements; 68 } 69 65 70 void* allocate(int size) 66 71 { -
code/trunk/src/external/bullet/LinearMath/btQuadWord.h
r5781 r8393 14 14 15 15 16 #ifndef SIMD_QUADWORD_H17 #define SIMD_QUADWORD_H16 #ifndef BT_SIMD_QUADWORD_H 17 #define BT_SIMD_QUADWORD_H 18 18 19 19 #include "btScalar.h" … … 178 178 }; 179 179 180 #endif // SIMD_QUADWORD_H180 #endif //BT_SIMD_QUADWORD_H -
code/trunk/src/external/bullet/LinearMath/btQuaternion.h
r8351 r8393 15 15 16 16 17 #ifndef SIMD__QUATERNION_H_18 #define SIMD__QUATERNION_H_17 #ifndef BT_SIMD__QUATERNION_H_ 18 #define BT_SIMD__QUATERNION_H_ 19 19 20 20 … … 427 427 } 428 428 429 #endif 430 431 432 433 429 #endif //BT_SIMD__QUATERNION_H_ 430 431 432 433 -
code/trunk/src/external/bullet/LinearMath/btQuickprof.h
r8351 r8393 13 13 14 14 15 #ifndef QUICK_PROF_H16 #define QUICK_PROF_H15 #ifndef BT_QUICK_PROF_H 16 #define BT_QUICK_PROF_H 17 17 18 18 //To disable built-in profiling, please comment out next line … … 192 192 193 193 194 #endif // QUICK_PROF_H194 #endif //BT_QUICK_PROF_H 195 195 196 196 -
code/trunk/src/external/bullet/LinearMath/btRandom.h
r5781 r8393 15 15 16 16 17 #ifndef GEN_RANDOM_H18 #define GEN_RANDOM_H17 #ifndef BT_GEN_RANDOM_H 18 #define BT_GEN_RANDOM_H 19 19 20 20 #ifdef MT19937 … … 39 39 #endif 40 40 41 #endif 41 #endif //BT_GEN_RANDOM_H 42 42 -
code/trunk/src/external/bullet/LinearMath/btScalar.h
r8351 r8393 15 15 16 16 17 #ifndef SIMD___SCALAR_H18 #define SIMD___SCALAR_H17 #ifndef BT_SCALAR_H 18 #define BT_SCALAR_H 19 19 20 20 #ifdef BT_MANAGED_CODE … … 26 26 #include <math.h> 27 27 #include <stdlib.h>//size_t for MSVC 6.0 28 #include <cstdlib>29 #include <cfloat>30 28 #include <float.h> 31 29 32 30 /* SVN $Revision$ on $Date$ from http://bullet.googlecode.com*/ 33 #define BT_BULLET_VERSION 27 731 #define BT_BULLET_VERSION 278 34 32 35 33 inline int btGetVersion() … … 287 285 SIMD_FORCE_INLINE btScalar btExp(btScalar x) { return expf(x); } 288 286 SIMD_FORCE_INLINE btScalar btLog(btScalar x) { return logf(x); } 289 #if defined( __MINGW32__ ) 290 SIMD_FORCE_INLINE btScalar btPow(btScalar x,btScalar y) { return pow(x,y); } 291 #else 292 SIMD_FORCE_INLINE btScalar btPow(btScalar x,btScalar y) { return powf(x,y); } 293 #endif 287 SIMD_FORCE_INLINE btScalar btPow(btScalar x,btScalar y) { return powf(x,y); } 294 288 SIMD_FORCE_INLINE btScalar btFmod(btScalar x,btScalar y) { return fmodf(x,y); } 295 289 … … 526 520 } 527 521 }; 528 #endif // SIMD___SCALAR_H522 #endif //BT_SCALAR_H -
code/trunk/src/external/bullet/LinearMath/btSerializer.cpp
r8351 r8393 1 unsigned char sBulletDNAstr 64[]= {2 83,68,78,65,78,65,77,69, -79,0,0,0,109,95,115,105,122,101,0,109,1 unsigned char sBulletDNAstr[]= { 2 83,68,78,65,78,65,77,69,42,1,0,0,109,95,115,105,122,101,0,109, 3 3 95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95, 4 4 99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111, … … 41 41 97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0, 42 42 109,95,118,97,108,117,101,0,109,95,112,97,100,91,50,93,0,109,95,118, 43 97,108,117,101,115,91,51,93,0,42,109,95,118,101,114,116,105,99,101,115, 44 51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,42,109,95, 45 105,110,100,105,99,101,115,51,50,0,42,109,95,51,105,110,100,105,99,101, 46 115,49,54,0,42,109,95,105,110,100,105,99,101,115,49,54,0,109,95,110, 47 117,109,84,114,105,97,110,103,108,101,115,0,109,95,110,117,109,86,101,114, 48 116,105,99,101,115,0,42,109,95,109,101,115,104,80,97,114,116,115,80,116, 49 114,0,109,95,115,99,97,108,105,110,103,0,109,95,110,117,109,77,101,115, 50 104,80,97,114,116,115,0,109,95,109,101,115,104,73,110,116,101,114,102,97, 51 99,101,0,42,109,95,113,117,97,110,116,105,122,101,100,70,108,111,97,116, 52 66,118,104,0,42,109,95,113,117,97,110,116,105,122,101,100,68,111,117,98, 53 108,101,66,118,104,0,42,109,95,116,114,105,97,110,103,108,101,73,110,102, 54 111,77,97,112,0,109,95,112,97,100,51,91,52,93,0,109,95,116,114,97, 55 110,115,102,111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101, 56 0,109,95,99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95, 57 99,104,105,108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100, 58 83,104,97,112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83, 59 104,97,112,101,115,0,109,95,117,112,65,120,105,115,0,109,95,102,108,97, 60 103,115,0,109,95,101,100,103,101,86,48,86,49,65,110,103,108,101,0,109, 61 95,101,100,103,101,86,49,86,50,65,110,103,108,101,0,109,95,101,100,103, 62 101,86,50,86,48,65,110,103,108,101,0,42,109,95,104,97,115,104,84,97, 63 98,108,101,80,116,114,0,42,109,95,110,101,120,116,80,116,114,0,42,109, 64 95,118,97,108,117,101,65,114,114,97,121,80,116,114,0,42,109,95,107,101, 65 121,65,114,114,97,121,80,116,114,0,109,95,99,111,110,118,101,120,69,112, 66 115,105,108,111,110,0,109,95,112,108,97,110,97,114,69,112,115,105,108,111, 67 110,0,109,95,101,113,117,97,108,86,101,114,116,101,120,84,104,114,101,115, 68 104,111,108,100,0,109,95,101,100,103,101,68,105,115,116,97,110,99,101,84, 69 104,114,101,115,104,111,108,100,0,109,95,122,101,114,111,65,114,101,97,84, 70 104,114,101,115,104,111,108,100,0,109,95,110,101,120,116,83,105,122,101,0, 71 109,95,104,97,115,104,84,97,98,108,101,83,105,122,101,0,109,95,110,117, 72 109,86,97,108,117,101,115,0,109,95,110,117,109,75,101,121,115,0,109,95, 73 103,105,109,112,97,99,116,83,117,98,84,121,112,101,0,42,109,95,117,110, 74 115,99,97,108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114, 75 0,42,109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111, 76 117,98,108,101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101, 77 100,80,111,105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52, 78 93,0,42,109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108, 79 101,0,42,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0, 80 42,109,95,114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112, 81 101,0,109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109, 82 95,105,110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84, 83 114,97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97, 84 116,105,111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109, 85 95,105,110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97, 86 114,86,101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111, 87 112,105,99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99, 88 116,80,114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100, 89 0,109,95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0, 90 109,95,102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117, 91 116,105,111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109, 92 95,99,99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117, 93 115,0,109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111, 94 108,100,0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70, 95 114,105,99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70, 96 108,97,103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95, 97 99,111,109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97, 98 116,105,111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97, 99 108,84,121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101, 100 87,105,116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101, 101 99,116,68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84, 102 101,110,115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86, 103 101,108,111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108, 104 111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111, 105 114,0,109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103, 106 114,97,118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99, 107 101,108,101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116, 108 105,97,76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101, 109 0,109,95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118, 110 101,114,115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109, 111 112,105,110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110, 112 103,0,109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110, 113 103,70,97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108, 114 76,105,110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111, 115 108,100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110, 116 103,117,108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108, 117 100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103, 118 117,108,97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95, 119 108,105,110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104, 120 111,108,100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110, 121 103,84,104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111, 122 110,97,108,68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115, 123 116,114,97,105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98, 124 65,0,42,109,95,114,98,66,0,109,95,111,98,106,101,99,116,84,121,112, 125 101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,84,121, 126 112,101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,73, 127 100,0,109,95,110,101,101,100,115,70,101,101,100,98,97,99,107,0,109,95, 128 97,112,112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103, 129 68,114,97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111, 130 108,108,105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101, 131 100,66,111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95, 132 116,121,112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109, 133 95,112,105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66, 134 0,109,95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97, 135 109,101,0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97, 136 109,101,65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95, 137 101,110,97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109, 138 95,109,111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121, 139 0,109,95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109, 140 95,108,111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76, 141 105,109,105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115, 142 0,109,95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97, 143 120,97,116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103, 144 83,112,97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109, 145 95,116,119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103, 146 0,109,95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0, 147 109,95,108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109, 148 95,97,110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109, 149 95,97,110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109, 150 95,117,115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70, 151 114,97,109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114, 152 67,111,110,115,116,114,97,105,110,116,70,114,97,109,101,0,84,89,80,69, 153 58,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116, 154 0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111, 155 110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100, 156 0,80,111,105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115, 157 105,99,115,83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98, 158 116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116, 159 86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116, 160 77,97,116,114,105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98, 161 116,77,97,116,114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97, 162 0,98,116,84,114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116, 163 97,0,98,116,84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68, 164 97,116,97,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111, 43 97,108,117,101,115,91,51,93,0,109,95,112,97,100,0,42,109,95,118,101, 44 114,116,105,99,101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115, 45 51,100,0,42,109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,51, 46 105,110,100,105,99,101,115,49,54,0,42,109,95,51,105,110,100,105,99,101, 47 115,56,0,42,109,95,105,110,100,105,99,101,115,49,54,0,109,95,110,117, 48 109,84,114,105,97,110,103,108,101,115,0,109,95,110,117,109,86,101,114,116, 49 105,99,101,115,0,42,109,95,109,101,115,104,80,97,114,116,115,80,116,114, 50 0,109,95,115,99,97,108,105,110,103,0,109,95,110,117,109,77,101,115,104, 51 80,97,114,116,115,0,109,95,109,101,115,104,73,110,116,101,114,102,97,99, 52 101,0,42,109,95,113,117,97,110,116,105,122,101,100,70,108,111,97,116,66, 53 118,104,0,42,109,95,113,117,97,110,116,105,122,101,100,68,111,117,98,108, 54 101,66,118,104,0,42,109,95,116,114,105,97,110,103,108,101,73,110,102,111, 55 77,97,112,0,109,95,112,97,100,51,91,52,93,0,109,95,116,114,105,109, 56 101,115,104,83,104,97,112,101,68,97,116,97,0,109,95,116,114,97,110,115, 57 102,111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109, 58 95,99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104, 59 105,108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104, 60 97,112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97, 61 112,101,115,0,109,95,117,112,65,120,105,115,0,109,95,102,108,97,103,115, 62 0,109,95,101,100,103,101,86,48,86,49,65,110,103,108,101,0,109,95,101, 63 100,103,101,86,49,86,50,65,110,103,108,101,0,109,95,101,100,103,101,86, 64 50,86,48,65,110,103,108,101,0,42,109,95,104,97,115,104,84,97,98,108, 65 101,80,116,114,0,42,109,95,110,101,120,116,80,116,114,0,42,109,95,118, 66 97,108,117,101,65,114,114,97,121,80,116,114,0,42,109,95,107,101,121,65, 67 114,114,97,121,80,116,114,0,109,95,99,111,110,118,101,120,69,112,115,105, 68 108,111,110,0,109,95,112,108,97,110,97,114,69,112,115,105,108,111,110,0, 69 109,95,101,113,117,97,108,86,101,114,116,101,120,84,104,114,101,115,104,111, 70 108,100,0,109,95,101,100,103,101,68,105,115,116,97,110,99,101,84,104,114, 71 101,115,104,111,108,100,0,109,95,122,101,114,111,65,114,101,97,84,104,114, 72 101,115,104,111,108,100,0,109,95,110,101,120,116,83,105,122,101,0,109,95, 73 104,97,115,104,84,97,98,108,101,83,105,122,101,0,109,95,110,117,109,86, 74 97,108,117,101,115,0,109,95,110,117,109,75,101,121,115,0,109,95,103,105, 75 109,112,97,99,116,83,117,98,84,121,112,101,0,42,109,95,117,110,115,99, 76 97,108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42, 77 109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98, 78 108,101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80, 79 111,105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0, 80 42,109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0, 81 42,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109, 82 95,114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0, 83 109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105, 84 110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97, 85 110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105, 86 111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105, 87 110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86, 88 101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105, 89 99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80, 90 114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109, 91 95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95, 92 102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105, 93 111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99, 94 99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0, 95 109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100, 96 0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105, 97 99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97, 98 103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111, 99 109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105, 100 111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84, 101 121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105, 102 116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116, 103 68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110, 104 115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108, 105 111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99, 106 105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0, 107 109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97, 108 118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108, 109 101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97, 110 76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109, 111 95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114, 112 115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105, 113 110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0, 114 109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70, 115 97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105, 116 110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100, 117 83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117, 118 108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83, 119 113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108, 120 97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105, 121 110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108, 122 100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84, 123 104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97, 124 108,68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115,116,114, 125 97,105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98,65,0, 126 42,109,95,114,98,66,0,109,95,111,98,106,101,99,116,84,121,112,101,0, 127 109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,84,121,112,101, 128 0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,73,100,0, 129 109,95,110,101,101,100,115,70,101,101,100,98,97,99,107,0,109,95,97,112, 130 112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103,68,114, 131 97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111,108,108, 132 105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101,100,66, 133 111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95,116,121, 134 112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112, 135 105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109, 136 95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101, 137 0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101, 138 65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110, 139 97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109, 140 111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109, 141 95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108, 142 111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109, 143 105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109, 144 95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97, 145 116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112, 146 97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116, 147 119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109, 148 95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95, 149 108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97, 150 110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97, 151 110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117, 152 115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97, 153 109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111, 154 110,115,116,114,97,105,110,116,70,114,97,109,101,0,109,95,54,100,111,102, 155 68,97,116,97,0,109,95,115,112,114,105,110,103,69,110,97,98,108,101,100, 156 91,54,93,0,109,95,101,113,117,105,108,105,98,114,105,117,109,80,111,105, 157 110,116,91,54,93,0,109,95,115,112,114,105,110,103,83,116,105,102,102,110, 158 101,115,115,91,54,93,0,109,95,115,112,114,105,110,103,68,97,109,112,105, 159 110,103,91,54,93,0,109,95,108,105,110,101,97,114,83,116,105,102,102,110, 160 101,115,115,0,109,95,97,110,103,117,108,97,114,83,116,105,102,102,110,101, 161 115,115,0,109,95,118,111,108,117,109,101,83,116,105,102,102,110,101,115,115, 162 0,42,109,95,109,97,116,101,114,105,97,108,0,109,95,112,111,115,105,116, 163 105,111,110,0,109,95,112,114,101,118,105,111,117,115,80,111,115,105,116,105, 164 111,110,0,109,95,118,101,108,111,99,105,116,121,0,109,95,97,99,99,117, 165 109,117,108,97,116,101,100,70,111,114,99,101,0,109,95,110,111,114,109,97, 166 108,0,109,95,97,114,101,97,0,109,95,97,116,116,97,99,104,0,109,95, 167 110,111,100,101,73,110,100,105,99,101,115,91,50,93,0,109,95,114,101,115, 168 116,76,101,110,103,116,104,0,109,95,98,98,101,110,100,105,110,103,0,109, 169 95,110,111,100,101,73,110,100,105,99,101,115,91,51,93,0,109,95,114,101, 170 115,116,65,114,101,97,0,109,95,99,48,91,52,93,0,109,95,110,111,100, 171 101,73,110,100,105,99,101,115,91,52,93,0,109,95,114,101,115,116,86,111, 172 108,117,109,101,0,109,95,99,49,0,109,95,99,50,0,109,95,99,48,0, 173 109,95,108,111,99,97,108,70,114,97,109,101,0,42,109,95,114,105,103,105, 174 100,66,111,100,121,0,109,95,110,111,100,101,73,110,100,101,120,0,109,95, 175 97,101,114,111,77,111,100,101,108,0,109,95,98,97,117,109,103,97,114,116, 176 101,0,109,95,100,114,97,103,0,109,95,108,105,102,116,0,109,95,112,114, 177 101,115,115,117,114,101,0,109,95,118,111,108,117,109,101,0,109,95,100,121, 178 110,97,109,105,99,70,114,105,99,116,105,111,110,0,109,95,112,111,115,101, 179 77,97,116,99,104,0,109,95,114,105,103,105,100,67,111,110,116,97,99,116, 180 72,97,114,100,110,101,115,115,0,109,95,107,105,110,101,116,105,99,67,111, 181 110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116, 182 67,111,110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,97,110, 183 99,104,111,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,82, 184 105,103,105,100,67,108,117,115,116,101,114,72,97,114,100,110,101,115,115,0, 185 109,95,115,111,102,116,75,105,110,101,116,105,99,67,108,117,115,116,101,114, 186 72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,83,111,102,116,67, 187 108,117,115,116,101,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102, 188 116,82,105,103,105,100,67,108,117,115,116,101,114,73,109,112,117,108,115,101, 189 83,112,108,105,116,0,109,95,115,111,102,116,75,105,110,101,116,105,99,67, 190 108,117,115,116,101,114,73,109,112,117,108,115,101,83,112,108,105,116,0,109, 191 95,115,111,102,116,83,111,102,116,67,108,117,115,116,101,114,73,109,112,117, 192 108,115,101,83,112,108,105,116,0,109,95,109,97,120,86,111,108,117,109,101, 193 0,109,95,116,105,109,101,83,99,97,108,101,0,109,95,118,101,108,111,99, 194 105,116,121,73,116,101,114,97,116,105,111,110,115,0,109,95,112,111,115,105, 195 116,105,111,110,73,116,101,114,97,116,105,111,110,115,0,109,95,100,114,105, 196 102,116,73,116,101,114,97,116,105,111,110,115,0,109,95,99,108,117,115,116, 197 101,114,73,116,101,114,97,116,105,111,110,115,0,109,95,114,111,116,0,109, 198 95,115,99,97,108,101,0,109,95,97,113,113,0,109,95,99,111,109,0,42, 199 109,95,112,111,115,105,116,105,111,110,115,0,42,109,95,119,101,105,103,104, 200 116,115,0,109,95,110,117,109,80,111,115,105,116,105,111,110,115,0,109,95, 201 110,117,109,87,101,105,103,116,115,0,109,95,98,118,111,108,117,109,101,0, 202 109,95,98,102,114,97,109,101,0,109,95,102,114,97,109,101,120,102,111,114, 203 109,0,109,95,108,111,99,105,105,0,109,95,105,110,118,119,105,0,109,95, 204 118,105,109,112,117,108,115,101,115,91,50,93,0,109,95,100,105,109,112,117, 205 108,115,101,115,91,50,93,0,109,95,108,118,0,109,95,97,118,0,42,109, 206 95,102,114,97,109,101,114,101,102,115,0,42,109,95,110,111,100,101,73,110, 207 100,105,99,101,115,0,42,109,95,109,97,115,115,101,115,0,109,95,110,117, 208 109,70,114,97,109,101,82,101,102,115,0,109,95,110,117,109,78,111,100,101, 209 115,0,109,95,110,117,109,77,97,115,115,101,115,0,109,95,105,100,109,97, 210 115,115,0,109,95,105,109,97,115,115,0,109,95,110,118,105,109,112,117,108, 211 115,101,115,0,109,95,110,100,105,109,112,117,108,115,101,115,0,109,95,110, 212 100,97,109,112,105,110,103,0,109,95,108,100,97,109,112,105,110,103,0,109, 213 95,97,100,97,109,112,105,110,103,0,109,95,109,97,116,99,104,105,110,103, 214 0,109,95,109,97,120,83,101,108,102,67,111,108,108,105,115,105,111,110,73, 215 109,112,117,108,115,101,0,109,95,115,101,108,102,67,111,108,108,105,115,105, 216 111,110,73,109,112,117,108,115,101,70,97,99,116,111,114,0,109,95,99,111, 217 110,116,97,105,110,115,65,110,99,104,111,114,0,109,95,99,111,108,108,105, 218 100,101,0,109,95,99,108,117,115,116,101,114,73,110,100,101,120,0,42,109, 219 95,98,111,100,121,65,0,42,109,95,98,111,100,121,66,0,109,95,114,101, 220 102,115,91,50,93,0,109,95,99,102,109,0,109,95,101,114,112,0,109,95, 221 115,112,108,105,116,0,109,95,100,101,108,101,116,101,0,109,95,114,101,108, 222 80,111,115,105,116,105,111,110,91,50,93,0,109,95,98,111,100,121,65,116, 223 121,112,101,0,109,95,98,111,100,121,66,116,121,112,101,0,109,95,106,111, 224 105,110,116,84,121,112,101,0,42,109,95,112,111,115,101,0,42,42,109,95, 225 109,97,116,101,114,105,97,108,115,0,42,109,95,110,111,100,101,115,0,42, 226 109,95,108,105,110,107,115,0,42,109,95,102,97,99,101,115,0,42,109,95, 227 116,101,116,114,97,104,101,100,114,97,0,42,109,95,97,110,99,104,111,114, 228 115,0,42,109,95,99,108,117,115,116,101,114,115,0,42,109,95,106,111,105, 229 110,116,115,0,109,95,110,117,109,77,97,116,101,114,105,97,108,115,0,109, 230 95,110,117,109,76,105,110,107,115,0,109,95,110,117,109,70,97,99,101,115, 231 0,109,95,110,117,109,84,101,116,114,97,104,101,100,114,97,0,109,95,110, 232 117,109,65,110,99,104,111,114,115,0,109,95,110,117,109,67,108,117,115,116, 233 101,114,115,0,109,95,110,117,109,74,111,105,110,116,115,0,109,95,99,111, 234 110,102,105,103,0,0,0,0,84,89,80,69,72,0,0,0,99,104,97,114, 235 0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0, 236 105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116, 237 0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114, 238 65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101, 239 109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51, 240 70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68, 241 111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120, 242 51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51, 243 120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115, 244 102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110, 245 115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118, 246 104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79, 247 112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116, 165 248 68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78, 166 111,100,101,70,108,111,97,116,68,97,116,97,0,98,116,79,112,116,105,109, 167 105,122,101,100,66,118,104,78,111,100,101,68,111,117,98,108,101,68,97,116, 168 97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101, 169 68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70, 170 108,111,97,116,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100, 171 66,118,104,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108, 172 105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,98,116,83,116,97, 173 116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,98,116, 174 67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68, 175 97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100, 176 105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97, 177 112,101,68,97,116,97,0,98,116,73,110,116,73,110,100,101,120,68,97,116, 178 97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,68,97,116, 179 97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105, 180 112,108,101,116,68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68, 181 97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110, 182 116,101,114,102,97,99,101,68,97,116,97,0,98,116,84,114,105,97,110,103, 183 108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,84,114, 184 105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0,98,116, 185 67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97, 186 116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97, 187 116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97, 188 116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116, 189 97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97, 190 0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,68, 191 97,116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112, 192 101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106, 193 101,99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108, 194 105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97, 195 0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116, 196 97,0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101,68, 197 97,116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102,111, 198 49,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68, 199 97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97,0, 200 98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97, 201 105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110,116, 202 50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117,98, 203 108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114, 204 97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110, 205 103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116, 206 97,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97, 207 105,110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68,111, 208 102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108, 209 105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0, 210 84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0, 211 8,0,0,0,16,0,48,0,16,0,16,0,32,0,48,0,96,0,64,0, 212 -128,0,20,0,48,0,80,0,16,0,96,0,-112,0,16,0,56,0,56,0, 213 20,0,72,0,4,0,4,0,8,0,48,0,32,0,80,0,72,0,80,0, 214 32,0,64,0,64,0,16,0,72,0,80,0,-40,1,8,1,-16,1,-88,3, 215 8,0,56,0,0,0,88,0,120,0,96,1,-32,0,-40,0,0,1,-48,0, 216 83,84,82,67,47,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0, 217 9,0,2,0,11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0, 218 12,0,2,0,9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0, 219 14,0,1,0,8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0, 220 14,0,9,0,17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0, 221 16,0,10,0,14,0,11,0,19,0,4,0,4,0,12,0,4,0,13,0, 222 2,0,14,0,2,0,15,0,20,0,6,0,13,0,16,0,13,0,17,0, 223 4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,21,0,6,0, 224 14,0,16,0,14,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0, 225 0,0,21,0,22,0,3,0,2,0,14,0,2,0,15,0,4,0,22,0, 226 23,0,12,0,13,0,23,0,13,0,24,0,13,0,25,0,4,0,26,0, 227 4,0,27,0,4,0,28,0,4,0,29,0,20,0,30,0,22,0,31,0, 228 19,0,32,0,4,0,33,0,4,0,34,0,24,0,12,0,14,0,23,0, 229 14,0,24,0,14,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0, 230 4,0,29,0,21,0,30,0,22,0,31,0,4,0,33,0,4,0,34,0, 231 19,0,32,0,25,0,3,0,0,0,35,0,4,0,36,0,0,0,37,0, 232 26,0,5,0,25,0,38,0,13,0,39,0,13,0,40,0,7,0,41,0, 233 0,0,21,0,27,0,5,0,25,0,38,0,13,0,39,0,13,0,42,0, 234 7,0,43,0,4,0,44,0,28,0,2,0,13,0,45,0,7,0,46,0, 235 29,0,4,0,27,0,47,0,28,0,48,0,4,0,49,0,0,0,37,0, 236 30,0,1,0,4,0,50,0,31,0,2,0,2,0,50,0,0,0,51,0, 237 32,0,2,0,2,0,52,0,0,0,51,0,33,0,7,0,13,0,53,0, 238 14,0,54,0,30,0,55,0,32,0,56,0,31,0,57,0,4,0,58,0, 239 4,0,59,0,34,0,4,0,33,0,60,0,13,0,61,0,4,0,62,0, 240 0,0,37,0,35,0,7,0,25,0,38,0,34,0,63,0,23,0,64,0, 241 24,0,65,0,36,0,66,0,7,0,43,0,0,0,67,0,37,0,4,0, 242 17,0,68,0,25,0,69,0,4,0,70,0,7,0,71,0,38,0,4,0, 243 25,0,38,0,37,0,72,0,4,0,73,0,7,0,43,0,39,0,3,0, 244 27,0,47,0,4,0,74,0,0,0,37,0,40,0,3,0,27,0,47,0, 245 4,0,74,0,0,0,37,0,41,0,4,0,4,0,75,0,7,0,76,0, 246 7,0,77,0,7,0,78,0,36,0,14,0,4,0,79,0,4,0,80,0, 247 41,0,81,0,4,0,82,0,7,0,83,0,7,0,84,0,7,0,85,0, 248 7,0,86,0,7,0,87,0,4,0,88,0,4,0,89,0,4,0,90,0, 249 4,0,91,0,0,0,37,0,42,0,5,0,25,0,38,0,34,0,63,0, 250 13,0,39,0,7,0,43,0,4,0,92,0,43,0,5,0,27,0,47,0, 251 13,0,93,0,14,0,94,0,4,0,95,0,0,0,96,0,44,0,24,0, 252 9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,18,0,100,0, 253 18,0,101,0,14,0,102,0,14,0,103,0,14,0,104,0,8,0,105,0, 254 8,0,106,0,8,0,107,0,8,0,108,0,8,0,109,0,8,0,110,0, 255 8,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0, 256 4,0,116,0,4,0,117,0,4,0,118,0,0,0,37,0,45,0,23,0, 257 9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,17,0,100,0, 258 17,0,101,0,13,0,102,0,13,0,103,0,13,0,104,0,7,0,105,0, 259 7,0,106,0,7,0,107,0,7,0,108,0,7,0,109,0,7,0,110,0, 260 7,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0, 261 4,0,116,0,4,0,117,0,4,0,118,0,46,0,21,0,45,0,119,0, 262 15,0,120,0,13,0,121,0,13,0,122,0,13,0,123,0,13,0,124,0, 263 13,0,125,0,13,0,126,0,13,0,127,0,13,0,-128,0,13,0,-127,0, 264 7,0,-126,0,7,0,-125,0,7,0,-124,0,7,0,-123,0,7,0,-122,0, 265 7,0,-121,0,7,0,-120,0,7,0,-119,0,7,0,-118,0,4,0,-117,0, 266 47,0,22,0,44,0,119,0,16,0,120,0,14,0,121,0,14,0,122,0, 267 14,0,123,0,14,0,124,0,14,0,125,0,14,0,126,0,14,0,127,0, 268 14,0,-128,0,14,0,-127,0,8,0,-126,0,8,0,-125,0,8,0,-124,0, 269 8,0,-123,0,8,0,-122,0,8,0,-121,0,8,0,-120,0,8,0,-119,0, 270 8,0,-118,0,4,0,-117,0,0,0,37,0,48,0,2,0,4,0,-116,0, 271 4,0,-115,0,49,0,11,0,50,0,-114,0,50,0,-113,0,0,0,35,0, 272 4,0,-112,0,4,0,-111,0,4,0,-110,0,4,0,-109,0,7,0,-108,0, 273 7,0,-107,0,4,0,-106,0,0,0,-105,0,51,0,3,0,49,0,-104,0, 274 13,0,-103,0,13,0,-102,0,52,0,3,0,49,0,-104,0,14,0,-103,0, 275 14,0,-102,0,53,0,13,0,49,0,-104,0,18,0,-101,0,18,0,-100,0, 276 4,0,-99,0,4,0,-98,0,4,0,-97,0,7,0,-96,0,7,0,-95,0, 277 7,0,-94,0,7,0,-93,0,7,0,-92,0,7,0,-91,0,7,0,-90,0, 278 54,0,13,0,49,0,-104,0,17,0,-101,0,17,0,-100,0,4,0,-99,0, 279 4,0,-98,0,4,0,-97,0,7,0,-96,0,7,0,-95,0,7,0,-94,0, 280 7,0,-93,0,7,0,-92,0,7,0,-91,0,7,0,-90,0,55,0,11,0, 281 49,0,-104,0,17,0,-101,0,17,0,-100,0,7,0,-89,0,7,0,-88,0, 282 7,0,-87,0,7,0,-92,0,7,0,-91,0,7,0,-90,0,7,0,-86,0, 283 0,0,21,0,56,0,9,0,49,0,-104,0,17,0,-101,0,17,0,-100,0, 284 13,0,-85,0,13,0,-84,0,13,0,-83,0,13,0,-82,0,4,0,-81,0, 285 4,0,-80,0,57,0,9,0,49,0,-104,0,17,0,-101,0,17,0,-100,0, 286 7,0,-85,0,7,0,-84,0,7,0,-83,0,7,0,-82,0,4,0,-81,0, 287 4,0,-80,0,}; 288 int sBulletDNAlen64= sizeof(sBulletDNAstr64); 289 290 unsigned char sBulletDNAstr[]= { 291 83,68,78,65,78,65,77,69,-79,0,0,0,109,95,115,105,122,101,0,109, 249 111,100,101,68,111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110, 250 116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81, 251 117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97, 252 0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108, 253 101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97, 254 112,101,68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101, 255 83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110, 256 116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111, 257 115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117, 258 108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98, 259 116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, 260 116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, 261 116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97, 262 0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68, 263 97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98, 264 116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97, 265 99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115, 266 104,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108, 267 101,73,110,102,111,77,97,112,68,97,116,97,0,98,116,83,99,97,108,101, 268 100,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97, 269 116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104, 270 105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104, 271 97,112,101,68,97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104, 272 97,112,101,68,97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97, 273 112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102, 274 111,68,97,116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83, 275 104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108, 276 108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105, 277 111,110,79,98,106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98, 278 116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97, 279 116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111, 280 97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111, 281 117,98,108,101,68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110, 282 116,73,110,102,111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114, 283 97,105,110,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121, 284 68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111, 285 110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116, 286 80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110, 287 116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67, 288 111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0, 289 98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111, 290 97,116,68,97,116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111, 291 110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114, 292 105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97, 293 0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103, 294 67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105, 295 100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,83,111, 296 102,116,66,111,100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83, 297 111,102,116,66,111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116, 298 66,111,100,121,76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100, 299 121,70,97,99,101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101, 300 116,114,97,68,97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99, 301 104,111,114,68,97,116,97,0,83,111,102,116,66,111,100,121,67,111,110,102, 302 105,103,68,97,116,97,0,83,111,102,116,66,111,100,121,80,111,115,101,68, 303 97,116,97,0,83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68, 304 97,116,97,0,98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68, 305 97,116,97,0,98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68, 306 97,116,97,0,84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0, 307 4,0,4,0,8,0,0,0,12,0,36,0,8,0,16,0,32,0,48,0, 308 96,0,64,0,-128,0,20,0,48,0,80,0,16,0,84,0,-124,0,12,0, 309 52,0,52,0,20,0,64,0,4,0,4,0,8,0,4,0,32,0,28,0, 310 60,0,56,0,76,0,76,0,24,0,60,0,60,0,16,0,64,0,68,0, 311 -56,1,-8,0,-32,1,-104,3,8,0,44,0,0,0,76,0,108,0,84,1, 312 -44,0,-52,0,-12,0,84,1,-60,0,16,0,100,0,20,0,36,0,100,0, 313 92,0,104,0,-64,0,92,1,104,0,-92,1,83,84,82,67,61,0,0,0, 314 10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0, 315 10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0, 316 9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0, 317 15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0, 318 15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0, 319 19,0,4,0,4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0, 320 20,0,6,0,13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0, 321 4,0,20,0,0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0, 322 4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0, 323 2,0,14,0,2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0, 324 13,0,24,0,13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0, 325 4,0,29,0,20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0, 326 4,0,34,0,24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0, 327 4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0, 328 22,0,31,0,4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0, 329 0,0,35,0,4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0, 330 13,0,39,0,13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0, 331 25,0,38,0,13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0, 332 28,0,2,0,13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0, 333 28,0,48,0,4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0, 334 31,0,2,0,2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0, 335 0,0,51,0,33,0,2,0,0,0,52,0,0,0,53,0,34,0,8,0, 336 13,0,54,0,14,0,55,0,30,0,56,0,32,0,57,0,33,0,58,0, 337 31,0,59,0,4,0,60,0,4,0,61,0,35,0,4,0,34,0,62,0, 338 13,0,63,0,4,0,64,0,0,0,37,0,36,0,7,0,25,0,38,0, 339 35,0,65,0,23,0,66,0,24,0,67,0,37,0,68,0,7,0,43,0, 340 0,0,69,0,38,0,2,0,36,0,70,0,13,0,39,0,39,0,4,0, 341 17,0,71,0,25,0,72,0,4,0,73,0,7,0,74,0,40,0,4,0, 342 25,0,38,0,39,0,75,0,4,0,76,0,7,0,43,0,41,0,3,0, 343 27,0,47,0,4,0,77,0,0,0,37,0,42,0,3,0,27,0,47,0, 344 4,0,77,0,0,0,37,0,43,0,4,0,4,0,78,0,7,0,79,0, 345 7,0,80,0,7,0,81,0,37,0,14,0,4,0,82,0,4,0,83,0, 346 43,0,84,0,4,0,85,0,7,0,86,0,7,0,87,0,7,0,88,0, 347 7,0,89,0,7,0,90,0,4,0,91,0,4,0,92,0,4,0,93,0, 348 4,0,94,0,0,0,37,0,44,0,5,0,25,0,38,0,35,0,65,0, 349 13,0,39,0,7,0,43,0,4,0,95,0,45,0,5,0,27,0,47,0, 350 13,0,96,0,14,0,97,0,4,0,98,0,0,0,99,0,46,0,24,0, 351 9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,18,0,103,0, 352 18,0,104,0,14,0,105,0,14,0,106,0,14,0,107,0,8,0,108,0, 353 8,0,109,0,8,0,110,0,8,0,111,0,8,0,112,0,8,0,113,0, 354 8,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, 355 4,0,119,0,4,0,120,0,4,0,121,0,0,0,37,0,47,0,23,0, 356 9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,17,0,103,0, 357 17,0,104,0,13,0,105,0,13,0,106,0,13,0,107,0,7,0,108,0, 358 7,0,109,0,7,0,110,0,7,0,111,0,7,0,112,0,7,0,113,0, 359 7,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, 360 4,0,119,0,4,0,120,0,4,0,121,0,48,0,21,0,47,0,122,0, 361 15,0,123,0,13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0, 362 13,0,-128,0,13,0,-127,0,13,0,-126,0,13,0,-125,0,13,0,-124,0, 363 7,0,-123,0,7,0,-122,0,7,0,-121,0,7,0,-120,0,7,0,-119,0, 364 7,0,-118,0,7,0,-117,0,7,0,-116,0,7,0,-115,0,4,0,-114,0, 365 49,0,22,0,46,0,122,0,16,0,123,0,14,0,124,0,14,0,125,0, 366 14,0,126,0,14,0,127,0,14,0,-128,0,14,0,-127,0,14,0,-126,0, 367 14,0,-125,0,14,0,-124,0,8,0,-123,0,8,0,-122,0,8,0,-121,0, 368 8,0,-120,0,8,0,-119,0,8,0,-118,0,8,0,-117,0,8,0,-116,0, 369 8,0,-115,0,4,0,-114,0,0,0,37,0,50,0,2,0,4,0,-113,0, 370 4,0,-112,0,51,0,11,0,52,0,-111,0,52,0,-110,0,0,0,35,0, 371 4,0,-109,0,4,0,-108,0,4,0,-107,0,4,0,-106,0,7,0,-105,0, 372 7,0,-104,0,4,0,-103,0,0,0,-102,0,53,0,3,0,51,0,-101,0, 373 13,0,-100,0,13,0,-99,0,54,0,3,0,51,0,-101,0,14,0,-100,0, 374 14,0,-99,0,55,0,13,0,51,0,-101,0,18,0,-98,0,18,0,-97,0, 375 4,0,-96,0,4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0, 376 7,0,-91,0,7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0, 377 56,0,13,0,51,0,-101,0,17,0,-98,0,17,0,-97,0,4,0,-96,0, 378 4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0,7,0,-91,0, 379 7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,57,0,11,0, 380 51,0,-101,0,17,0,-98,0,17,0,-97,0,7,0,-86,0,7,0,-85,0, 381 7,0,-84,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-83,0, 382 0,0,21,0,58,0,9,0,51,0,-101,0,17,0,-98,0,17,0,-97,0, 383 13,0,-82,0,13,0,-81,0,13,0,-80,0,13,0,-79,0,4,0,-78,0, 384 4,0,-77,0,59,0,5,0,58,0,-76,0,4,0,-75,0,7,0,-74,0, 385 7,0,-73,0,7,0,-72,0,60,0,9,0,51,0,-101,0,17,0,-98,0, 386 17,0,-97,0,7,0,-82,0,7,0,-81,0,7,0,-80,0,7,0,-79,0, 387 4,0,-78,0,4,0,-77,0,61,0,4,0,7,0,-71,0,7,0,-70,0, 388 7,0,-69,0,4,0,78,0,62,0,10,0,61,0,-68,0,13,0,-67,0, 389 13,0,-66,0,13,0,-65,0,13,0,-64,0,13,0,-63,0,7,0,-123,0, 390 7,0,-62,0,4,0,-61,0,4,0,53,0,63,0,4,0,61,0,-68,0, 391 4,0,-60,0,7,0,-59,0,4,0,-58,0,64,0,4,0,13,0,-63,0, 392 61,0,-68,0,4,0,-57,0,7,0,-56,0,65,0,7,0,13,0,-55,0, 393 61,0,-68,0,4,0,-54,0,7,0,-53,0,7,0,-52,0,7,0,-51,0, 394 4,0,53,0,66,0,6,0,15,0,-50,0,13,0,-52,0,13,0,-49,0, 395 52,0,-48,0,4,0,-47,0,7,0,-51,0,67,0,26,0,4,0,-46,0, 396 7,0,-45,0,7,0,-83,0,7,0,-44,0,7,0,-43,0,7,0,-42,0, 397 7,0,-41,0,7,0,-40,0,7,0,-39,0,7,0,-38,0,7,0,-37,0, 398 7,0,-36,0,7,0,-35,0,7,0,-34,0,7,0,-33,0,7,0,-32,0, 399 7,0,-31,0,7,0,-30,0,7,0,-29,0,7,0,-28,0,7,0,-27,0, 400 4,0,-26,0,4,0,-25,0,4,0,-24,0,4,0,-23,0,4,0,116,0, 401 68,0,12,0,15,0,-22,0,15,0,-21,0,15,0,-20,0,13,0,-19,0, 402 13,0,-18,0,7,0,-17,0,4,0,-16,0,4,0,-15,0,4,0,-14,0, 403 4,0,-13,0,7,0,-53,0,4,0,53,0,69,0,27,0,17,0,-12,0, 404 15,0,-11,0,15,0,-10,0,13,0,-19,0,13,0,-9,0,13,0,-8,0, 405 13,0,-7,0,13,0,-6,0,13,0,-5,0,4,0,-4,0,7,0,-3,0, 406 4,0,-2,0,4,0,-1,0,4,0,0,1,7,0,1,1,7,0,2,1, 407 4,0,3,1,4,0,4,1,7,0,5,1,7,0,6,1,7,0,7,1, 408 7,0,8,1,7,0,9,1,7,0,10,1,4,0,11,1,4,0,12,1, 409 4,0,13,1,70,0,12,0,9,0,14,1,9,0,15,1,13,0,16,1, 410 7,0,17,1,7,0,18,1,7,0,19,1,4,0,20,1,13,0,21,1, 411 4,0,22,1,4,0,23,1,4,0,24,1,4,0,53,0,71,0,19,0, 412 47,0,122,0,68,0,25,1,61,0,26,1,62,0,27,1,63,0,28,1, 413 64,0,29,1,65,0,30,1,66,0,31,1,69,0,32,1,70,0,33,1, 414 4,0,34,1,4,0,-1,0,4,0,35,1,4,0,36,1,4,0,37,1, 415 4,0,38,1,4,0,39,1,4,0,40,1,67,0,41,1,}; 416 int sBulletDNAlen= sizeof(sBulletDNAstr); 417 unsigned char sBulletDNAstr64[]= { 418 83,68,78,65,78,65,77,69,42,1,0,0,109,95,115,105,122,101,0,109, 292 419 95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95, 293 420 99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111, … … 330 457 97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0, 331 458 109,95,118,97,108,117,101,0,109,95,112,97,100,91,50,93,0,109,95,118, 332 97,108,117,101,115,91,51,93,0,42,109,95,118,101,114,116,105,99,101,115, 333 51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,42,109,95, 334 105,110,100,105,99,101,115,51,50,0,42,109,95,51,105,110,100,105,99,101, 335 115,49,54,0,42,109,95,105,110,100,105,99,101,115,49,54,0,109,95,110, 336 117,109,84,114,105,97,110,103,108,101,115,0,109,95,110,117,109,86,101,114, 337 116,105,99,101,115,0,42,109,95,109,101,115,104,80,97,114,116,115,80,116, 338 114,0,109,95,115,99,97,108,105,110,103,0,109,95,110,117,109,77,101,115, 339 104,80,97,114,116,115,0,109,95,109,101,115,104,73,110,116,101,114,102,97, 340 99,101,0,42,109,95,113,117,97,110,116,105,122,101,100,70,108,111,97,116, 341 66,118,104,0,42,109,95,113,117,97,110,116,105,122,101,100,68,111,117,98, 342 108,101,66,118,104,0,42,109,95,116,114,105,97,110,103,108,101,73,110,102, 343 111,77,97,112,0,109,95,112,97,100,51,91,52,93,0,109,95,116,114,97, 344 110,115,102,111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101, 345 0,109,95,99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95, 346 99,104,105,108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100, 347 83,104,97,112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83, 348 104,97,112,101,115,0,109,95,117,112,65,120,105,115,0,109,95,102,108,97, 349 103,115,0,109,95,101,100,103,101,86,48,86,49,65,110,103,108,101,0,109, 350 95,101,100,103,101,86,49,86,50,65,110,103,108,101,0,109,95,101,100,103, 351 101,86,50,86,48,65,110,103,108,101,0,42,109,95,104,97,115,104,84,97, 352 98,108,101,80,116,114,0,42,109,95,110,101,120,116,80,116,114,0,42,109, 353 95,118,97,108,117,101,65,114,114,97,121,80,116,114,0,42,109,95,107,101, 354 121,65,114,114,97,121,80,116,114,0,109,95,99,111,110,118,101,120,69,112, 355 115,105,108,111,110,0,109,95,112,108,97,110,97,114,69,112,115,105,108,111, 356 110,0,109,95,101,113,117,97,108,86,101,114,116,101,120,84,104,114,101,115, 357 104,111,108,100,0,109,95,101,100,103,101,68,105,115,116,97,110,99,101,84, 358 104,114,101,115,104,111,108,100,0,109,95,122,101,114,111,65,114,101,97,84, 359 104,114,101,115,104,111,108,100,0,109,95,110,101,120,116,83,105,122,101,0, 360 109,95,104,97,115,104,84,97,98,108,101,83,105,122,101,0,109,95,110,117, 361 109,86,97,108,117,101,115,0,109,95,110,117,109,75,101,121,115,0,109,95, 362 103,105,109,112,97,99,116,83,117,98,84,121,112,101,0,42,109,95,117,110, 363 115,99,97,108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114, 364 0,42,109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111, 365 117,98,108,101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101, 366 100,80,111,105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52, 367 93,0,42,109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108, 368 101,0,42,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0, 369 42,109,95,114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112, 370 101,0,109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109, 371 95,105,110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84, 372 114,97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97, 373 116,105,111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109, 374 95,105,110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97, 375 114,86,101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111, 376 112,105,99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99, 377 116,80,114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100, 378 0,109,95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0, 379 109,95,102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117, 380 116,105,111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109, 381 95,99,99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117, 382 115,0,109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111, 383 108,100,0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70, 384 114,105,99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70, 385 108,97,103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95, 386 99,111,109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97, 387 116,105,111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97, 388 108,84,121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101, 389 87,105,116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101, 390 99,116,68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84, 391 101,110,115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86, 392 101,108,111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108, 393 111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111, 394 114,0,109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103, 395 114,97,118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99, 396 101,108,101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116, 397 105,97,76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101, 398 0,109,95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118, 399 101,114,115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109, 400 112,105,110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110, 401 103,0,109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110, 402 103,70,97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108, 403 76,105,110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111, 404 108,100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110, 405 103,117,108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108, 406 100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103, 407 117,108,97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95, 408 108,105,110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104, 409 111,108,100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110, 410 103,84,104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111, 411 110,97,108,68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115, 412 116,114,97,105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98, 413 65,0,42,109,95,114,98,66,0,109,95,111,98,106,101,99,116,84,121,112, 414 101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,84,121, 415 112,101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,73, 416 100,0,109,95,110,101,101,100,115,70,101,101,100,98,97,99,107,0,109,95, 417 97,112,112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103, 418 68,114,97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111, 419 108,108,105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101, 420 100,66,111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95, 421 116,121,112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109, 422 95,112,105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66, 423 0,109,95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97, 424 109,101,0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97, 425 109,101,65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95, 426 101,110,97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109, 427 95,109,111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121, 428 0,109,95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109, 429 95,108,111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76, 430 105,109,105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115, 431 0,109,95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97, 432 120,97,116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103, 433 83,112,97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109, 434 95,116,119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103, 435 0,109,95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0, 436 109,95,108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109, 437 95,97,110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109, 438 95,97,110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109, 439 95,117,115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70, 440 114,97,109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114, 441 67,111,110,115,116,114,97,105,110,116,70,114,97,109,101,0,84,89,80,69, 442 58,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116, 443 0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111, 444 110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100, 445 0,80,111,105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115, 446 105,99,115,83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98, 447 116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116, 448 86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116, 449 77,97,116,114,105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98, 450 116,77,97,116,114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97, 451 0,98,116,84,114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116, 452 97,0,98,116,84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68, 453 97,116,97,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111, 459 97,108,117,101,115,91,51,93,0,109,95,112,97,100,0,42,109,95,118,101, 460 114,116,105,99,101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115, 461 51,100,0,42,109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,51, 462 105,110,100,105,99,101,115,49,54,0,42,109,95,51,105,110,100,105,99,101, 463 115,56,0,42,109,95,105,110,100,105,99,101,115,49,54,0,109,95,110,117, 464 109,84,114,105,97,110,103,108,101,115,0,109,95,110,117,109,86,101,114,116, 465 105,99,101,115,0,42,109,95,109,101,115,104,80,97,114,116,115,80,116,114, 466 0,109,95,115,99,97,108,105,110,103,0,109,95,110,117,109,77,101,115,104, 467 80,97,114,116,115,0,109,95,109,101,115,104,73,110,116,101,114,102,97,99, 468 101,0,42,109,95,113,117,97,110,116,105,122,101,100,70,108,111,97,116,66, 469 118,104,0,42,109,95,113,117,97,110,116,105,122,101,100,68,111,117,98,108, 470 101,66,118,104,0,42,109,95,116,114,105,97,110,103,108,101,73,110,102,111, 471 77,97,112,0,109,95,112,97,100,51,91,52,93,0,109,95,116,114,105,109, 472 101,115,104,83,104,97,112,101,68,97,116,97,0,109,95,116,114,97,110,115, 473 102,111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109, 474 95,99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104, 475 105,108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104, 476 97,112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97, 477 112,101,115,0,109,95,117,112,65,120,105,115,0,109,95,102,108,97,103,115, 478 0,109,95,101,100,103,101,86,48,86,49,65,110,103,108,101,0,109,95,101, 479 100,103,101,86,49,86,50,65,110,103,108,101,0,109,95,101,100,103,101,86, 480 50,86,48,65,110,103,108,101,0,42,109,95,104,97,115,104,84,97,98,108, 481 101,80,116,114,0,42,109,95,110,101,120,116,80,116,114,0,42,109,95,118, 482 97,108,117,101,65,114,114,97,121,80,116,114,0,42,109,95,107,101,121,65, 483 114,114,97,121,80,116,114,0,109,95,99,111,110,118,101,120,69,112,115,105, 484 108,111,110,0,109,95,112,108,97,110,97,114,69,112,115,105,108,111,110,0, 485 109,95,101,113,117,97,108,86,101,114,116,101,120,84,104,114,101,115,104,111, 486 108,100,0,109,95,101,100,103,101,68,105,115,116,97,110,99,101,84,104,114, 487 101,115,104,111,108,100,0,109,95,122,101,114,111,65,114,101,97,84,104,114, 488 101,115,104,111,108,100,0,109,95,110,101,120,116,83,105,122,101,0,109,95, 489 104,97,115,104,84,97,98,108,101,83,105,122,101,0,109,95,110,117,109,86, 490 97,108,117,101,115,0,109,95,110,117,109,75,101,121,115,0,109,95,103,105, 491 109,112,97,99,116,83,117,98,84,121,112,101,0,42,109,95,117,110,115,99, 492 97,108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42, 493 109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98, 494 108,101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80, 495 111,105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0, 496 42,109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0, 497 42,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109, 498 95,114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0, 499 109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105, 500 110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97, 501 110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105, 502 111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105, 503 110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86, 504 101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105, 505 99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80, 506 114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109, 507 95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95, 508 102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105, 509 111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99, 510 99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0, 511 109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100, 512 0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105, 513 99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97, 514 103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111, 515 109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105, 516 111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84, 517 121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105, 518 116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116, 519 68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110, 520 115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108, 521 111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99, 522 105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0, 523 109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97, 524 118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108, 525 101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97, 526 76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109, 527 95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114, 528 115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105, 529 110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0, 530 109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70, 531 97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105, 532 110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100, 533 83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117, 534 108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83, 535 113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108, 536 97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105, 537 110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108, 538 100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84, 539 104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97, 540 108,68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115,116,114, 541 97,105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98,65,0, 542 42,109,95,114,98,66,0,109,95,111,98,106,101,99,116,84,121,112,101,0, 543 109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,84,121,112,101, 544 0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,73,100,0, 545 109,95,110,101,101,100,115,70,101,101,100,98,97,99,107,0,109,95,97,112, 546 112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103,68,114, 547 97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111,108,108, 548 105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101,100,66, 549 111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95,116,121, 550 112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112, 551 105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109, 552 95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101, 553 0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101, 554 65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110, 555 97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109, 556 111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109, 557 95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108, 558 111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109, 559 105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109, 560 95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97, 561 116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112, 562 97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116, 563 119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109, 564 95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95, 565 108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97, 566 110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97, 567 110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117, 568 115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97, 569 109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111, 570 110,115,116,114,97,105,110,116,70,114,97,109,101,0,109,95,54,100,111,102, 571 68,97,116,97,0,109,95,115,112,114,105,110,103,69,110,97,98,108,101,100, 572 91,54,93,0,109,95,101,113,117,105,108,105,98,114,105,117,109,80,111,105, 573 110,116,91,54,93,0,109,95,115,112,114,105,110,103,83,116,105,102,102,110, 574 101,115,115,91,54,93,0,109,95,115,112,114,105,110,103,68,97,109,112,105, 575 110,103,91,54,93,0,109,95,108,105,110,101,97,114,83,116,105,102,102,110, 576 101,115,115,0,109,95,97,110,103,117,108,97,114,83,116,105,102,102,110,101, 577 115,115,0,109,95,118,111,108,117,109,101,83,116,105,102,102,110,101,115,115, 578 0,42,109,95,109,97,116,101,114,105,97,108,0,109,95,112,111,115,105,116, 579 105,111,110,0,109,95,112,114,101,118,105,111,117,115,80,111,115,105,116,105, 580 111,110,0,109,95,118,101,108,111,99,105,116,121,0,109,95,97,99,99,117, 581 109,117,108,97,116,101,100,70,111,114,99,101,0,109,95,110,111,114,109,97, 582 108,0,109,95,97,114,101,97,0,109,95,97,116,116,97,99,104,0,109,95, 583 110,111,100,101,73,110,100,105,99,101,115,91,50,93,0,109,95,114,101,115, 584 116,76,101,110,103,116,104,0,109,95,98,98,101,110,100,105,110,103,0,109, 585 95,110,111,100,101,73,110,100,105,99,101,115,91,51,93,0,109,95,114,101, 586 115,116,65,114,101,97,0,109,95,99,48,91,52,93,0,109,95,110,111,100, 587 101,73,110,100,105,99,101,115,91,52,93,0,109,95,114,101,115,116,86,111, 588 108,117,109,101,0,109,95,99,49,0,109,95,99,50,0,109,95,99,48,0, 589 109,95,108,111,99,97,108,70,114,97,109,101,0,42,109,95,114,105,103,105, 590 100,66,111,100,121,0,109,95,110,111,100,101,73,110,100,101,120,0,109,95, 591 97,101,114,111,77,111,100,101,108,0,109,95,98,97,117,109,103,97,114,116, 592 101,0,109,95,100,114,97,103,0,109,95,108,105,102,116,0,109,95,112,114, 593 101,115,115,117,114,101,0,109,95,118,111,108,117,109,101,0,109,95,100,121, 594 110,97,109,105,99,70,114,105,99,116,105,111,110,0,109,95,112,111,115,101, 595 77,97,116,99,104,0,109,95,114,105,103,105,100,67,111,110,116,97,99,116, 596 72,97,114,100,110,101,115,115,0,109,95,107,105,110,101,116,105,99,67,111, 597 110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116, 598 67,111,110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,97,110, 599 99,104,111,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,82, 600 105,103,105,100,67,108,117,115,116,101,114,72,97,114,100,110,101,115,115,0, 601 109,95,115,111,102,116,75,105,110,101,116,105,99,67,108,117,115,116,101,114, 602 72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,83,111,102,116,67, 603 108,117,115,116,101,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102, 604 116,82,105,103,105,100,67,108,117,115,116,101,114,73,109,112,117,108,115,101, 605 83,112,108,105,116,0,109,95,115,111,102,116,75,105,110,101,116,105,99,67, 606 108,117,115,116,101,114,73,109,112,117,108,115,101,83,112,108,105,116,0,109, 607 95,115,111,102,116,83,111,102,116,67,108,117,115,116,101,114,73,109,112,117, 608 108,115,101,83,112,108,105,116,0,109,95,109,97,120,86,111,108,117,109,101, 609 0,109,95,116,105,109,101,83,99,97,108,101,0,109,95,118,101,108,111,99, 610 105,116,121,73,116,101,114,97,116,105,111,110,115,0,109,95,112,111,115,105, 611 116,105,111,110,73,116,101,114,97,116,105,111,110,115,0,109,95,100,114,105, 612 102,116,73,116,101,114,97,116,105,111,110,115,0,109,95,99,108,117,115,116, 613 101,114,73,116,101,114,97,116,105,111,110,115,0,109,95,114,111,116,0,109, 614 95,115,99,97,108,101,0,109,95,97,113,113,0,109,95,99,111,109,0,42, 615 109,95,112,111,115,105,116,105,111,110,115,0,42,109,95,119,101,105,103,104, 616 116,115,0,109,95,110,117,109,80,111,115,105,116,105,111,110,115,0,109,95, 617 110,117,109,87,101,105,103,116,115,0,109,95,98,118,111,108,117,109,101,0, 618 109,95,98,102,114,97,109,101,0,109,95,102,114,97,109,101,120,102,111,114, 619 109,0,109,95,108,111,99,105,105,0,109,95,105,110,118,119,105,0,109,95, 620 118,105,109,112,117,108,115,101,115,91,50,93,0,109,95,100,105,109,112,117, 621 108,115,101,115,91,50,93,0,109,95,108,118,0,109,95,97,118,0,42,109, 622 95,102,114,97,109,101,114,101,102,115,0,42,109,95,110,111,100,101,73,110, 623 100,105,99,101,115,0,42,109,95,109,97,115,115,101,115,0,109,95,110,117, 624 109,70,114,97,109,101,82,101,102,115,0,109,95,110,117,109,78,111,100,101, 625 115,0,109,95,110,117,109,77,97,115,115,101,115,0,109,95,105,100,109,97, 626 115,115,0,109,95,105,109,97,115,115,0,109,95,110,118,105,109,112,117,108, 627 115,101,115,0,109,95,110,100,105,109,112,117,108,115,101,115,0,109,95,110, 628 100,97,109,112,105,110,103,0,109,95,108,100,97,109,112,105,110,103,0,109, 629 95,97,100,97,109,112,105,110,103,0,109,95,109,97,116,99,104,105,110,103, 630 0,109,95,109,97,120,83,101,108,102,67,111,108,108,105,115,105,111,110,73, 631 109,112,117,108,115,101,0,109,95,115,101,108,102,67,111,108,108,105,115,105, 632 111,110,73,109,112,117,108,115,101,70,97,99,116,111,114,0,109,95,99,111, 633 110,116,97,105,110,115,65,110,99,104,111,114,0,109,95,99,111,108,108,105, 634 100,101,0,109,95,99,108,117,115,116,101,114,73,110,100,101,120,0,42,109, 635 95,98,111,100,121,65,0,42,109,95,98,111,100,121,66,0,109,95,114,101, 636 102,115,91,50,93,0,109,95,99,102,109,0,109,95,101,114,112,0,109,95, 637 115,112,108,105,116,0,109,95,100,101,108,101,116,101,0,109,95,114,101,108, 638 80,111,115,105,116,105,111,110,91,50,93,0,109,95,98,111,100,121,65,116, 639 121,112,101,0,109,95,98,111,100,121,66,116,121,112,101,0,109,95,106,111, 640 105,110,116,84,121,112,101,0,42,109,95,112,111,115,101,0,42,42,109,95, 641 109,97,116,101,114,105,97,108,115,0,42,109,95,110,111,100,101,115,0,42, 642 109,95,108,105,110,107,115,0,42,109,95,102,97,99,101,115,0,42,109,95, 643 116,101,116,114,97,104,101,100,114,97,0,42,109,95,97,110,99,104,111,114, 644 115,0,42,109,95,99,108,117,115,116,101,114,115,0,42,109,95,106,111,105, 645 110,116,115,0,109,95,110,117,109,77,97,116,101,114,105,97,108,115,0,109, 646 95,110,117,109,76,105,110,107,115,0,109,95,110,117,109,70,97,99,101,115, 647 0,109,95,110,117,109,84,101,116,114,97,104,101,100,114,97,0,109,95,110, 648 117,109,65,110,99,104,111,114,115,0,109,95,110,117,109,67,108,117,115,116, 649 101,114,115,0,109,95,110,117,109,74,111,105,110,116,115,0,109,95,99,111, 650 110,102,105,103,0,0,0,0,84,89,80,69,72,0,0,0,99,104,97,114, 651 0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0, 652 105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116, 653 0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114, 654 65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101, 655 109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51, 656 70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68, 657 111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120, 658 51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51, 659 120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115, 660 102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110, 661 115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118, 662 104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79, 663 112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116, 454 664 68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78, 455 111,100,101,70,108,111,97,116,68,97,116,97,0,98,116,79,112,116,105,109, 456 105,122,101,100,66,118,104,78,111,100,101,68,111,117,98,108,101,68,97,116, 457 97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101, 458 68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70, 459 108,111,97,116,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100, 460 66,118,104,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108, 461 105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,98,116,83,116,97, 462 116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,98,116, 463 67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68, 464 97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100, 465 105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97, 466 112,101,68,97,116,97,0,98,116,73,110,116,73,110,100,101,120,68,97,116, 467 97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,68,97,116, 468 97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105, 469 112,108,101,116,68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68, 470 97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110, 471 116,101,114,102,97,99,101,68,97,116,97,0,98,116,84,114,105,97,110,103, 472 108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,84,114, 473 105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0,98,116, 474 67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97, 475 116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97, 476 116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97, 477 116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116, 478 97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97, 479 0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,68, 480 97,116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112, 481 101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106, 482 101,99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108, 483 105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97, 484 0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116, 485 97,0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101,68, 486 97,116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102,111, 487 49,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68, 488 97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97,0, 489 98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97, 490 105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110,116, 491 50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117,98, 492 108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114, 493 97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110, 494 103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116, 495 97,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97, 496 105,110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68,111, 497 102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108, 498 105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0, 499 84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0, 500 8,0,0,0,12,0,36,0,8,0,16,0,32,0,48,0,96,0,64,0, 501 -128,0,20,0,48,0,80,0,16,0,84,0,-124,0,12,0,52,0,52,0, 502 20,0,64,0,4,0,4,0,8,0,28,0,28,0,60,0,56,0,76,0, 503 24,0,60,0,60,0,16,0,64,0,68,0,-56,1,-8,0,-32,1,-104,3, 504 8,0,44,0,0,0,76,0,108,0,84,1,-44,0,-52,0,-12,0,-60,0, 505 83,84,82,67,47,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0, 506 9,0,2,0,11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0, 507 12,0,2,0,9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0, 508 14,0,1,0,8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0, 509 14,0,9,0,17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0, 510 16,0,10,0,14,0,11,0,19,0,4,0,4,0,12,0,4,0,13,0, 511 2,0,14,0,2,0,15,0,20,0,6,0,13,0,16,0,13,0,17,0, 512 4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,21,0,6,0, 513 14,0,16,0,14,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0, 514 0,0,21,0,22,0,3,0,2,0,14,0,2,0,15,0,4,0,22,0, 515 23,0,12,0,13,0,23,0,13,0,24,0,13,0,25,0,4,0,26,0, 516 4,0,27,0,4,0,28,0,4,0,29,0,20,0,30,0,22,0,31,0, 517 19,0,32,0,4,0,33,0,4,0,34,0,24,0,12,0,14,0,23,0, 518 14,0,24,0,14,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0, 519 4,0,29,0,21,0,30,0,22,0,31,0,4,0,33,0,4,0,34,0, 520 19,0,32,0,25,0,3,0,0,0,35,0,4,0,36,0,0,0,37,0, 521 26,0,5,0,25,0,38,0,13,0,39,0,13,0,40,0,7,0,41,0, 522 0,0,21,0,27,0,5,0,25,0,38,0,13,0,39,0,13,0,42,0, 523 7,0,43,0,4,0,44,0,28,0,2,0,13,0,45,0,7,0,46,0, 524 29,0,4,0,27,0,47,0,28,0,48,0,4,0,49,0,0,0,37,0, 525 30,0,1,0,4,0,50,0,31,0,2,0,2,0,50,0,0,0,51,0, 526 32,0,2,0,2,0,52,0,0,0,51,0,33,0,7,0,13,0,53,0, 527 14,0,54,0,30,0,55,0,32,0,56,0,31,0,57,0,4,0,58,0, 528 4,0,59,0,34,0,4,0,33,0,60,0,13,0,61,0,4,0,62,0, 529 0,0,37,0,35,0,7,0,25,0,38,0,34,0,63,0,23,0,64,0, 530 24,0,65,0,36,0,66,0,7,0,43,0,0,0,67,0,37,0,4,0, 531 17,0,68,0,25,0,69,0,4,0,70,0,7,0,71,0,38,0,4,0, 532 25,0,38,0,37,0,72,0,4,0,73,0,7,0,43,0,39,0,3,0, 533 27,0,47,0,4,0,74,0,0,0,37,0,40,0,3,0,27,0,47,0, 534 4,0,74,0,0,0,37,0,41,0,4,0,4,0,75,0,7,0,76,0, 535 7,0,77,0,7,0,78,0,36,0,14,0,4,0,79,0,4,0,80,0, 536 41,0,81,0,4,0,82,0,7,0,83,0,7,0,84,0,7,0,85,0, 537 7,0,86,0,7,0,87,0,4,0,88,0,4,0,89,0,4,0,90,0, 538 4,0,91,0,0,0,37,0,42,0,5,0,25,0,38,0,34,0,63,0, 539 13,0,39,0,7,0,43,0,4,0,92,0,43,0,5,0,27,0,47,0, 540 13,0,93,0,14,0,94,0,4,0,95,0,0,0,96,0,44,0,24,0, 541 9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,18,0,100,0, 542 18,0,101,0,14,0,102,0,14,0,103,0,14,0,104,0,8,0,105,0, 543 8,0,106,0,8,0,107,0,8,0,108,0,8,0,109,0,8,0,110,0, 544 8,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0, 545 4,0,116,0,4,0,117,0,4,0,118,0,0,0,37,0,45,0,23,0, 546 9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,17,0,100,0, 547 17,0,101,0,13,0,102,0,13,0,103,0,13,0,104,0,7,0,105,0, 548 7,0,106,0,7,0,107,0,7,0,108,0,7,0,109,0,7,0,110,0, 549 7,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0, 550 4,0,116,0,4,0,117,0,4,0,118,0,46,0,21,0,45,0,119,0, 551 15,0,120,0,13,0,121,0,13,0,122,0,13,0,123,0,13,0,124,0, 552 13,0,125,0,13,0,126,0,13,0,127,0,13,0,-128,0,13,0,-127,0, 553 7,0,-126,0,7,0,-125,0,7,0,-124,0,7,0,-123,0,7,0,-122,0, 554 7,0,-121,0,7,0,-120,0,7,0,-119,0,7,0,-118,0,4,0,-117,0, 555 47,0,22,0,44,0,119,0,16,0,120,0,14,0,121,0,14,0,122,0, 556 14,0,123,0,14,0,124,0,14,0,125,0,14,0,126,0,14,0,127,0, 557 14,0,-128,0,14,0,-127,0,8,0,-126,0,8,0,-125,0,8,0,-124,0, 558 8,0,-123,0,8,0,-122,0,8,0,-121,0,8,0,-120,0,8,0,-119,0, 559 8,0,-118,0,4,0,-117,0,0,0,37,0,48,0,2,0,4,0,-116,0, 560 4,0,-115,0,49,0,11,0,50,0,-114,0,50,0,-113,0,0,0,35,0, 561 4,0,-112,0,4,0,-111,0,4,0,-110,0,4,0,-109,0,7,0,-108,0, 562 7,0,-107,0,4,0,-106,0,0,0,-105,0,51,0,3,0,49,0,-104,0, 563 13,0,-103,0,13,0,-102,0,52,0,3,0,49,0,-104,0,14,0,-103,0, 564 14,0,-102,0,53,0,13,0,49,0,-104,0,18,0,-101,0,18,0,-100,0, 565 4,0,-99,0,4,0,-98,0,4,0,-97,0,7,0,-96,0,7,0,-95,0, 566 7,0,-94,0,7,0,-93,0,7,0,-92,0,7,0,-91,0,7,0,-90,0, 567 54,0,13,0,49,0,-104,0,17,0,-101,0,17,0,-100,0,4,0,-99,0, 568 4,0,-98,0,4,0,-97,0,7,0,-96,0,7,0,-95,0,7,0,-94,0, 569 7,0,-93,0,7,0,-92,0,7,0,-91,0,7,0,-90,0,55,0,11,0, 570 49,0,-104,0,17,0,-101,0,17,0,-100,0,7,0,-89,0,7,0,-88,0, 571 7,0,-87,0,7,0,-92,0,7,0,-91,0,7,0,-90,0,7,0,-86,0, 572 0,0,21,0,56,0,9,0,49,0,-104,0,17,0,-101,0,17,0,-100,0, 573 13,0,-85,0,13,0,-84,0,13,0,-83,0,13,0,-82,0,4,0,-81,0, 574 4,0,-80,0,57,0,9,0,49,0,-104,0,17,0,-101,0,17,0,-100,0, 575 7,0,-85,0,7,0,-84,0,7,0,-83,0,7,0,-82,0,4,0,-81,0, 576 4,0,-80,0,}; 577 int sBulletDNAlen= sizeof(sBulletDNAstr); 665 111,100,101,68,111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110, 666 116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81, 667 117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97, 668 0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108, 669 101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97, 670 112,101,68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101, 671 83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110, 672 116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111, 673 115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117, 674 108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98, 675 116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, 676 116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, 677 116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97, 678 0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68, 679 97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98, 680 116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97, 681 99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115, 682 104,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108, 683 101,73,110,102,111,77,97,112,68,97,116,97,0,98,116,83,99,97,108,101, 684 100,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97, 685 116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104, 686 105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104, 687 97,112,101,68,97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104, 688 97,112,101,68,97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97, 689 112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102, 690 111,68,97,116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83, 691 104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108, 692 108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105, 693 111,110,79,98,106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98, 694 116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97, 695 116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111, 696 97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111, 697 117,98,108,101,68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110, 698 116,73,110,102,111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114, 699 97,105,110,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121, 700 68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111, 701 110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116, 702 80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110, 703 116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67, 704 111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0, 705 98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111, 706 97,116,68,97,116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111, 707 110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114, 708 105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97, 709 0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103, 710 67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105, 711 100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,83,111, 712 102,116,66,111,100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83, 713 111,102,116,66,111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116, 714 66,111,100,121,76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100, 715 121,70,97,99,101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101, 716 116,114,97,68,97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99, 717 104,111,114,68,97,116,97,0,83,111,102,116,66,111,100,121,67,111,110,102, 718 105,103,68,97,116,97,0,83,111,102,116,66,111,100,121,80,111,115,101,68, 719 97,116,97,0,83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68, 720 97,116,97,0,98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68, 721 97,116,97,0,98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68, 722 97,116,97,0,84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0, 723 4,0,4,0,8,0,0,0,16,0,48,0,16,0,16,0,32,0,48,0, 724 96,0,64,0,-128,0,20,0,48,0,80,0,16,0,96,0,-112,0,16,0, 725 56,0,56,0,20,0,72,0,4,0,4,0,8,0,4,0,56,0,32,0, 726 80,0,72,0,96,0,80,0,32,0,64,0,64,0,16,0,72,0,80,0, 727 -40,1,8,1,-16,1,-88,3,8,0,56,0,0,0,88,0,120,0,96,1, 728 -32,0,-40,0,0,1,96,1,-48,0,16,0,104,0,24,0,40,0,104,0, 729 96,0,104,0,-56,0,104,1,112,0,-40,1,83,84,82,67,61,0,0,0, 730 10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0, 731 10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0, 732 9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0, 733 15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0, 734 15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0, 735 19,0,4,0,4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0, 736 20,0,6,0,13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0, 737 4,0,20,0,0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0, 738 4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0, 739 2,0,14,0,2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0, 740 13,0,24,0,13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0, 741 4,0,29,0,20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0, 742 4,0,34,0,24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0, 743 4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0, 744 22,0,31,0,4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0, 745 0,0,35,0,4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0, 746 13,0,39,0,13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0, 747 25,0,38,0,13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0, 748 28,0,2,0,13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0, 749 28,0,48,0,4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0, 750 31,0,2,0,2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0, 751 0,0,51,0,33,0,2,0,0,0,52,0,0,0,53,0,34,0,8,0, 752 13,0,54,0,14,0,55,0,30,0,56,0,32,0,57,0,33,0,58,0, 753 31,0,59,0,4,0,60,0,4,0,61,0,35,0,4,0,34,0,62,0, 754 13,0,63,0,4,0,64,0,0,0,37,0,36,0,7,0,25,0,38,0, 755 35,0,65,0,23,0,66,0,24,0,67,0,37,0,68,0,7,0,43,0, 756 0,0,69,0,38,0,2,0,36,0,70,0,13,0,39,0,39,0,4,0, 757 17,0,71,0,25,0,72,0,4,0,73,0,7,0,74,0,40,0,4,0, 758 25,0,38,0,39,0,75,0,4,0,76,0,7,0,43,0,41,0,3,0, 759 27,0,47,0,4,0,77,0,0,0,37,0,42,0,3,0,27,0,47,0, 760 4,0,77,0,0,0,37,0,43,0,4,0,4,0,78,0,7,0,79,0, 761 7,0,80,0,7,0,81,0,37,0,14,0,4,0,82,0,4,0,83,0, 762 43,0,84,0,4,0,85,0,7,0,86,0,7,0,87,0,7,0,88,0, 763 7,0,89,0,7,0,90,0,4,0,91,0,4,0,92,0,4,0,93,0, 764 4,0,94,0,0,0,37,0,44,0,5,0,25,0,38,0,35,0,65,0, 765 13,0,39,0,7,0,43,0,4,0,95,0,45,0,5,0,27,0,47,0, 766 13,0,96,0,14,0,97,0,4,0,98,0,0,0,99,0,46,0,24,0, 767 9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,18,0,103,0, 768 18,0,104,0,14,0,105,0,14,0,106,0,14,0,107,0,8,0,108,0, 769 8,0,109,0,8,0,110,0,8,0,111,0,8,0,112,0,8,0,113,0, 770 8,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, 771 4,0,119,0,4,0,120,0,4,0,121,0,0,0,37,0,47,0,23,0, 772 9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,17,0,103,0, 773 17,0,104,0,13,0,105,0,13,0,106,0,13,0,107,0,7,0,108,0, 774 7,0,109,0,7,0,110,0,7,0,111,0,7,0,112,0,7,0,113,0, 775 7,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, 776 4,0,119,0,4,0,120,0,4,0,121,0,48,0,21,0,47,0,122,0, 777 15,0,123,0,13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0, 778 13,0,-128,0,13,0,-127,0,13,0,-126,0,13,0,-125,0,13,0,-124,0, 779 7,0,-123,0,7,0,-122,0,7,0,-121,0,7,0,-120,0,7,0,-119,0, 780 7,0,-118,0,7,0,-117,0,7,0,-116,0,7,0,-115,0,4,0,-114,0, 781 49,0,22,0,46,0,122,0,16,0,123,0,14,0,124,0,14,0,125,0, 782 14,0,126,0,14,0,127,0,14,0,-128,0,14,0,-127,0,14,0,-126,0, 783 14,0,-125,0,14,0,-124,0,8,0,-123,0,8,0,-122,0,8,0,-121,0, 784 8,0,-120,0,8,0,-119,0,8,0,-118,0,8,0,-117,0,8,0,-116,0, 785 8,0,-115,0,4,0,-114,0,0,0,37,0,50,0,2,0,4,0,-113,0, 786 4,0,-112,0,51,0,11,0,52,0,-111,0,52,0,-110,0,0,0,35,0, 787 4,0,-109,0,4,0,-108,0,4,0,-107,0,4,0,-106,0,7,0,-105,0, 788 7,0,-104,0,4,0,-103,0,0,0,-102,0,53,0,3,0,51,0,-101,0, 789 13,0,-100,0,13,0,-99,0,54,0,3,0,51,0,-101,0,14,0,-100,0, 790 14,0,-99,0,55,0,13,0,51,0,-101,0,18,0,-98,0,18,0,-97,0, 791 4,0,-96,0,4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0, 792 7,0,-91,0,7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0, 793 56,0,13,0,51,0,-101,0,17,0,-98,0,17,0,-97,0,4,0,-96,0, 794 4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0,7,0,-91,0, 795 7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,57,0,11,0, 796 51,0,-101,0,17,0,-98,0,17,0,-97,0,7,0,-86,0,7,0,-85,0, 797 7,0,-84,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-83,0, 798 0,0,21,0,58,0,9,0,51,0,-101,0,17,0,-98,0,17,0,-97,0, 799 13,0,-82,0,13,0,-81,0,13,0,-80,0,13,0,-79,0,4,0,-78,0, 800 4,0,-77,0,59,0,5,0,58,0,-76,0,4,0,-75,0,7,0,-74,0, 801 7,0,-73,0,7,0,-72,0,60,0,9,0,51,0,-101,0,17,0,-98,0, 802 17,0,-97,0,7,0,-82,0,7,0,-81,0,7,0,-80,0,7,0,-79,0, 803 4,0,-78,0,4,0,-77,0,61,0,4,0,7,0,-71,0,7,0,-70,0, 804 7,0,-69,0,4,0,78,0,62,0,10,0,61,0,-68,0,13,0,-67,0, 805 13,0,-66,0,13,0,-65,0,13,0,-64,0,13,0,-63,0,7,0,-123,0, 806 7,0,-62,0,4,0,-61,0,4,0,53,0,63,0,4,0,61,0,-68,0, 807 4,0,-60,0,7,0,-59,0,4,0,-58,0,64,0,4,0,13,0,-63,0, 808 61,0,-68,0,4,0,-57,0,7,0,-56,0,65,0,7,0,13,0,-55,0, 809 61,0,-68,0,4,0,-54,0,7,0,-53,0,7,0,-52,0,7,0,-51,0, 810 4,0,53,0,66,0,6,0,15,0,-50,0,13,0,-52,0,13,0,-49,0, 811 52,0,-48,0,4,0,-47,0,7,0,-51,0,67,0,26,0,4,0,-46,0, 812 7,0,-45,0,7,0,-83,0,7,0,-44,0,7,0,-43,0,7,0,-42,0, 813 7,0,-41,0,7,0,-40,0,7,0,-39,0,7,0,-38,0,7,0,-37,0, 814 7,0,-36,0,7,0,-35,0,7,0,-34,0,7,0,-33,0,7,0,-32,0, 815 7,0,-31,0,7,0,-30,0,7,0,-29,0,7,0,-28,0,7,0,-27,0, 816 4,0,-26,0,4,0,-25,0,4,0,-24,0,4,0,-23,0,4,0,116,0, 817 68,0,12,0,15,0,-22,0,15,0,-21,0,15,0,-20,0,13,0,-19,0, 818 13,0,-18,0,7,0,-17,0,4,0,-16,0,4,0,-15,0,4,0,-14,0, 819 4,0,-13,0,7,0,-53,0,4,0,53,0,69,0,27,0,17,0,-12,0, 820 15,0,-11,0,15,0,-10,0,13,0,-19,0,13,0,-9,0,13,0,-8,0, 821 13,0,-7,0,13,0,-6,0,13,0,-5,0,4,0,-4,0,7,0,-3,0, 822 4,0,-2,0,4,0,-1,0,4,0,0,1,7,0,1,1,7,0,2,1, 823 4,0,3,1,4,0,4,1,7,0,5,1,7,0,6,1,7,0,7,1, 824 7,0,8,1,7,0,9,1,7,0,10,1,4,0,11,1,4,0,12,1, 825 4,0,13,1,70,0,12,0,9,0,14,1,9,0,15,1,13,0,16,1, 826 7,0,17,1,7,0,18,1,7,0,19,1,4,0,20,1,13,0,21,1, 827 4,0,22,1,4,0,23,1,4,0,24,1,4,0,53,0,71,0,19,0, 828 47,0,122,0,68,0,25,1,61,0,26,1,62,0,27,1,63,0,28,1, 829 64,0,29,1,65,0,30,1,66,0,31,1,69,0,32,1,70,0,33,1, 830 4,0,34,1,4,0,-1,0,4,0,35,1,4,0,36,1,4,0,37,1, 831 4,0,38,1,4,0,39,1,4,0,40,1,67,0,41,1,}; 832 int sBulletDNAlen64= sizeof(sBulletDNAstr64); -
code/trunk/src/external/bullet/LinearMath/btSerializer.h
r8351 r8393 112 112 #endif 113 113 114 #define BT_SOFTBODY_CODE MAKE_ID('S','B','D','Y') 114 115 #define BT_COLLISIONOBJECT_CODE MAKE_ID('C','O','B','J') 115 116 #define BT_RIGIDBODY_CODE MAKE_ID('R','B','D','Y') … … 120 121 #define BT_SHAPE_CODE MAKE_ID('S','H','A','P') 121 122 #define BT_ARRAY_CODE MAKE_ID('A','R','A','Y') 123 #define BT_SBMATERIAL_CODE MAKE_ID('S','B','M','T') 124 #define BT_SBNODE_CODE MAKE_ID('S','B','N','D') 122 125 #define BT_DNA_CODE MAKE_ID('D','N','A','1') 123 124 126 125 127 … … 133 135 }; 134 136 135 137 ///The btDefaultSerializer is the main Bullet serialization class. 138 ///The constructor takes an optional argument for backwards compatibility, it is recommended to leave this empty/zero. 136 139 class btDefaultSerializer : public btSerializer 137 140 { … … 372 375 373 376 374 btDefaultSerializer(int totalSize )377 btDefaultSerializer(int totalSize=0) 375 378 :m_totalSize(totalSize), 376 379 m_currentSize(0), … … 379 382 m_serializationFlags(0) 380 383 { 381 m_buffer = (unsigned char*)btAlignedAlloc(totalSize, 16);384 m_buffer = m_totalSize?(unsigned char*)btAlignedAlloc(totalSize,16):0; 382 385 383 386 const bool VOID_IS_8 = ((sizeof(void*)==8)); … … 420 423 } 421 424 422 virtual void startSerialization() 423 { 424 m_uniqueIdGenerator= 1; 425 426 m_currentSize = BT_HEADER_LENGTH; 425 void writeHeader(unsigned char* buffer) const 426 { 427 427 428 428 429 #ifdef BT_USE_DOUBLE_PRECISION 429 memcpy( m_buffer, "BULLETd", 7);430 memcpy(buffer, "BULLETd", 7); 430 431 #else 431 memcpy( m_buffer, "BULLETf", 7);432 memcpy(buffer, "BULLETf", 7); 432 433 #endif //BT_USE_DOUBLE_PRECISION 433 434 … … 437 438 if (sizeof(void*)==8) 438 439 { 439 m_buffer[7] = '-';440 buffer[7] = '-'; 440 441 } else 441 442 { 442 m_buffer[7] = '_';443 buffer[7] = '_'; 443 444 } 444 445 445 446 if (littleEndian) 446 447 { 447 m_buffer[8]='v';448 buffer[8]='v'; 448 449 } else 449 450 { 450 m_buffer[8]='V'; 451 } 452 453 454 m_buffer[9] = '2'; 455 m_buffer[10] = '7'; 456 m_buffer[11] = '7'; 457 451 buffer[8]='V'; 452 } 453 454 455 buffer[9] = '2'; 456 buffer[10] = '7'; 457 buffer[11] = '8'; 458 459 } 460 461 virtual void startSerialization() 462 { 463 m_uniqueIdGenerator= 1; 464 if (m_totalSize) 465 { 466 unsigned char* buffer = internalAlloc(BT_HEADER_LENGTH); 467 writeHeader(buffer); 468 } 458 469 459 470 } … … 463 474 writeDNA(); 464 475 476 //if we didn't pre-allocate a buffer, we need to create a contiguous buffer now 477 int mysize = 0; 478 if (!m_totalSize) 479 { 480 if (m_buffer) 481 btAlignedFree(m_buffer); 482 483 m_currentSize += BT_HEADER_LENGTH; 484 m_buffer = (unsigned char*)btAlignedAlloc(m_currentSize,16); 485 486 unsigned char* currentPtr = m_buffer; 487 writeHeader(m_buffer); 488 currentPtr += BT_HEADER_LENGTH; 489 mysize+=BT_HEADER_LENGTH; 490 for (int i=0;i< m_chunkPtrs.size();i++) 491 { 492 int curLength = sizeof(btChunk)+m_chunkPtrs[i]->m_length; 493 memcpy(currentPtr,m_chunkPtrs[i], curLength); 494 btAlignedFree(m_chunkPtrs[i]); 495 currentPtr+=curLength; 496 mysize+=curLength; 497 } 498 } 465 499 466 500 mTypes.clear(); … … 472 506 m_nameMap.clear(); 473 507 m_uniquePointers.clear(); 508 m_chunkPtrs.clear(); 474 509 } 475 510 … … 523 558 524 559 560 virtual unsigned char* internalAlloc(size_t size) 561 { 562 unsigned char* ptr = 0; 563 564 if (m_totalSize) 565 { 566 ptr = m_buffer+m_currentSize; 567 m_currentSize += int(size); 568 btAssert(m_currentSize<m_totalSize); 569 } else 570 { 571 ptr = (unsigned char*)btAlignedAlloc(size,16); 572 m_currentSize += int(size); 573 } 574 return ptr; 575 } 525 576 526 577 … … 529 580 { 530 581 531 unsigned char* ptr = m_buffer+m_currentSize; 532 m_currentSize += int(size)*numElements+sizeof(btChunk); 533 btAssert(m_currentSize<m_totalSize); 582 unsigned char* ptr = internalAlloc(int(size)*numElements+sizeof(btChunk)); 534 583 535 584 unsigned char* data = ptr + sizeof(btChunk); -
code/trunk/src/external/bullet/LinearMath/btTransform.h
r8351 r8393 15 15 16 16 17 #ifndef btTransform_H18 #define btTransform_H17 #ifndef BT_TRANSFORM_H 18 #define BT_TRANSFORM_H 19 19 20 20 … … 299 299 300 300 301 #endif 302 303 304 305 306 307 301 #endif //BT_TRANSFORM_H 302 303 304 305 306 307 -
code/trunk/src/external/bullet/LinearMath/btTransformUtil.h
r8351 r8393 14 14 15 15 16 #ifndef SIMD_TRANSFORM_UTIL_H17 #define SIMD_TRANSFORM_UTIL_H16 #ifndef BT_TRANSFORM_UTIL_H 17 #define BT_TRANSFORM_UTIL_H 18 18 19 19 #include "btTransform.h" … … 225 225 226 226 227 #endif // SIMD_TRANSFORM_UTIL_H228 227 #endif //BT_TRANSFORM_UTIL_H 228 -
code/trunk/src/external/bullet/LinearMath/btVector3.h
r8351 r8393 15 15 16 16 17 #ifndef SIMD__VECTOR3_H18 #define SIMD__VECTOR3_H17 #ifndef BT_VECTOR3_H 18 #define BT_VECTOR3_H 19 19 20 20 … … 764 764 765 765 766 #endif // SIMD__VECTOR3_H766 #endif //BT_VECTOR3_H
Note: See TracChangeset
for help on using the changeset viewer.